【Ansible AWX】基本的な使い方からプレイブックの実行


この記事はプロモーションを含みます。

Ansible AWX

ホーム > 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

ユーザータイプについて、3種類用意されており、以下のような権限が設定されています。
・System Administrator[システム管理者]:システム内の全てのオブジェクトの全ての機能(読み取り/書き込み/実行)が可能
・System Auditor[システム監査者]: システム内の全てのオブジェクトの読み取りが可能
・Normal User[標準ユーザー]:システム管理者により、個々に設定された機能のみ利用が可能

また、AWXのバグか分かりませんが、新規にユーザーを作成する場合は、ユーザータイプが「英語表記」で、既存のユーザーを編集する場合は「日本語表記」になります。。

入力後は、右下の「保存」ボタンをクリックします。

一旦、ログアウトします。

先ほど登録したユーザーでログインしてみましょう。

画面右上のユーザー名が、登録したユーザー(今回は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インストールサーバ

ホスト名の設定について(AWXのヘルプ抜粋)
 host name、ip address、または ip address:port を指定してください。
 例: myserver.domain.com
   127.0.0.1
   10.1.0.140:25
   server.example.com:25

また、今回はローカルに接続するため、「変数」に「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を活用して、どんどん作業の自動化を進めていきましょう。

コメント

タイトルとURLをコピーしました