Upgrade to Pro — share decks privately, control downloads, hide ads and more …

awspec

 awspec

JAWS Festa Kyushu 2015 懇親会LT

Ken’ichiro Oyama

November 03, 2015
Tweet

More Decks by Ken’ichiro Oyama

Other Decks in Technology

Transcript

  1. awspec •  http://github.com/k1LoW/awspec •  awsspecでもaws-‐‑‒specでもないです! •  AWSリソースの構成テストツール •  構築したAWSリソースの環境(VPCやEC2やRDS  

    Parameter  Groupや)が意図したとおりにできているか をテストできるツール •  現在GitHubスター  95(あと5でawesome-‐‑‒awsに掲載 できる!!) 9
  2. sample  (EC2) describe ec2('my-ec2-tag-name') do it { should be_running }

    its(:instance_id) { should eq 'i-ec12345a' } its(:instance_type) { should eq ’t2.small' } its(:public_ip_address) { should eq '123.0.456.789' } it { should have_security_group('my-sg-name') } it { should belong_to_vpc('my-vpc') } it { should belong_to_subnet('subnet-1234a567') } it { should have_eip('123.0.456.789') } it { should be_disabled_api_termination } end 10
  3. sample  (Route53) describe route53_hosted_zone('example.com.') do it { should exist }

    its(:resource_record_set_count) { should eq 5 } it { should have_record_set('example.com.').a('123.456.7.890') } it { should have_record_set('example.com.').mx('10 mail.example.com') } it { should have_record_set('mail.example.com.').a('123.456.7.890').ttl(3600) } ns = 'ns-123.awsdns-45.net. ns-6789.awsdns-01.org. ns-2345.awsdns-67.co.uk. ns-890.awsdns-12.com.' it { should have_record_set('example.com.').ns(ns) } it { should have_record_set('s3.example.com.').alias('s3-website-us- east-1.amazonaws.com.', 'Z2ABCDEFGHIJKL') } end 11
  4. Resource  Types  (v.0.18.2) •  ec2 •  rds •  rds_̲db_̲parameter_̲group • 

    security_̲group •  vpc •  s3 •  route53_̲hosted_̲zone •  auto_̲scaling_̲group •  subnet •  route_̲table •  ebs •  elb •  lambda •  iam_̲user •  iam_̲group •  iam_̲role •  iam_̲policy •  elasticache •  elasticache_̲cache_̲parameter _̲group •  cloudwatch_̲alarm •  ses_̲identity 12
  5. $  awspec  generate •  現状のAWSリソース構成からテストケース(spec)を⽣生 成するコマンド •  cloudwatch_̲alarm  /  ec2

     /  elb  /  iam_̲policy  /  rds  /   route53_̲hosted_̲zone  /  security_̲group  /  vpc •  ⾝身もフタもない機能だけどかなり便便利利 •  現状のリソース構成をテストケースとしてリポジトリに コミットできる •  AWSリソース構成変更更時のTDDのスタートに最適 14 $ awspec generate ec2 [vpc_id]
  6. 16