こんにちは! 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のインストールに必要なモジュール等をインストールします。
1 |
# yum -y install ruby ruby-devel ruby-ri ruby-rdoc ruby-shadow gcc gcc-c++ automake autoconf make curl dmidecode rubygems |
Chefのインストール
2. gemコマンドを実行してインストールします。
1 |
# gem install chef --no-ri --no-rdoc |
Knifeコマンドの初期設定
3. 今回は検証の為、デフォルト値で行なっていきます。
1 |
# knife configure |
成功すると~/.chef/knife.rbという設定ファイルが作成されます。
knife-soloのインストール
4. chef-soloで利用するKnifeのプラグインであるknife-soloをインストールします。
1 |
# gem install knife-solo |
これでchef-soloを利用する環境が整いました!
いかがでしたでしょうか?
次回は『chef-solo編~パート②~』ということで、実際にcookbookを作成してみます。
お楽しみに!
——————————————————————————————————
ナレコムクラウドのFacebookに『いいね!』をクリックして頂くと
最新のお役立ちレシピが配信されます★
┏━━━━━━━━━━━━━┓
┃ナレコムクラウド Facebook┃
┗━━━━━━━━━━━━━┛
——————————————————————————————————