概要
こんにちは。サイオステクノロジーの吉田です。
今回はAnsible Towerを利用して誰でも自動化作業実行ボタン(のようなモノ)の作成をしたいと思います。
個人的にAnsible Towerの最大の利点は、Playbookを書いた人間以外でも使えるように、誰でも自動化した作業を実行できるようにできる点だと思っています。
作業自体は自動化してもその作業を行うのは特定の人。なんていう状況はよくあるかと思います。。
せっかく自動化したのに実行できる人が限られるのでは自動化の恩恵を最大限享受できないのはもったいないですね。
誰でも自動化作業実行ボタン(のようなモノ)の作成
Playbookの作成
まずは実行するplaybookを準備します。
今回はGitHubにあるDemo用のplaybookを使用します。
https://github.com/ansible/ansible-tower-samples
プロジェクトの作成
次にプロジェクトを作成します。
これはplaybookをAnsible Towerのリソースとして登録する作業になります。
名前: Demo Project 組織: Default SCMタイプ: Git SCM URL: https://github.com/ansible/ansible-tower-samples
インベントリの作成
次はターゲットホストを登録します。
今回はlocalhostを対象にします。
名前: Demo Inventory 組織: Default
認証情報の作成
次はインベントリーで登録したターゲットホストにログインするための認証情報を作成します。
名前: Demo Credential 組織: Default 認証情報タイプ: マシン ユーザー名: admin
テンプレートの作成
ここまでで作成したプロジェクト、インベントリー、認証情報をまとめてテンプレートを作成します。
名前: Demo Job Template ジョブタイプ: 実行 インベントリー: Demo Inventory プロジェクト: Demo Project PLAYBOOK: hello_world.yml 認証情報: Demo Credential 詳細: 0(Normal)
テンプレートの実行
後はテンプレートのボタンから起動するだけで
誰でも自動化された作業を実行することができます。
ジョブ履歴の参照
最後にジョブの画面から、誰が何をいつ実行したのか参照することができます。
まとめ
Ansible Towerを利用して誰でも自動化作業実行ボタン(のようなモノ)の作成しました。作成したテンプレートを実行すれば、誰でも作業の実施が可能になります。また、作業履歴も残すことができます。
一度作成したリソース(プロジェクト、インベントリー、認証情報、テンプレート)は再利用可能です。共通処理を一元管理できます。
運用が属人化していて困っている方、効率を上げたいと考えている方は一度触ってみてはいかがでしょう?