WebブラウザでAnsibleの実行を管理するAnsible Towerのインストールと使い方:Ansibleで始めるサーバ作業自動化入門(終)(4/4 ページ)
本連載では、「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基本的な使い方を紹介。今回は、Ansibleの実行をWebブラウザから管理するツール「Ansible Tower」について、概要と便利機能、インストール手順、使い方などを解説。
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年から、株式会社ビーブレイクシステムズに在籍。「あるべきものを、あるべき姿に」をモットーに、保守しやすいプログラムを書くため日々まい進中。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- インフラ自動化ツール「Ansible 2.0」が正式版がリリース
インフラ自動化ツール「Ansible」がメジャーバージョンアップ。リファクタリングによるアーキテクチャの整理に加え、Block文や動的なIncludeなどの新機能が含まれています。 - 「Puppet Enterprise」と「Red Hat Satellite」の連携が実現。一方、レッドハットは「Ansible」を買収へ
Puppet EnterpriseとRed Hat Satelliteが連携可能に。一方、米レッドハットはPuppetの競合とされるAnsibleの買収を発表し、自社ソリューションへの取り込みを表明した。 - レッドハットのホワイトハーストCEOに、OpenStack、Ceph、Ansibleについて聞いた
レッドハットは11月4日、東京都内でRed Hat forum 2015を開催した。来日した米レッドハットのCEO、ジム・ホワイトハースト氏は、プレス向けの説明会で同社の戦略を説明するとともに質問を受け付けた。筆者は、同社にとってのOpenStackの戦略的な意味、およびCephのInktank、Ansibleを買収した狙いについて聞いた。