Ansible

Vagrant+Ansibleで構成管理

Ansible

構成管理ツールのAnsibleです。今回はCentOS7でシンプルなLAMP環境を作ってみました。

 

インターン生が以前シェルスクリプトでLAMP+WordPress環境を構築する課題を行ってくれましたが、やっていることは同じです。ただ、Ansibleを使うと一度行った処理はスルーしてくれるのと、より環境構築することに最適化されて洗練されています。

 

また、前回行ったVagrantですが、Vagrantで最小限のBOXファイルを共有・配布して、AnsibleのPlaybookで構築して貰うのが具合が良いかと思います。

 

 

Ansible…インフラをコード化するメリット

  • Playbookから構築したものであれば、再現性の保証がある。
    手順書は大切ですが、手動での構築では、手順書の内容と実環境が同一でない場合がある。
  • 同一構成をいくらでも複製できる。
  • 記述がシンプルで簡単で導入しやすい。
  • 一度実行したものはスルーして未実行の操作だけ実行してくれる。便利!冪等性。シェルスクリプトでも判定できないことはないけれど、判定の為のテストコードが多くなり見通しが悪くしんどい。
  • エージェントレス。クライアントに余計なモジュールを入れなくて良い。
  • 当然、パブリッククラウドの構成管理にも使えます。

手順書より信用度が高いし、使いまわしがしやすい。

 

環境

 

参考リンク

 

 

BOXを取得しよう

たくさん用意されています。ちょっと気まぐれにフレームワークで遊んだりする時楽です。

 

VagrantCloud

お弁当からVagrantのBoxファイルを取得することにします。

 

 

Vagrrant initしよう

bento/centos-7.2をダウンロード、vagrantfileの作成

 

 

Vagrantfile

Vagrantfileを下記に書き換えます。

 

こんな風に構成したいと思います。

  • Ansibleサーバ:192.168.10.50
  • WEBサーバ:192.168.10.51
  • DBサーバ:192.168.10.52

 

 

 

Vagrant up

Vagrantfileから仮想サーバを構成します。

 

 

 

AnsibleサーバにAnsibleを導入しよう

 

 

“the python mysqldb module is required”対策

mysql_dbモジュールを使用するのに必要です。

 

 

ここからは、TeratermでhostであるAnsibleサーバにログインし、web, dbホストを操作します。

  • 192.168.10.50:22
  • ユーザ:vagrant
  • パスワード:vagrant

 

 

接続先ホストの設定

 

 

 

 

 

 

公開鍵を渡します。

 

sshでログインできるか確認

 

 

コンフィグの作成

 

疎通確認

 

playbook.ymlの作成

 

 

構文確認

構文の確認をしてくれます。

 

ドライラン

実行はするけれど、反映はさせない便利なテストモードです。

 

 

実行

 

ざざっと問題なくいけば完了です。気持ちいい!!(۶•̀ᴗ•́)۶

 

色々メリットがあるので、インフラのコード化を検討されてはどうでしょうか。

お疲れ様です。

 

 

Ansible
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG