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トークンを使用してください。