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 で簡単にインストールします。
#必要なパッケージインストール sudo yum -y install git docker #Ansibleインストール sudo amazon-linux-extras install ansible2 #Dockerのサービス開始・自動起動設定 sudo systemctl start docker sudo 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/pgdocker cd awx/installer #DB保存先をtmp→作成したディレクトリに変更 sed -i "s/tmp/opt/g" inventory #ローカルにAWXをインストール sudo ansible-playbook -i inventory install.yml
状態確認
sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b10ef74b6030 ansible/awx_task:latest "/tini -- /bin/sh ..." About a minute ago Up About a minute 8052/tcp awx_task e623389031b6 ansible/awx_web:latest "/tini -- /bin/sh ..." About a minute ago Up About a minute 0.0.0.0:80->8052/tcp awx_web 9d781828656b memcached:alpine "docker-entrypoint..." 2 minutes ago Up 2 minutes 11211/tcp memcached 5b5d40fcf419 rabbitmq:3 "docker-entrypoint..." 2 minutes ago Up 2 minutes 4369/tcp, 5671-5672/tcp, 25672/tcp rabbitmq 4d61e53aeb73 postgres:9.6 "docker-entrypoint..." 3 minutes ago Up 3 minutes 5432/tcp postgres
ログイン
- ブラウザで http://[EC2のパブリックIP] へアクセス
- ユーザ名: admin パスワード: password
以下のような画面が表示されればインストール完了です!
ログイン画面
ダッシュボード
あとがき
今回は内容が短かったですね。使い方の部分がものすごく長くなる気がしたので一旦インストールについてのみ書きました。
あまり、お待たせしないうちに使い方についてかけるようにがんばります!!