Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
17
Help us understand the problem. What is going on with this article?
@tjinjin

awspecを気軽に使ってみる

More than 5 years have passed since last update.

About

terraformで作った環境のテストができないなと思っていたところ、awsの構成をチェックできるawspecというツールがあるらしいので、試しに使ってみた。

準備

  • gemをインストールする
Gemfile
gem 'awspec'
$ bundle install

元々aws-sdkのバージョン1が入っていた環境だったので、エラーになりました。aws-sdk のバージョン2を使っているようです。

  • 初期設定する
$ mkdir awspec
$ cd awspec
$ bundle exec awspec init
 + #{dir}/
 + spec/spec_helper.rb
 + Rakefile
 + spec/.gitignore

direnvで環境変数を登録します。

$ cat .envrc
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxxxx
export AWS_DEFAULT_REGION=ap-northeast-1

使ってみる

既存環境のテストを作る

$ bundle exec awspec generate ec2 xxxxxxxx
describe ec2('test') do
  it { should exist }
  it { should be_stopped }
  its(:instance_id) { should eq 'xxx' }
  its(:image_id) { should eq 'xxx' }
  its(:private_dns_name) { should eq 'xxx' }
  its(:public_dns_name) { should eq '' }
  its(:instance_type) { should eq 't2.micro' }
  its(:private_ip_address) { should eq 'xxxx' }
  it { should have_security_group('web') }
  it { should belong_to_vpc('xxx') }
  it { should belong_to_subnet('') }
end

$ bundle exec awspec generate ec2 xxxxxxxxx >> spec/ec2_spec.rb

※ xxxxxxxにはVPCを指定します

設定されてない部分は空欄になりました。自動でここまで出来ると楽です。

テストを動かしてみる

そのままだと動かないので、spec/ec2_spec.rbrequire 'awspec'を追記しておきます。

$ bundle exec rake spec
...
Finished in 2.17 seconds (files took 3.66 seconds to load)
94 examples, 8 failures

結構気軽にできるので、良さそうな気がしますね!spec_helper.rbとかはもっと改造してもいいかも。awspec initだと.rspecが作成されなくて色が味気なかったので、後で追加しました。 今はすでに追加されてます。

17
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tjinjin
平和に生きたいインフラエンジニア

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
17
Help us understand the problem. What is going on with this article?