4.3.7 自動化

Ops Iでは、AnsibleのPlaybookを使用することにより運用業務の自動化を実現できます。また、既存システムなどの運用対象へのアクセスが必要な場合、Vaultを使用したシークレット管理機能により、IDやパスワードなどの管理を安全に行えます。PlaybookはGitLabで管理されています。
ジョブの自動実行の設定手順については、「ジョブ自動実行の設定手順」、自動化の画面操作の詳細については「自動化」、シークレットについては「シークレット管理」を参照してください。

(表)自動化の設計項目と概要

項目 定義手段 設計のポイント
Playbook ・マニフェストファイル
・GUI
随時作業のワークフローで、自動運用にするものと手動運用にするものを分類します。
初期導入を簡略化するには、自動運用は頻度が高いものに絞り、段階的に自動化を拡充します。
Vault ・GUI Playbookでアクセスする対象のクレデンシャル情報を事前に登録します。

(図)自動化の概念図

(図)自動化の概念図 (図)自動化の概念図

たとえば、VMの貸出業務でVMの生成のアクションをPlaybookのマニフェストに定義しておくことで、ワークフローのステップで申請が承認された際に、申請内容に沿ってVMの生成が自動実行されます。

また、以下の業務の自動化も可能です。

  • Ops Iの通知およびメール通知
  • カスタムテーブルの操作

【Ops Iの通知およびメール通知】

Playbookから、Ops I提供部品「opsi.oi.notify」を使用し、Ops Iの通知およびメール通知を行えます。Playbookで指定したタイミングで通知を行い、Playbookで定義したパラメータを埋め込むことができます。
playbookの定義例については「通知を含めたPlaybookの定義例」、opsi.oi.notifyについては「opsi.oi.notify」を参照してください。

【カスタムテーブルの操作】

Playbookから、Ops I提供部品「opsi.oi.graphql」を使用し、カスタムテーブルを操作できます。
playbookの定義例とopsi.oi.graphqlについては「opsi.oi.graphql」を参照してください。

注意事項注意事項

  • opsi.oi.notifyとopsi.oi.graphqlの実行には認証タイプ「OpsI Credential Type」から作成した認証情報が必要です。「OpsI Credential Type」の「opsi_domain」と「opsi_token」を利用するため、事前に作成し、ジョブテンプレートに設定しておく必要があります。設定方法については「認証情報の登録」を参照してください。
  • opsi.oi.graphqlによるテーブルの操作にはACLが適用されます。操作するテーブルに権限があるユーザーのOps Iトークンを使用してください。