第2回 Ansibleを使って構築してみよう(前編)(2/2)

技術特集

第2回 Ansibleを使って構築してみよう(前編)

Ansible

Ansibleの実行

「ansible-playbook」コマンドを実行して環境構築を行います。
本コマンドには「構文確認」、「Dry Run」を行うためのオプションも用意されていますので、インストール前に確認を行うようにします。
実行時にパスワードを手入力するオプションを使う事もできますが、数が多い場合は現実的ではないので、事前に鍵認証の設定等行っておくことを推奨します。

  オプション  
構文確認 --syntax-check スペースやインデントの漏れ等の誤りを確認する事が出来ます。
Playbookに関しての確認となるためインベントリーファイルに誤りがあっても確認されません。
DryRun --check 実際に操作対象の機器にログインして実行可能かどうかの確認を行います。一見動いたように見えますが実際に書き込んだりはしません。
ただし、ファイルを落としてきて展開するといった内容の場合、実際にファイルをローカルに持ってくることが無いので必ず失敗します。

構文は以下の通りとなります。

ansible-playbook –i インベントリーファイル名 トップレベルのPlaybook名 オプション

Ansibleの実行

構文確認やDryRunのオプションなしで実行すると、実際の構築処理が行われます。
各Playbookの – nameの部分に書いた名称とその成否の情報が画面に表示されます。OkやChangedのみとなっていれば処理は成功しています。
Unreachable(ネットワークの問題等で操作対象に接続できなかった)やfailed(その他失敗)がある場合は失敗しています。

今回のApache例の場合、以下の通り、コマンドを実行する事になります。

# ansible-playbook -i hosts site.yml –syntax-check 構文確認
# ansible-playbook -i hosts site.yml –check     DryRun
# ansible-playbook -i hosts site.yml         実行

Ansibleによる処理の特徴

AnsibleはPlaybookに記載されている状態と実際の操作対象機器の状態を比べて、差異があった場合にPlaybookに合わせるように処理を行います。このため、2回目実行するとOKだけになっており、実際の処理は行われません。
1回目の実行時にPlaybookの記載と操作対象機器の状態が一致しているからです。これをAnsibleのべき等性と呼んでいます。

Ansibleによる処理の特徴

おわりに

今回はAnsibleを使った、一番基本となるPlaybookの書き方、及び実行方法に関して紹介しました。
実際にLinuxのコマンドを駆使してインストールすることに比べて簡単であることがお分かりいただけましたか?

次回は、一度作ったPlaybookを再利用するための方法に関して紹介いたします。