Nedia What's up!

ネディアのエンジニアによるIT技術やサービスの紹介・検証などをお届け!

第3回 サーバー設定ツール「Chef」 (3/3)

3回目となる今回でChefの紹介は最後です。クックブックの紹介とまとめを行います。

クックブックの紹介

LAMP環境の構築用クックブック

yum で Apache、PHP、MySQLのパッケージをインストールするだけの単純なレシピを作ります。
(いわゆるLAMP環境です。)

lampという名前のクックブックを作成します。

レシピを作成します。
(クックブック作成時に自動的に作成されるdefaultというレシピを使います。)

レシピの作成が終わりましたので、Chef-Soloを実行します

nmapコマンドで起動しているサービスを確認してみましょう。

設定したパスワードでMySQLに接続が出来るか確認します

以上でLANP環境のベース構築はできるはずです。

また、あらかじめ作成しておいた 各パッケージの設定ファイル httpd.conf 等を適用させることも可能です。
手順としては以下のようになります

1.httpd.conf.erb という名前の Templateを作成
2.httpd.conf.erb を元に /etc/httpd/conf/httpd.conf を作成

デフォルトの httpd.confを、/home/chefuser01/cookbooks/lamp/templates/httpd.conf.erb という名前でコピーします。

次に、例えば httpd.conf.erb の Servername の部分を、以下のように書き換える。

default.rb に以下を追記。

以上です。

まとめ

いかがでしたでしょうか?
最後に紹介した設定ファイルの適用ができるようになれば細かい設定ができるため、より実際のサーバ構築にも利用できるはずです。

今回は”Chef-Solo 構成”のみの紹介となりますが、まったく同じ構成のサーバを数十台規模で必要になるようなケースでなければ”Chef-Solo 構成”で十分ではないかと思います。

レシピの作成にはそれなりの時間が必要です。
そのため、同一環境のサーバが4、5台程度。というケースであれば、Chefは有効ではないと言えます。
しかし4、5台であってもそれが定期的に変更があるサーバであればどうでしょうか?
定期的に変更がある環境を全て同じに保ちたい。ということであれば例え4、5台であってもChefの利用が有効なケースと言えるでしょう。

————————————————————————————————
・レシピの調整に10分 + 各サーバへの適用(5台 x Chefの適用に5分) だとして合計 35分
・各サーバ毎の作業(5台 x 作業時間10分) だとして合計 50分
————————————————————————————————

こうしてみると十分効果はあるのが分かると思います。

また、Chefの利用には同一環境の構築という部分に目を奪われがちですが、クックブックはなるべく各環境で専用の物を用意するのではなく、できるだけ汎用的に作っておいて細かい調整は各サーバ毎に行う。という使い方もそれはそれで有効な使い方です。

まずは、難しく考えずにできるところからやってみることで、Chefの有効な使い道が見えてくるかもしれませんね。

それではまた。