“ChefがキライでもOpsWorksはキライにならないでくださいっ!!” カスタムAMIとAWS OpsWorksの使い方:AWS OpsWorksアプリケーション運用の勘所(3)(1/3 ページ)
「OpsWorksってあれだろ? Chefでレシピを書くんだろ? 」と言ってみたけど、本当は書いたことがない人が一番幸せになれる情報。Chefがいなくてもオイシイ仕組みは作れるようになりそう!
前回の記事から2カ月近くあいてしまったのですが、その間にOpsWorksは大きくアップデートを遂げました。前回の記事では、
次回は、「こんなトラブルのときはOpsWorksならこうするねっ」という情報をまとめていきます
と書いていましたが、今回はアップデートの内容が大きなインパクトを持っていることから、変更点の紹介と、この変更点を生かしたコマンドライン操作の方法を紹介していきます。
OpsWorksのスゴいアップデート
まずはOpsWorksのアップデートを整理しておきましょう。大きな変更は下記2点です。
- Chefが11にアップデート
- カスタムAMIが利用可能になった
この2つのアップデートはOpsWorksの使い勝手が大幅に変わるほどの内容です。
Chefのバージョンが0.9から11に上がったことによる変更点はopscodeのリリース情報を参照してみてください。
カスタムAMIが利用可能になったことについては、AWS OpsWorksとしてのアップデートなので少し掘り下げて紹介しておきましょう。このカスタムAMIが利用できるまでは、OpsWorksでは全ての構成をレシピとして各自で記述する必要がありました。また、その中で選べるAMIはAmazon LinuxとUbuntu 12.04の2種類しか選択肢がなかったのです。現在では、OpsWorksでインスタンスとして使えるAMIであれば、オリジナルで作成しても対応するようになっています。
この恩恵として、インスタンスの起動時に構成する作業を減らし、起動を高速化できるようになります。頻繁に変更のある部分とそうでないと部分とを、カスタムAMIとレシピを使い分けながら効率良く運用できるようになりました。
まずはコマンドラインツールのインストール
というわけで、前置きはこれくらいにしておいて、今日の本編、コマンドラインツールからのOpsWorksをお話していきます。ツール導入後は前回までのものとは別に、新しくスタックを作ります。
導入・アップデート
早速、コマンドラインツールを導入していきましょう。下記コマンド1つで導入できます。
$ pip install awscli
導入後のアップデートは、次のコマンドで行います。
$ pip install --upgrade awscli
なお、easy_installを使う場合のインストールコマンドは次の通りです。
$ easy_install awscli
configファイルの用意
インストールが済んだらconfigファイルを用意していきます。下記の内容を記述したファイルを/.awscli/configとして用意します。
ここでは[default]の設定と、[profile projA][profile projB]というアカウントを指定した個別のプロファイルを用意しています。
[default] aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXXXXXX aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [profile projA] aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXXXXXX aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx region = us-east-1 [profile projB] aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXXXXXX aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx region = ap-northeast-1
設定ファイルを作ったら、次のコマンドでAWS_CONFIG_FILEとしてファイルのパスをexportするよう、.profileなどに追加しておきましょう。
$ echo "export AWS_CONFIG_FILE=~/.awscli/config" >> ~/.profile
複数プロファイルを使い分ける
コマンドラインツールを使う際、何も指定しないと[default]の部分が使われますが、次のように--profileを指定することで、簡単に複数アカウントを使えるようになります。
$ aws --profile projA
リージョンの指定
regionについても、同様に指定できます。
$ aws --region ap-northeast-1
ただし、上記のように都度指定しても構いませんが、標準で使うregionについてはconfigファイル側で指定しておと便利です。
オプション補完
ついでに
$ complete -C aws_completer aws
としておくと、Tabキーでオプションなどが補完できるようになるので、すごく便利です。profileやリージョンも補完されます。
Copyright © ITmedia, Inc. All Rights Reserved.