Twitter Facebook github

Posts Tagged with “aws-cli”

kitchen-ec2でChefレシピをEC2で実行する

お久しぶりです。
最近またAWSのサービスを一通り触ってみていて、プロビジョニングまでAWSマネージドでやってくれるOpsWorksを本番環境で使ってみたいと思い、Chefに取り組んでいます。

Chefにはレシピをローカルのvagrantで簡単に実行・テストできる test-kitchen というgemのツールがあるのですが、
これを初めて使ってみたところ非常に使い勝手がよく、当然ながらEC2でも試したいという気になりました。

今回は test-kitchen からEC2を扱える、kitchen-ec2を使ってみます。

環境

  • 実行元は手元の MBP macOS High Sierra 10.13.5
  • ruby 2.3.3 (rbenv) gem 2.7.2
  • Chef DK 3.0.36 をインストール
  • Test Kitchen version 1.21.2
  • aws-cli/1.11.63 Python/3.5.2

test-kitchen は単体でgemからインストールできますが、Chef DKに付いてくるので真っ新な環境ではこっちを入れた方がよいと思います。

Chef DK
https://downloads.chef.io/chefdk

AWS CLI で認証情報を設定

kitchen-ec2では、AWSの認証情報(APIキーとトークン)は環境変数か、aws-cliの認証情報から読み込むことになります。
今回は既にインストール済みのaws-cliを使っていますが、必要に応じて先に aws configure を行ってAPIキーを登録してください。

参考
AWS CLI の設定
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-started.html

インストールと準備

ChefDKで入れたtest-kitchenにはkitchen-ec2は付いてこないので、個別にgemで入れます。

適当なディレクトリでmetadata.rbを作り、それを元にinitし、
サンプルとして、適当なディレクトリを作成するレシピを用意します。

Read More »