AnsibleをGUIで操作する、Ansible TowerをAWS上に構築する
コンニチハ、千葉です。
Ansible Towerをご存知でしょうか?Ansible Towerを利用すると、GUI操作でAnsibleを操作可能になります。
今回は、こちらのDeploy Ansible Tower on the AWS Cloud with New Quick Startを利用して環境を構築し、Ansible Towerを触ってみました。
CloudFromation(以下CFn)が提供されているので、構築がさくっとできます。今回は、AWS環境上にAnsible Towerを構築しました。実際のAnsible Towerの操作方法には触れてないので、別のブログで操作については書きたいと思います。
Ansible Towerとは?
Ansibleは、クラウドのプロビジョニング、構成管理、アプリケーションのデプロイ、インフラ環境のオーケストレーション等、ITプロセスを自動化するDevOpsツールです。
そしてAnsible Towerは、このAnsibleを操作するためのWebベースのユーザーインターフェースになります。また、Ansible Towerは10ホストまで無料で利用できます。
AWSより提供されているCFnを利用して構築すると以下の様な構成で作成されます。
※出典元
- 選択したリージョンへの、VPCの構築(シングルAZ、パブリックサブネット1つ)
- クライアント用のEC2を1つ(Ansible Towerより操作されるインスタンス)
- Ansible Towerインスタンスを1つ
- Ansible Towerは最新のバージョンがスクリプトにより自動で構成される
構築してみた
このクイックセットアップは、CFnで自動化されています。CFnは、セキュリティ、可用性についてのAWSのベストプラクティスを取り込んであり、AWSコンピューティング、ネットワーク、ストレージ等最適化されているとのことです。CFnは、RHEL、CentOSと2種類用意されています。
今回は、CentOSを利用しました。CFnのリンクをクリックすると、CFn画面に遷移して必要なパラメータの入力画面になります。それぞれ入力します。
無事スタックが作成されました。
アクセスしてみます。アクセス先は、CFnのスタックを選択して、Outputsから確認できます。
アクセスしてみます。ログイン画面がでるので、ログインします。(ユーザー名:admin、パスワードはCFnで指定したもの)
ログインできたので、Ansible Towerのトライアルライセンスをゲットします。Get a Free Tower Trial License
をクリックします。クライアント10ノードまでは無料で利用できます。
指定したメールアドレスにキーが届くので、Ansible TowerのWeb画面のLicense Fileに貼り付けます(メールに記載されているJSON)。License Accepted
と表示されればokです。
EC2を管理するためのアクセスキーを登録
Ansible Tower用のIAMユーザーを作成を作成します。アクセスキーも発行しておきます。IAMユーザーにはPowerUserAccess
ポリシーをアタッチします。
次に、発行したIAMユーザーのアクセスキーをAnsible Towerに登録します。
セットアップアイコン -> クレデンシャルを選択します。
+マークを選択して、クレデンシャルを登録します。
管理対象のEC2を自動登録ように設定する
Inventories
-> +
を選択してインベントリを追加します。
+
を選択して、グループを追加します。
Sourceタブを選択し、設定します。
Sync
アイコンをクリックして、Syncステータス(雲マーク)
が緑色になれば、AWSと同期ができています。
雲マークが緑になると、Hosts側に、CFnで構築したEC2が自動で登録されます。
管理対象のインスタンスを追加してみる
EC2を追加します。AnsibleClientを選択しいて、アクションより同様のものを作成をクリックします。
Ansible Towerで再度Syncします。
新しくHostsが追加されます。EC2インスタンスにTower=Managed
というタグが付いてるのですが、このタグが付いているインスタンスがAnsibleTowerに登録されるようです。
最後に
AnsibleをGUIで操作できるので、やっぱりGUIもいいよね!に対応できるのではないでしょうか。対象のEC2も、タグを付与するだけでさくっと追加できました。今回は、Ansible Towerの環境構築のみなので、どのように操作して何ができるかはもう少し触ってみてブログに書きたいと思います。 Ansible Towerもよかったのですが、CFnはやっぱり便利だなーと再認識しました。