【Ansible AWX 15.0.1】追加変数の設定方法(インベントリー・ホスト)


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

Ansible

ホーム > Ansible Tower・AWX リファレンス

以前、Ansible AWXのインベントリーとホストを新規登録する方法をご紹介しました。
今回は、追加変数を設定する方法を解説したいと思います。

下記の製品についても、本記事の方法で対応可能です。
・Ansible Tower 3.8.3
・Ansible Tower 3.8.4

追加変数とは??
追加変数とは、インベントリーやホストごとに設定可能な変数です。
ホストごとに設定する場合の例を挙げながら説明したいと思います。

例えば、変数名を[exec_shell]とホストごとに下記のように定義します。
ホスト1:exec_shell: shell_1.sh
ホスト2:exec_shell: shell_2.sh

上記のホストを含むジョブを実行した場合、
ホスト1の時には「exec_shell: shell_1.sh」が実行され、
ホスト2の時には「exec_shell: shell_2.sh」は実行されるようになります。

このように追加変数を上手く利用することで、インベントリーやホストごとに処理を変えることが可能です。

インベントリー、ホストの新規登録については以下の記事で解説しています。

追加変数の設定手順:インベントリー

設定とジョブを実行した時にどのように表示されるかを確認してみます。

設定

インベントリーに追加変数を設定する手順になります。
まずは、メニューより、「インベントリー」を選択します。

インベントリーの一覧が表示されるので、追加変数を設定するインベントリーをクリックします。
例では「Test Server Inventory」を選択しています。

インベントリーの設定画面が開かれるので、「変数」欄に「変数名: 値」形式で変数を登録します。
今回は「inventory_ex_vars: インベントリの追加変数」と設定してみました。
設定後は、「保存」ボタンをクリックして、設定を反映します。

確認

確認用に作成したプレイブックです。

---
- hosts: all
  gather_facts: False
  tasks:

  - name: インベントリー変数の確認
    debug:
      var: inventory_ex_vars

実行結果です。8行目を見ると、設定した通りになっていることが分かります。

SSH password: 
BECOME password[defaults to SSH password]: 

PLAY [all] *********************************************************************

TASK [インベントリー変数の確認] ************************************************************
ok: [192.168.56.105] => {
    "inventory_ex_vars": "インベントリの追加変数"
}

PLAY RECAP *********************************************************************
192.168.56.105             : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

「 Xserver ドメイン 」は格安のドメイン名取得サービスです。
国内最安値!超人気ドメインの「.com」「.net」が驚きの《1円》! ・ドメイン一括取得&自動更新機能でドメインを簡単管理 ・DNSレコード設定機能で、より柔軟なドメインの利用が可能 ・Whois情報代理公開機能に無料対応

追加変数の設定手順:ホスト

設定とジョブを実行した時にどのように表示されるかを確認してみます。

設定

インベントリーに追加変数を設定する手順になります。
まずは、メニューより、「インベントリー」を選択します。

インベントリーの一覧が表示されるので、追加変数を設定するインベントリーをクリックします。
例では「Test Server Inventory」を選択しています。

インベントリーの設定画面が開かれるので、「ホスト」タブをクリックします。

ホストの一覧画面が開かれるので、設定するホストを選択します。
ここでは、「192.168.56.105」のホストを選択しました。

ホストの設定画面が開かれるので、「変数」欄に「変数名: 値」形式で変数を登録します。
今回は「host_ex_vars: ホストの追加変数」と設定してみました。
設定後は、「保存」ボタンをクリックして、設定を反映します。

確認

確認用に作成したプレイブックです。

---
- hosts: all
  gather_facts: False
  tasks:

  - name: ホスト変数の確認
    debug:
      var: host_ex_vars

実行結果です。8行目を見ると、設定した通りになっていることが分かります。

SSH password: 
BECOME password[defaults to SSH password]: 

PLAY [all] *********************************************************************

TASK [ホスト変数の確認] ****************************************************************
ok: [192.168.56.105] => {
    "host_ex_vars": "ホストの追加変数"
}

PLAY RECAP *********************************************************************
192.168.56.105             : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

記事は以上です。追加変数を上手く利用することで汎用性の高いプレイブックを作成することが可能です。Ansibleを使用するうえでは、必須のテクニックなので、しっかり覚えておきましょう。

コメント

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