Chefを使用してEC2インスタンスを操作するチュートリアル:その1

この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
こんにちはインフラエンジニアの柳瀬です。 サーバシステムの管理や運用するツールとして、ChefやPuppetは様々なブログで紹介されているので、ご存知の方は多いと思いますが、先日リリースされたChef0.10.0からknife-ec2というプラグインを使用してEC2インスタンスを操作するようになったようです。
※Amazon EC2やRackspace、Openstackなどの各クラウド固有の機能がChef本体から切り離されたようです。 これを機に数回に分けてknife-ec2を使用するまでの手順を簡単にご紹介したいと思います。
今回はOpscodeへのユーザー登録とChefのインストールまでをご紹介します。 Chefについてはこちらのページでどんな事が出来るか説明がされておりますが、あまりご存じない方もいらっしゃると思いますので、必要となる用語を簡単にご説明したいと思います。

Opscode社

Chefの開発元です

■Chefサーバ

Chefクライアントからアクセスされ、ノードに適用されるレシピなど様々なものが保管されます(今回はOpscode社のSaaSが該当)

■Chefクライアント

Chefサーバにアクセスするツール群の総称です(knifeコマンド、ノード上で動作するchef-client、WebUIなども該当)

■ノード

Chefサーバから見た管理対象マシンです(今回はEC2インスタンスが該当)になります

■レシピ

Chefの基本的な設定であり、各ノードに適用されるシステムのあるべき姿を記述します。

■Knife

Chefサーバに登録される情報などを変更したりするCUIのコマンドラインで使うツールです ※ノードはChefクライアントにも含まれる為、ややこしいので注意して下さい。

【システム構成】

今回のテスト環境のネットワーク構成図は以下のようなシンプルなものとなっています。 Chefの動作を確認するにはChef-soloを使用する方法もありますが、最終的にはサーバ・クライアント構成で運用する事になると思いますので、OpscodeのSaaSを使い、システム構成のイメージがつきやすくしております。
  • Chefサーバ(Opscode社のSaaS)
  • Chefクライアント(ノートPC、EC2インスタンス)
  • ノード(EC2インスタンス)
ネットワーク構成図

1.OpscodeのSaaSに登録

それでは最初にOpscode社が提供するChefのSaaSに登録する手順です。 こちらのページの"Free Trial"から無料版に登録してみましょう。 いくつかの質問に回答し、受信したメールのURLからサインアップを完了させて下さい。

2.Organazationの作成と必要ファイルのダウンロード

サインアップが完了したら画面中央のExperience with Chef?のリンクにアクセスします。 名前を決定してしてFreeプランのOrganazationを作成します。 作成が完了すると"validation key"とKnife configuration file"を忘れずにダウンロードして下さい。 また、ユーザープロファイルページからprivate_keyを作成してダウンロードしておきます。

3.ノートPCにChefをインストール

ここからは自分のマシンのセットアップです。 以下の手順でChefを使用するのに必要なパッケージとChef本体をインストールしてます。

4.クライアントの環境設定

Chefのインストールが完了したら、リポジトリのコピーと手順2でダウンロードしたファイルを設置します。

5.Opscodeへの接続確認

最後にOpscodeへ正常に接続出来るかテストしてみます。自分自身がクライアントリストに表示されたらOKです。

【次回予告】

knife-ec2を使ってインスタンスを起動してみましょう。

【参考URL】

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

CATEGORY :
TAG :

COMMENT ON FACEBOOK