こんにちは! JQです。
前回は『SQS編~Simple Queue Service パート④~』と題して、AWS SDK for RubyでSQSを試してみました。
今回は『OSS編~Ansible でサーバ構成管理 パート①~』と題して、Ansibleを試してみたいと思います。
※今回はAmazonLinuxを利用しています。
Ansibleとは
Puthonで作られたサーバの構成管理・自動化するツールになります。
Ansibleではエージェントは必要なく、SSHを利用してデプロイを行います。
インストール
1. インストール
先ずは実行側にAnsibleをインストールしてみます。
1 2 |
$ sudo easy_install pip $ 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 2 |
$ vim ~/ ansible_hosts ec2-54-80-166-18.compute-1.amazonaws.com |
1 |
$ export ANSIBLE_HOSTS=~/ansible_hosts |
3. 動作確認
pingモジュールで確認してみます。
1 2 3 4 5 6 7 |
$ ansible ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com -m ping /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. _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com | success >> { "changed": false, "ping": "pong" } |
成功しました。
※libgmpを5以上にしろと言われますが、動作します。
最後に任意のコマンドを実行してみます。
1 2 3 4 |
$ ansible ec2-54-80-166-18.compute-1.amazonaws.com -a 'uname -a' /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: ec2-54-80-166-18.compute-1.amazonaws.com | success | rc=0 >> Linux 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を試してみたいと思います。
お楽しみに!!!