Ansible AWX をインストールしてみよう
まえがき
おはようございます、加藤です。皆さんはAnsibleを利用しているでしょうか?Ansibleは非常に便利な構成管理ツールですね。
今回はAnsibleに関連するAnsible AWXのインストール方法をご紹介します(使い方は後日書きます)。
Ansbile AWXって何?
Ansible AWXはRed Hat社が提供するAnsible Towerのコミュニテイ版です。
雑に言ってしまえばAnsibleのWebUI+αです。
このαの部分は以下の機能などが挙げられます。
- ジョブスケジューラ
- ワークフロー
- ユーザ認証
特に、ワークフローは魅力的だと思います。複数のロールを結果に応じて分岐させて実行することができます。今回はインストールが主題ですので詳細は今後、ブログします。
インストール
EC2立ち上げ
- AWS上にAmazon Linux2でインスタンスを立てる
- 検証環境であったとしても、t2.small以上のインスタンスをお勧めします。
- 外部からはSSH接続ができるように、セキュリティグループを構成してください。
基本
| 項目 | 値 |
|---|---|
| AMI | Amazon Linux 2 LTS Candidate AMI 2017.12.0.20180115 x86_64 HVM GP2 |
| AMI-ID | amzn2-ami-hvm-2017.12.0.20180115-x86_64-gp2 (ami-c2680fa4) |
| インスタンスタイプ | t2.small |
| ストレージ | SSD(GP2) 8GB |
セキュリティグループ
| タイプ | プロトコル | ポート範囲 | ソース | 説明 |
|---|---|---|---|---|
| SSH | TCP | 22 | [グローバルIP]/32 | - |
| HTTP | TCP | 80 | [グローバルIP]/32 | - |
インスタンスが立ち上がったらSSH接続してください。
Ansible AWXインストール
Ansible AWXはDocker上で動きます。
とりあえず、今回はEC2 on Docker で簡単にインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #必要なパッケージインストールsudo yum -y install git docker#Ansibleインストールsudo amazon-linux-extras install ansible2#Dockerのサービス開始・自動起動設定sudo systemctl start dockersudo systemctl enable docker#pipをインストールcurl -kL https://bootstrap.pypa.io/get-pip.py | sudo python#docker-pyをインストール(PythonでDockerを操作)sudo pip install docker-py#リポジトリからAWXをクローンgit clone https://github.com/ansible/awx#DB保存用ディレクトリを作成sudo mkdir /opt/pgdockercd awx/installer#DB保存先をtmp→作成したディレクトリに変更sed -i "s/tmp/opt/g" inventory#ローカルにAWXをインストールsudo ansible-playbook -i inventory install.yml |
状態確認
1 2 3 4 5 6 7 | sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb10ef74b6030 ansible/awx_task:latest "/tini -- /bin/sh ..." About a minute ago Up About a minute 8052/tcp awx_taske623389031b6 ansible/awx_web:latest "/tini -- /bin/sh ..." About a minute ago Up About a minute 0.0.0.0:80->8052/tcp awx_web9d781828656b memcached:alpine "docker-entrypoint..." 2 minutes ago Up 2 minutes 11211/tcp memcached5b5d40fcf419 rabbitmq:3 "docker-entrypoint..." 2 minutes ago Up 2 minutes 4369/tcp, 5671-5672/tcp, 25672/tcp rabbitmq4d61e53aeb73 postgres:9.6 "docker-entrypoint..." 3 minutes ago Up 3 minutes 5432/tcp postgres |
ログイン
- ブラウザで http://[EC2のパブリックIP] へアクセス
- ユーザ名: admin パスワード: password
以下のような画面が表示されればインストール完了です!
ログイン画面
ダッシュボード
あとがき
今回は内容が短かったですね。使い方の部分がものすごく長くなる気がしたので一旦インストールについてのみ書きました。
あまり、お待たせしないうちに使い方についてかけるようにがんばります!!