Chef-solo編~パート①~

Pocket

こんにちは! JQです。

前回は『Amazon Redshift編~Unloadパート③~』ということで、S3に出力するフォーマットを変更してみました。

今回は『chef-solo編~パート①~』と題して、EC2でchef-soloを構築してみたいと思います。

Chefとは


「Chef」はシステムの設定や運用作業を自動化してくれる構成管理ツールです。
Rubyで開発されており、米Opscodeがオープンソース(有償版もあり)として公開しております。
AWSでは「OpsWorks」がChefベースで動作しております。

レシピというインストールや設定の内容を記述したソースコードを基に各サーバに適用してくれます。
さらに、ユーザのコミュニティが活発で、さまざまレシピがネット上で公開されております。

基本構成

今回、触ってみる「chef-solo」はChef サーバがなくてもノードのローカルで実行可能なChef のスタンドアロン版です。

用語の説明


Chefでは独特な用語が使用されており、始める前に基本部分の用語を説明してみます。
詳しく知りたい方は公式サイトのWikiをご参照下さい。

・Chef-server
Cookbook等インフラの設定データを管理する保存場所

・Chef-client
Chef-serverと通信する為のインターフェース

・Node
Chef-clientを経由して設定が行われる管理対象サーバのこと

・Workstation
Cookbook等インフラの設定データを編集/修正する為のホスト
※一般的にはローカル環境が多い。

・Role
Nodeなどをグループ分けする為に設定される属性

・Repository
Cookbooksやnodes等、Chefの実行に必要な情報をまとめておく場所

・Cookbook
インフラの設定に必要なrecipe、resource、role、template、metadata等を集めた物

・Recipe
実行するresourceを定義した物

・Resource
サーバに設定する内容を記述した物
パッケージ管理、デーモン管理、設定ファイル管理、コマンド実行などが用意されている。

・Template
Resource に記述された設定ファイルを生成するテンプレートファイルのこと

・Metadata
Cookbookの依存性や説明等のデータ

・Knife
Cookbook等を操作するためのツール

それでは実際に行なって行きましょう!

chef-soloのインストール


動作環境のインストール
1. Chefのインストールに必要なモジュール等をインストールします。

Chefのインストール
2. gemコマンドを実行してインストールします。

Knifeコマンドの初期設定
3. 今回は検証の為、デフォルト値で行なっていきます。

成功すると~/.chef/knife.rbという設定ファイルが作成されます。

knife-soloのインストール
4. chef-soloで利用するKnifeのプラグインであるknife-soloをインストールします。

これでchef-soloを利用する環境が整いました!
いかがでしたでしょうか?

次回は『chef-solo編~パート②~』ということで、実際にcookbookを作成してみます。
お楽しみに!

——————————————————————————————————
ナレコムクラウドのFacebookに『いいね!』をクリックして頂くと
最新のお役立ちレシピが配信されます★


┏━━━━━━━━━━━━━┓

┃ナレコムクラウド Facebook┃
┗━━━━━━━━━━━━━┛
——————————————————————————————————