ホーム > Ansible Tower・AWX リファレンス
はじめに
前回は、AWXのインストールを行いました。
今回は、AWXを使用してプレイブックを実行したいと思います。
AWX – ログイン
まず、Google Chromeを起動し、AWXにログインします。
ログイン方法は前回の記事「CentOS7でのAnsible AWX 15.0.1 セットアップ手順」の「動作確認」を参考にして下さい。
AWX – ユーザーの登録
AWXをインストールした時点では、管理者ユーザしか登録されていないため、作業用のユーザを登録します。
メニューから「ユーザー」を選択します。(下の方にあるので、表示されていない場合はスクロールして下さい)
次に、画面右側に「新規ユーザーの作成」(緑色の+マーク)ボタンをクリックします。
ユーザーの作成画面が表示されるので、今回は以下のように入力しました。
*赤字部分が必須入力項目となります。
- 名:AWX
- 姓:Ansible
- 組織:Default
- メール:awx@syutaku.blog
- ユーザー名:awx
- パスワード:awx
- パスワードの確認:awx
- ユーザータイプ:System Administrator
入力後は、右下の「保存」ボタンをクリックします。
一旦、ログアウトします。
先ほど登録したユーザーでログインしてみましょう。
画面右上のユーザー名が、登録したユーザー(今回はawx)となっていれば、新しく登録したユーザーでのログインに成功しています。
AWX – プロジェクトの登録
まずは、サーバー上に登録するプロジェクト用のディレクトリを作成します。
TeraTermでAWXインストールサーバに接続し、AWXのプロジェクトディレクトリとなる「/var/lib/awx/projects/」に移動します。
今回は、テスト用に「sample_prj」ディレクトリを作成します。
[root@localhost ~]# cd /var/lib/awx/projects/ [root@localhost projects]# mkdir sample_prj [root@localhost projects]# ll 合計 0 drwxr-xr-x. 2 root root 6 9月 13 00:39 sample_prj [root@localhost projects]#
次に、AWXの画面からプロジェクトの作成画面 (緑色の+マークをクリック) に移動します。
プロジェクトの作成画面では、以下のように設定します。
設定後は、「保存」ボタンをクリックし、メニューからプロジェクト一覧画面に戻ります。
*赤字部分が必須入力項目となります。
- 名前:sample_prj
- 説明:テストプロジェクト
- 組織:Default
- SCM タイプ:手動
- プロジェクトのベースパス:/var/lib/awx/projects
- PLAYBOOKディレクトリー:sample_prj
「sample_prj」が作成されましたね。
稀にプロジェクトが作成されていない場合がありますので、作成されない場合は何度か試してみて下さい。
AWX – 認証情報の登録
ここでは、認証情報の登録を行います。
認証情報は、接続先するサーバの認証情報(ユーザー、パスワード)などを定義します。
認証情報一覧画面に移動し、「新規認証情報の作成」ボタン (緑色の+マーク) をクリックします。
認証情報の作成画面では、以下のように設定します。
今回は、AWXのインストールサーバに接続するため、認証情報タイプは「マシン」、ユーザーは「root」としています。
*赤字部分が必須入力項目となります。
設定後は、右下にある「保存」ボタンをクリックします。
- 名前:sample_cert
- 説明:テスト認証情報
- 認証情報タイプ:マシン
- ユーザー名:root
- パスワード:ユーザー名に対応したパスワード
AWX – インベントリーの登録
ここでは、インベントリーを登録します。
インベントリーは、接続先サーバの情報(IPアドレス、ホスト名など)を定義します。
インベントリー一覧画面に移動し、「新規インベントリーの作成」ボタン (緑色の+マーク) をクリックします。
クリック時に表示されるインベントリの種類では、通常の「インベントリー」を選択します。
インベントリーの作成画面では、以下のように設定します。
ここでは、ホストを登録するため入れ物を作成するので、名前は何でも問題ありません。
設定後は、「保存」ボタンをクリック、その後、「ホスト」ボタンをクリックします。
*赤字部分が必須入力項目となります。
- 名前:sample_inventory
- 説明:AWXインストールサーバ
ホスト一覧画面が表示されるので、「新規ホストの作成」ボタンをクリックします。
ホストの作成画面では、以下のように設定します。
今回は、自身のサーバ(AWXのインストールサーバ)を接続先として登録してみます。
*赤字部分が必須入力項目となります。
- ホスト名:localhost
- 説明:AWXインストールサーバ
また、今回はローカルに接続するため、「変数」に「ansible_connection: local」を追加しておきます。
設定後は、「保存」ボタンをクリックします。
インベントリーの作成は以上になります。
AWX – プレイブックの作成
ここでは、この後で行う、テンプレートの登録時に必要なプレイブックを作成します。
今回は簡単にAWXコンソールにメッセージを表示するプレイブックを作成してみます。
テキストエディタ(私はサクラエディタです)などを開き、以下をコピペして下さい。
保存時のファイル名は「playbook」、拡張子は「.yml」で「playbook.yml」とします。
文字コードは「UTF8」、改行コードは「LF」としました。
---
- hosts: all
tasks:
- name: "サンプルプレイブック"
debug:
msg: "Hello AWX !"
先に作成したプロジェクト「sample_prj」に紐づけたディレクトリに作成したプレイブックを格納します。
今回は、FTPクライアントのWinSCPで転送したいと思います。
接続設定は以下のようにします。
- 転送プロトコル:SFTP
- ホスト名:AWXをインストールしたマシンのIPアドレス
- ポート番号:22
- ユーザ名:root
- パスワード:ユーザに対応したパスワード
「プロジェクト」を登録した際に作成したディレクトリ「/var/lib/awx/projects/sample_prj」にプレイブックを配置します。
以上で、プレイブックの作成は完了です。
AWX – テンプレートの登録
ここでは、テンプレートを登録します。
テンプレートは、今まで作成したインベントリーやプレイブックを紐付けて、Ansibleジョブを実行するためのパラメーターセットになります。
テンプレート一覧画面に移動し、「新規テンプレートの作成」ボタン (緑色の+マーク) をクリックします。
クリック時に表示されるテンプレートの種類では、通常の「ジョブテンプレート」を選択します。
新規のジョブテンプレート作成画面が表示されるので、以下のように設定します。
*赤字部分が必須入力項目となります。(項目が多いため、入力対象かつ必須項目のみ記載しています。)
- 名前:サンプルテンプレート
- 説明:AWX動作確認
- ジョブタイプ:実行
- インベントリー:sample_inventory
- プロジェクト:sample_prj
- PLAYBOOK:playbook.yml
- 認証情報:sample_cert
- 詳細:0(Normal)
設定後は、右下の「保存」ボタンをクリックします。
以上で、テンプレートの登録は完了です。
AWX – テンプレートの実行
ここでは、作成したテンプレート(プレイブック)を実行します。
テンプレート一覧画面から、作成したサンプルテンプレートの起動ボタン(ロケットのマーク)をクリックします。
以下のように、ステータスに「成功」と表示されると処理は正常終了となります。
今回作成したプレイブックのタスクとして「サンプルプレイブック」が実行され、実行結果として「Hello AWX !」が表示されていますね。
以上で、テンプレートの実行を終わります。
おわりに
前回からここまで長かったですが、AnsibleAWXのインストールからプレイブックの実行まで解説しました。
今回は簡単にメッセージを表示するだけのプレイブックでしたが、今後様々なプレイブックをご紹介したいと思います。
Ansibleを活用して、どんどん作業の自動化を進めていきましょう。
コメント