連載
» 2016年11月30日 05時00分 公開

Ansibleで始めるサーバ作業自動化入門(終):WebブラウザでAnsibleの実行を管理するAnsible Towerのインストールと使い方 (4/4)

[今泉俊幸,株式会社ビーブレイクシステムズ]
前のページへ 1|2|3|4       

Ansible Towerの便利な機能

 最後に、Ansible Towerの便利な機能を幾つか紹介しておきます。

スケジュールを指定してジョブを実行する

 ジョブテンプレートからジョブを即時実行するのではなく、指定時刻にジョブを実行することもできます。スケジュールを指定してジョブを実行したい場合は、ジョブテンプレート画面のカレンダーのアイコンをクリックしスケジュール一覧画面に遷移し、ADDボタンをクリックしてスケジュール作成画面を開きます。

 スケジュールに設定可能な項目は以下の通りです。

  • START DATE, START TIME
    ジョブの開始日時を指定する
  • LOCAL TIME ZONE
    開始日時のタイムゾーンを設定する
  • REPEAT FREQUENCY
    繰り返し方法を指定する。年単位から分単位まで指定可能。選択した繰り返し方法に応じ、入力項目が追加される

 設定した内容で具体的にいつジョブが動くかについては「SCHEDULE DESCRIPTION」の欄に表示してくれるため、意図したスケジュールとなっているかを容易に確認できるようになっています。

 以下は「2016/11/1 21:00:00」から毎日繰り返し実行するスケジュールの設定例になります。

プレイブックをバージョン管理システムから取得する

 プレイブックをバージョン管理システムから取得するようにする場合、まずバージョン管理システムに接続するための認証情報を作成し、その認証情報を使ってプロジェクトを作成します。

 CREDENTIALSのページを開き、TYPEを「Source Control」とした認証情報を作成してください。ユーザー名やパスワードは被管理ホストの認証情報と同様に設定します。

 次にプロジェクトの作成を行います。「SCM TYPE」を利用したいバージョン管理システムの値に、「SCM CREDENTIAL」の欄に先ほど作成した認証情報を設定してください。なお、利用できるバージョン管理システムは以下の3種類です。

  • Git
  • Mercurial
  • Subversion

 プロジェクトの初回保存後は自動的にチェックアウトが実行されます。初回保存後に更新したい場合、プロジェクト一覧の雲のアイコンをクリックすることでチェックアウトを実行可能です。定期的に更新したい場合は、その隣のカレンダーのアイコンをクリックし、スケジュール登録画面を開いてください。スケジュールの設定はジョブのスケジュール設定と同様に行えます。

ユーザーごとに権限設定を行う

 今までは管理者ユーザー(admin)で操作していたため、全ての要素の閲覧、編集が可能でしたが、別途操作ユーザーを作成し、各要素に対し個別に権限制御を行えます。

 権限制御の例として、プレイブックの実行のみが可能なユーザーを作成してみます。まず、プレイブックの実行用のユーザーを作成します。右上の歯車アイコンをクリックし設定画面を開き、「USERS」を選択しユーザー一覧画面に遷移し、ADDボタンをクリックしてユーザー登録画面を開きます。

 ユーザーの名前、Emailアドレス、ログインパスワード、ユーザーの種別(USER TYPE)を設定してSAVEボタンをクリックしてユーザーを作成します。ユーザーの種別は以下の3種類が選択できます。

  • System Administrator
    システム管理者。権限設定を行わずに全ての要素の閲覧、編集、実行が可能となる
  • System Auditor
    システム監査者。権限設定を行わずに全ての要素の閲覧が可能だが、編集、実行はできない(各要素に個別で権限割り当てを行えば編集などを許可することは可能)
  • Normal User
    一般ユーザー。デフォルトでは何の権限も持っていなく、ログインしても何の情報も閲覧できない

 今回はプレイブックの実行だけを行えるユーザーを作成したいため、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年から、株式会社ビーブレイクシステムズに在籍。「あるべきものを、あるべき姿に」をモットーに、保守しやすいプログラムを書くため日々まい進中。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。