BLOG2011/05/16Chefでサーバのセットアップ・管理作業を楽チンにしよう~選定編~>>hiroshiの母でございます。BLOGは僕らでも利用できるレベルのネタが多いので助かってます!」と言われて今まで感じたことのないキモチになったhiroshiです。今回はChefのお話です。去年の10月くらいの話だったんですが、「あっちのwebサーバとこっちのwebサーバ、設定微妙に違くね?」みたいなことが発覚し(いや、前から知ってたけど)、それ自体はその時点で大きな問題ではなかったんですが、「このままだといつかなんかやるよね」と危機感を覚え、システムの構成管理ができるようなツール探しをしました。Chefとは上記ような問題点が解決できるツールで、パッケージやミドルウェア(って同じ?)を定義した状態に保ってくれるツールです。「定義した状態に保つ」ということは、定義したソフト等が入っていなかったらインストールしてくれたりするのです!!オープンソースなものだと他にはPuppetというのがあります。Puppetの存在は存じていたので「じゃあ、噂のPuppetがいけそうか調べてみるかー」といった感じでミツバチの銀の弾丸tommyが調査担当になりました。鉄砲作成を依頼するとキャノン砲ができあがるのがtommyさんです。Puppetを調べてもらったらChefを見つけてきてPuppetと比較してくれました。共通点サーバクライアント構成。構成情報をサーバマシンで一括管理して、各クライアントマシンに配信する。マシンに役割(WebサーバとかDBサーバとか)を設定して、その役割に必要なアプリのインストールとか設定ファイルなどをひとまとめにして管理できる。マシンごとの設定の差異などは変数として管理できる。設定ファイルはテンプレートから生成できる。マシンごとに一部の値を変えるとか。LDAP上で各マシンの役割を定義できるみたい。Subversion/Git連携(詳細はまだよく調べてない)。いる部分もあるかもだし、当時まとめたものなのでもう変わっているところもあるかもです。Chefにしたか機能的にはそれほど差はないようでした。決定打となったのはtommy「ぶっちゃけChefの方が設定書きやすそうなのでだんぜん好印象ですねー。」というコメントでしょうか。その当時の時点で管理対象サーバは400台を超えていたし、稼働しているミドルウェア等もたくさんありました。設定が書きやすいという点は重要なところです。最初にChefの調査導入というフロンティア役を担ったtommyが「設定書きやすそう」っていうんだからChefだね!という感じで決めました。いうわけで今回はChef導入のきっかけのお話でした。次回以降は、Chefの構造や実際の設定例などについて書きたいと思います。