こんにちは! JQです。
前回は『 SQS編~Simple Queue Service パート④~ 』と題して、AWS SDK for RubyでSQSを試してみました。
今回は『OSS編~Ansible でサーバ構成管理 パート①~』と題して、Ansibleを試してみたいと思います。
※今回はAmazonLinuxを利用しています。
Ansibleとは
Puthonで作られたサーバの構成管理・自動化するツールになります。
Ansibleではエージェントは必要なく、SSHを利用してデプロイを行います。
インストール
1. インストール
先ずは実行側にAnsibleをインストールしてみます。
1$ sudo easy_install pip2$ sudo pip install ansibleまた、EPELからyumでインストールも可能です。
1$ sudo yum install ansible環境設定
2. SSH設定
実行側から対象側にSSH出来るようにSSH設定を行います。
キーの作成を行います。
1$ sudo ssh-keygen -t rsa作成された公開鍵を対象側に登録します。
1$ vim .ssh/authorized_keys実行側から接続確認してみます。
1$ ssh ec2-user@ec2-xx-xx-xxx-xx.compute-1.amazonaws.com続いてホスト情報を環境変数の ANSIBLE_HOSTS に登録します。
[]でグループ名を作成しています。
1$ vim ~/ ansible_hosts2ec2-54-80-166-18.compute-1.amazonaws.com1$ export ANSIBLE_HOSTS=~/ansible_hosts3. 動作確認
pingモジュールで確認してみます。
1$ ansible ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com -m ping2/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.3 _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)4ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com | success >> {5 "changed": false,6 "ping": "pong"7}成功しました。
※libgmpを5以上にしろと言われますが、動作します。
最後に任意のコマンドを実行してみます。
1$ ansible ec2-54-80-166-18.compute-1.amazonaws.com -a 'uname -a'2/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: 3ec2-54-80-166-18.compute-1.amazonaws.com | success | rc=0 >>45Linux ip-10-185-3-249 3.4.73-64.112.amzn1.x86_64 #1 SMP Tue Dec 10 01:50:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux成功しました!
いかがでしたでしょうか?
次回は『OSS編~Ansibleでサーバ構成管理 パート②~』と題して、AnsibleでPlaybookを試してみたいと思います。
お楽しみに!!!