OSS編~Ansibleでサーバ構成管理 パート①~

こんにちは! 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.com
1$ export ANSIBLE_HOSTS=~/ansible_hosts

3. 動作確認

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を試してみたいと思います。

お楽しみに!!!

この記事を書いた人

aws-recipe-user