“ChefがキライでもOpsWorksはキライにならないでくださいっ!!” カスタムAMIとAWS OpsWorksの使い方AWS OpsWorksアプリケーション運用の勘所(3)(1/3 ページ)

「OpsWorksってあれだろ? Chefでレシピを書くんだろ? 」と言ってみたけど、本当は書いたことがない人が一番幸せになれる情報。Chefがいなくてもオイシイ仕組みは作れるようになりそう!

» 2013年08月06日 17時38分 公開
[あけり@IT]

 前回の記事から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やリージョンも補完されます。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。