最後に、Ansible Towerの便利な機能を幾つか紹介しておきます。
ジョブテンプレートからジョブを即時実行するのではなく、指定時刻にジョブを実行することもできます。スケジュールを指定してジョブを実行したい場合は、ジョブテンプレート画面のカレンダーのアイコンをクリックしスケジュール一覧画面に遷移し、ADDボタンをクリックしてスケジュール作成画面を開きます。
スケジュールに設定可能な項目は以下の通りです。
設定した内容で具体的にいつジョブが動くかについては「SCHEDULE DESCRIPTION」の欄に表示してくれるため、意図したスケジュールとなっているかを容易に確認できるようになっています。
以下は「2016/11/1 21:00:00」から毎日繰り返し実行するスケジュールの設定例になります。
プレイブックをバージョン管理システムから取得するようにする場合、まずバージョン管理システムに接続するための認証情報を作成し、その認証情報を使ってプロジェクトを作成します。
CREDENTIALSのページを開き、TYPEを「Source Control」とした認証情報を作成してください。ユーザー名やパスワードは被管理ホストの認証情報と同様に設定します。
次にプロジェクトの作成を行います。「SCM TYPE」を利用したいバージョン管理システムの値に、「SCM CREDENTIAL」の欄に先ほど作成した認証情報を設定してください。なお、利用できるバージョン管理システムは以下の3種類です。
プロジェクトの初回保存後は自動的にチェックアウトが実行されます。初回保存後に更新したい場合、プロジェクト一覧の雲のアイコンをクリックすることでチェックアウトを実行可能です。定期的に更新したい場合は、その隣のカレンダーのアイコンをクリックし、スケジュール登録画面を開いてください。スケジュールの設定はジョブのスケジュール設定と同様に行えます。
今までは管理者ユーザー(admin)で操作していたため、全ての要素の閲覧、編集が可能でしたが、別途操作ユーザーを作成し、各要素に対し個別に権限制御を行えます。
権限制御の例として、プレイブックの実行のみが可能なユーザーを作成してみます。まず、プレイブックの実行用のユーザーを作成します。右上の歯車アイコンをクリックし設定画面を開き、「USERS」を選択しユーザー一覧画面に遷移し、ADDボタンをクリックしてユーザー登録画面を開きます。
ユーザーの名前、Emailアドレス、ログインパスワード、ユーザーの種別(USER TYPE)を設定してSAVEボタンをクリックしてユーザーを作成します。ユーザーの種別は以下の3種類が選択できます。
今回はプレイブックの実行だけを行えるユーザーを作成したいため、USER TYPEには「Normal User」を選択します。
次に、追加したユーザーにプレイブックの実行権限を与えます。メニューから「JOB TEMPLATES」を選択し、ジョブテンプレート一覧画面から権限を与えたいジョブテンプレート作成画面を開きます。ジョブテンプレート作成画面では「DETAILS」のタブが開かれた状態となっているので、「PERMISSIONS」のタブを開き、ADDをクリックして権限追加ダイアログを開きます。
ダイアログが開かれるとユーザーの一覧が自動で表示されるため、権限を追加したいユーザーにチェックを入れます。チェックを入れると、画面下部にそのユーザーに与える権限を選択するための入力項目が表示されます。今回は実行のみを許可したいため、「Execute」を選択し、SAVEボタンをクリックします。
これで権限設定は完了です。権限を追加したユーザーでログインすれば、実行を許可したジョブテンプレートの閲覧と実行が可能となっています。
権限設定はジョブテンプレート以外の要素でもPERMISSIONSのタブから設定可能です。また、ユーザー単位ではなく、チームを作成しユーザーを所属させ、チームに対し権限設定を行うことも可能です。チームの追加は設定画面のTEAMSから行えます。チームの作成方法やチームへのユーザーの追加方法については特に複雑な箇所はないため、説明は省略します。
今回はAnsibleをWebブラウザから実行できるツールであるAnsible Towerを紹介しました。Ansible Towerを利用することで、プレイブックの実行結果を保持したり、ユーザーごとにプレイブックの実行可否を制御したりとAnsibleをより使いやすくすることができます。Ansible Towerをインストールできる環境があれば試してみてはいかがでしょうか。
今回でAnsibleの連載は終了となりますが、この連載を通じ、サーバ管理が快適で、楽しく感じられるようになっていただけていれば幸いです。
なお、この連載で紹介したAnsibleの機能は基本的な部分がほとんどです。Ansibleは公式ドキュメントが充実しており、さまざまなトピックが記載されています。例えば前回の連載で紹介したRole以外のベストプラクティスも記載されていたりします。興味がある人は公式ドキュメントを一読してみると、よりAnsibleを楽しめるかと思います。
2011年から、株式会社ビーブレイクシステムズに在籍。「あるべきものを、あるべき姿に」をモットーに、保守しやすいプログラムを書くため日々まい進中。
Copyright © ITmedia, Inc. All Rights Reserved.