AWXでアドホックコマンド(コマンドの実行)を使ってみた

どうも、Tです。

AWX環境でもアドホックコマンドを利用できることがわかったので使い方の備忘録です。

スポンサーリンク
アドセンス1

環境

AWX

24.6.1

アドホックコマンドとは

Ansibleでは、ansible-playbookコマンドによりplaybookを実行しますが、アドホックコマンドを利用するとansibleコマンドでplaybookを準備することなく簡易な処理を実行することができます。

アドホックコマンドの概要 — Ansible Documentation

やりたいこと

以前、AWX EE(Execution Environments)の内部の環境をするために下記記事のようなplaybookを準備して、ジョブを実行するなど少々手間になる手順を実施していました。

AWXで使われているansbileバージョンを確認してみた
どうも、Tです。 先日、AWXをデプロイし使えるようにしたのですが、この中で使われているAnsibleバージョンは何が使われて...

AWX EEでアドホックコマンドを実行するこにより、もっと簡単にAWX EE内部の環境を把握したいと思います。

本来のアドホックコマンドの用途としては、ターゲットマシンの再起動、ファイルコピー、パッケージ・ユーザー管理などの簡易的な処理がユースケースになります。ansibleコマンドを利用しているだけであり、AWX EE内部向けに特化している処理ではありません。

アドホックコマンドの事前準備

ドキュメントにはありませんが、AWX EEにアドホックコマンドを実行する際に、いくつか事前準備が必要だったので設定を行っておきます。

インベントリー・ホスト設定

AWX EE自身に向けてansibleコマンドを実行するため、インベントリーとホストの設定を行います。

インベントリーで「localhost」を追加します。

localhostインベントリーに下記の変数を設定します。この変数をインベントリーもしくはホストのどちらかに設定しておかないと、AWX EE自身に対してSSH接続しようとして失敗します。

---
ansible_connection: local

ホストに「127.0.0.1」を追加します。

認証情報設定

アドホックコマンドを実行する際に、認証情報の指定が必須になります。AWX EE内部向けでSSH接続は行わないため、厳密には認証情報は不要のためdummy用の設定を追加しておきます。

実際に設定しているのは、下記に箇所でユーザー名・パスワードなどの認証情報は設定なしで問題ありません。

アドホックコマンドを使ってみる

アドホックコマンドを使ってAWX EEの内部環境を確認していきます。

「リソース」->「インベントリー」画面を開き「localhost」をクリックします。

「ホスト」タブをクリックし「127.0.0.1」にチェックを付け、「コマンドの実行」をクリックします。

下記を選択し「次へ」をクリックします。今回は、ansibleのバージョンを確認するコマンドを指定しています。

モジュール:command
引数:ansible --version ※モジュールに渡す引数

利用できるモジュールの詳細は、下記から確認できます。
https://docs.ansible.com/ansible/2.9_ja/modules/list_of_all_modules.htm

実行するAWX EE環境を選択し「次へ」をクリックします。

認証情報に「dummy」を選択し「次へ」をクリックします。

「起動」をクリックします。

アドホックコマンドの実行結果がログに出力されます。ansibleのバージョンが確認できました。

ansible [core 2.15.12]
config file = None
configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
ansible collection location = /runner/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.9.19 (main, Jun 11 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/bin/python3)
jinja version = 3.1.4
libyaml = True
 ログが表示されないときは、他のタブや画面に切り替えてから、またこの出力タブを開きなおしてください。

参考

18.6. アドホックコマンドの実行 | Automation Controller ユーザーガイド | Red Hat Ansible Automation Platform | 2.4 | Red Hat Documentation
18.6. アドホックコマンドの実行 | Automation Controller ユーザーガイド | Red Hat Ansible Automation Platform | 2.4 | Red Hat Documentation

まとめ

コマンドに渡す引数を変えることで、AWX EEのコレクション情報などを簡単に確認することができます。AWX EEコンテナは処理中しか動かないためアドホックコマンドを使えないと思っていましたが、AWX画面から実行できました。もっと早く知りたかったです…。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする