Ansible AWX · 1 min read · Jan 25, 2026

Ansible AWX ガイド: 基本的な使用法と設定

AWXは、Ansibleのユーザーインターフェース、REST API、およびタスクエンジンを提供するオープンソースのWebアプリケーションです。これはAnsible Towerのオープンソース版です。AWXを使用すると、Ansibleプレイブック、インベントリ、およびジョブのスケジュールをWebインターフェースを使用して管理できます。

このチュートリアルでは、Ansible AWXの基本的な使用法を示します。したがって、Ansible AWXがすでにインストールされているサーバーが必要です。設定資格情報、インベントリ、ジョブテンプレートの設定と実行など、知っておくべきAnsible AWXの基本的な設定について説明します。まだAnsibleがインストールされていない場合は、次のチュートリアルを参照してください: https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/。

前提条件

  • 2または3台のサーバー - 10.5.5.20 ansible-awx
  • 10.5.5.21 lemp
  • Ansibleに関する基本的な理解
  • ルート権限

私たちが行うこと:

  1. 環境のセットアップと構成
  2. 資格情報の設定
  3. インベントリの設定
  4. プロジェクトの設定
  5. ジョブテンプレートの設定
  6. ジョブの実行

ステップ 1 - 環境のセットアップと構成

このチュートリアルでは、Ansible AWXダッシュボードを通じて基本的なLEMPインストールのためのAnsibleプレイブックをデプロイして実行します。

AWX自体とターゲットマシンのために2台のサーバーがあります。

10.5.5.20   ansible-awx  
10.5.5.21   lemp

今、私たちは「hakase」というユーザーとしてプレイブックをデプロイし、キーに基づくSSH認証を使用します。したがって、ターゲットマシン「lemp」でユーザーとキーに基づく認証をすでに設定していることを確認してください。

ansible-awx」サーバーから次のコマンドを使用してテストします。

su - hakase  
ssh [email protected]

パスワードなしでログインできることを確認してください。

今、「hakase」ユーザーはタスクを実行するためにルートパスワードなしである必要があります。

ターゲットマシン「lemp」で、以下のようにsudoコマンドを実行します。

su - hakase  
sudo su

パスワードなしでルート権限を入力したことを確認してください。

次に、Ansibleによって管理されるすべてのターゲットマシンにpythonパッケージをインストールする必要があります。

sudo apt install python -y

Pythonのインストール

ステップ 2 - 資格情報の設定

まず、Ansible AWXの資格情報を設定する必要があります。これは、管理サーバーに対してジョブを起動および実行する際の認証、インベントリソースとの同期、およびプロジェクトのインポートに使用されます。

デフォルトでは、Ansible AWXはSSH認証を介したVMマシン、Amazon Web Services、Google Compute Engine、OpenStack、Vaultパスワード、ソース管理など、多くの資格情報をサポートしています。

資格情報を設定するには、左側の「資格情報」メニューをクリックし、その右側にある「+」ボタンをクリックします。

資格情報の設定

今、資格情報の「NAME」と「DESCRIPTION」を入力し、「CREDENTIAL TYPE」を「Machine」に指定します。

単純に、「Machine」資格情報は、サーバーを管理するためのSSH認証を使用できるようにします。これは、パスワードとキーに基づく認証の両方をサポートしています。

このガイドでは、キーに基づく認証を使用します。したがって、ユーザー名を入力し、そのユーザーのプライベートキーを貼り付けます。

キーに基づく認証

次に「SAVE」ボタンをクリックします。

その結果、新しいAnsible AWX資格情報タイプ「Machine」が作成されました。

Ansible AWX資格情報

ステップ 3 - インベントリの設定

インベントリは、Ansible AWXによって管理されるホストサーバーのグループです。インベントリを使用すると、複数のホストサーバーを含むグループを作成できます。そして、異なる環境の異なるサーバーを管理しやすくします。

サーバーの管理とプロビジョニングを行うために、新しいインベントリグループを作成し、そのインベントリグループにサーバーホストを追加する必要があります。

新しいインベントリを追加するには、左側の「インベントリ」メニューをクリックし、次に「+」ボタンをクリックして「インベントリ」を選択します。

AWXインベントリの設定

インベントリの「NAME」と「DESCRIPTION」を入力し、「SAVE」ボタンをクリックします。

名前と説明

今、「HOSTS」タブをクリックし、新しいホストを追加するために「+」ボタンをクリックします。

ホスト

