Ansible Towerで最強の構成管理をめざす
こんばんは、最近お疲れ気味のmana-catです。日々溜まりに溜まった仕事を楽にするために自動化を検証しています。Ansible Towerの検証もその一つです。
現状に嘆いているだけじゃ何も変わらないです。「だって・・・だから」とやらない理由を述べても現状は変わらないどころか悪化していく。時代は常に変化しているからこそ、自らその道を切り開くために、ちょっとだけ頑張ってみることも時には必要だと感じています。
その手段の一つがAnsible Towerを用いた構成管理だと感じています。今回は、たった30分の努力でAnsible Towerをインストールできる手順を紹介します。Amazon EC2 、そしてAWSを少しばかり触れるなら誰にだってできます。
評価版の申込み
下準備として、Ansible Towerを30日間フル機能をお試しできるエンタープライズキーを以下公式ページより申請します。ちなみに、エンタープライズキーが無くても、10ノード以下は無料で使えます。
Ansible Tower Trial | Ansible.com
みんな大好きHVM
次に、インスタンスを用意します。Ansible公式で用意されているトライアルのAnsible Tower AMIですが、AMIのタイプがPV(準仮想化)のみのご用意のようです。HVM(完全仮想化)がなくて困っちゃったよ~といった人のために、今回はHVMのインストール手順をご紹介します。
(非公式な方法になるけどPVからHVMへ変換する手段もあります。ただ、どちらにせよ面倒というのと、まずは正攻法な手順で一からインストールしています)
インストール要件
今回はAmazon EC2 にAnsible Towerをインストールする手順を紹介します。ちなみに、Ansible Towerは Playbookに依存しているため、Towerをインストールする前に Ansible
単体の最新安定バージョンをインストールする必要があります。
必須項目 | 内容 |
---|---|
サポートOS | Red Hat Enterprise Linux 7.2 以降のバージョン (64bit必須) |
最小メモリー | 2GB RAM 同時並列ジョブ 100台に実行する場合、100台あたり追加で 4GB RAM |
ディスク領域(インストール時) | 20GB (/var/に20GB以上を占有) |
データ領域 (トラッキング用) |
1年間、1000ホストを毎日スキャンすると仮定した場合 48 GB *1 |
Amazon EC2 スペック | m3.medium またはそれ以上のインスタンス 100台以上を管理する場合:m3.xlarge 以上 |
操作用のブラウザー | Mozilla Firefox または Google Chrome |
今回用意した環境
必須項目 | 内容 |
---|---|
Amazon EC2インスタンスサイズ | m3.medium |
OS | RHEL7.3 64 bit (HVM) |
ルートボリューム | 100GB |
- 念のために書いておくと、セキュリティグループの設定で、端末~インスタンスの接続時に使用するポート
443
,22
を許可すること
インストール手順
インストール前の準備
- お約束: /etc/hosts は正しく設定すること
- インストールに必要なレポジトリを有効化する(後述する手順の通り)
- yum updateすること
ホスト名の設定
$ sudo hostnamectl set-hostname tower.example.com --static
$ sudo vi /etc/hosts 192.168.10.100 tower.example.com
EPELリポジトリの有効化
Ansibleをインストール時、EPEL リポジトリを使用するため以下を実行して有効化します。
※RHEL 7.4から、EPEL リポジトリは使用しなくなる予定です。次の手順のextrasのみでOKになるとのこと。
$ sudo yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Ansible Tower インストール時に以下のリポジトリが必須のため、yum-config-managerで有効化する
$ sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
yum updateの実行とサーバー再起動
インストール前にyum update を実施し、パッケージを最新の状態に保ちます。
$ sudo yum update $ sudo reboot
Ansibleのインストール
Ansibleとwgetをインストールする
$ sudo yum install ansible wget
Installed:
ansible.noarch 0:2.3.0.0-3.el7
Ansible Tower のインストール
wget コマンドでAnsible のパッケージをダウンロードする
$ wget http://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-3.1.3.tar.gz $ tar xvzf ansible-tower-setup-3.1.3.tar.gz $ cd ansible-tower-setup-3.1.3
Inventoryファイルを編集する
$ vi inventory admin_password='パスワードを設定' pg_password='パスワードを設定' rabbitmq_password='パスワードを設定'
パスワードを保存したら以下の手順でセットアップスクリプトを実行する。
$ sudo ./setup.sh
- もし、インストール要件が満たされていない場合はエラーメッセージが表示され、Ansible Towerのインストールは行われずスクリプトは終了する。どこがダメなのかはログを見て確認する。
- インストール完了までに時間がかかるのでここでコーヒータイムしながらまったり過ごすことをオススメする
The setup process completed successfully.
と表示されたらインストール成功なので喜んでおく
Ansible Tower admin ユーザーのパスワードを変更する手順については以下になります。
$ sudo tower-manage changepassword admin Changing password for user 'admin' Password:パスワードを入力 Password (again):パスワードを再入力 Password changed successfully for user 'admin'
Ansible Tower管理画面の表示
ChromeまたはFirefoxを開き、アドレスを入力し、管理画面へアクセスする。
※SSL証明書をインストールしていないとブラウザーで警告が出るため、検証中は無視する。
ログイン画面で admin と、前の手順で設定した admin のパスワードを入力する。
Ansible Towerのライセンスキーをアップロード後、使用許諾契約書に同意し、送信ボタンを押す。
なお、30日間フル機能をお試しできるエンタープライズキーは以下で取得できます。
Ansible Tower Trial | Ansible.com
(ちなみに、エンタープライズキーが無くても、10ノード以下は無料で使えます)
これで、Ansible Towerにログインできるようになりました。
まとめ
誰でも無料トライアルできちゃう Ansible Towerをはじめちゃいましょう。新しい可能性を見付けて、もっと仕事を楽にしましょう。
今回はインストール編だったので次回に続きます。お楽しみに。
- 作者: 北山晋吾
- 出版社/メーカー: インプレス
- 発売日: 2016/12/15
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 廣川英寿,平初,橋本直哉,森田邦裕,渡辺一宏
- 出版社/メーカー: 翔泳社
- 発売日: 2017/02/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
*1:1年間、毎日スキャンをスケジュールすると仮定した場合
(hosts = 1,000) * (number of scans = 365) * ((average module fact size = 100 kb) * (number of modules = 4) / 3) = 48 GB