HOST NAME」、「DESCRIPTION」、およびターゲットマシンのIPアドレス「ansible_host: 10.5.5.21」の追加設定を含む「VARIABLES」を入力します。

ホスト名と変数

今、「SAVE」ボタンをクリックします。

次に、pingコマンドを使用してホストの構成を確認する必要があります。

HOSTS」タブに戻り、ホスト名サーバーをチェックし、「RUN COMMANDS」ボタンをクリックします。

今、「MODULE」として「ping」を選択し、「MACHINE CREDENTIAL」内の検索ボタンをクリックして自分のものを「SELECT」し、その後「LAUNCH」ボタンをクリックします。

マシン資格情報

そして、新しいページにリダイレクトされ、以下が結果です。

AWXスクリプト実行の結果

新しいインベントリが作成され、ターゲットマシンサーバーが追加されました。

ステップ 4 - プロジェクトの設定

プロジェクトはAWX上のAnsibleプレイブックとして表されます。これは、ローカルプロジェクトディレクトリまたはGit、Subversion、Mercurial、RedHat InsightsなどのSCMシステムを介して管理できるAnsibleプレイブックのコレクションです。

新しいプロジェクトを作成するには、左側の「プロジェクト」メニューをクリックし、次に「+」ボタンをクリックします。

AWXプロジェクト

プロジェクトの「NAME」と「DESCRIPTION」を入力し、「SCM TYPE」を「Git」に選択し、プレイブックリポジトリを貼り付けます。

名前、説明、SCMタイプ

今、「SAVE」ボタンをクリックすると、その結果、新しいプレイブックのプロジェクトが作成されます。

プロジェクトが追加されました

さらに:

SCMタイプ「Manual」で新しいプロジェクトを作成したい場合は、「/var/lib/awx/projects」ディレクトリの下に新しいプレイブックディレクトリを作成できます。

「/var/lib/awx/projects」ディレクトリは、AWXのDockerバージョンを使用している場合のAnsibleプレイブックのデフォルトプロジェクトディレクトリです。「project_data_dir」が有効になっています。

ステップ 5 - 新しいジョブテンプレートの作成

ジョブテンプレートは、Ansibleプレイブック自体を実行するための定義です。したがって、新しいジョブテンプレートを作成するか、ジョブテンプレートを実行するには、「プロジェクト」からAnsibleプレイブックを追加し、認証のための「資格情報」と「インベントリ」に保存されたターゲットマシンを追加する必要があります。

このガイドでは、新しいプロジェクト、資格情報、およびインベントリをすでに作成しています。したがって、左側の「テンプレート」メニューをクリックし、次に「+」ボタンをクリックして「ジョブテンプレート」オプションを選択します。

ジョブテンプレートの追加

今、ジョブの「NAME」と「DESCRIPTION」を入力する必要があります。次に、「INVENTORY」、「CREDENTIAL」、および「PROJECT」を選択します。その後、実行してデプロイしたい「PLAYBOOK」を指定します。

ジョブプロジェクトの詳細を追加

その結果、新しいジョブテンプレートAnsible AWXが作成されました。

ステップ 6 - ジョブテンプレートの実行

新しいジョブテンプレートを作成した後、ジョブテンプレートを実行し、「インベントリ」のターゲットホストにプレイブック「プロジェクト」をデプロイします。

左側の「テンプレート」メニューをクリックすると、利用可能なジョブテンプレートのリストが表示されます。

ジョブが完了すると、ジョブテンプレート名の中に緑色のサインが表示されます。

テンプレート実行結果

ジョブテンプレート名の中の緑色のサインをクリックすると、そのジョブの実際の結果が表示されます。

ジョブの結果

ジョブは正常に完了し、ターゲットマシンにLEMPスタックがAnsible AWXを介してインストールされました。

ステップ 7 - ターゲットマシンのテスト

ターゲットマシンのドメイン名をテストします。ドメイン名の設定は「roles/web/vars/main.yml」設定に保存されています。

ターゲットサーバーのテスト

systemctlコマンドを使用してNginxとPHP-FPMサービスを確認します。

systemctl status nginx  
systemctl status php7.2-fpm

Nginxとphp-fpmのステータス

ターゲットマシンのMySQLデータベースをテストします。MySQLデータベースの詳細設定は「roles/db/vars/main.yml」設定ファイルに保存されています。

MySQLのステータス

その結果、LEMPスタックがAnsible AWXを介してターゲットマシンにインストールされました。

参考文献

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。