Post on 05-Jan-2017
kumogata-template
Codenize Meetup #12016/12/08
Naoya Nakazawa @n0ts
• Naoya Nakazawa @n0ts
• (Inframents, Inc.)
• re:Invent 2016
• Codenize Tools
• kumogata-template AWS CloudFormation
• kumogata
• Roadworker (Amazon Route 53)
• Barkdog (Datadog Monitor)
• Boxen (macOS)
• dashdog Datgadog Dashboard ...
Kumogata 😇
Kumogata 🤔
AWSTemplateFormatVersion "2010-09-09"
Description (<<-EOS).undent Kumogata Sample Template You can use Here document! EOS
Parameters do InstanceType do Default "t1.micro" Description "Instance Type" Type "String" end end
Resources do myEC2Instance do Type "AWS::EC2::Instance" Properties do ImageId "ami-XXXXXXXX" InstanceType { Ref "InstanceType" } KeyName "your_key_name"
UserData do Fn__Base64 (<<-EOS).undent #!/bin/bash yum install -y httpd service httpd start EOS end end end end
Outputs do AZ do Value do Fn__GetAtt "myEC2Instance", "AvailabilityZone" end end end
😀
😊
myEC2Instance do Type "AWS::EC2::Instance" Properties do ImageId "ami-XXXXXXXX" InstanceType { Ref "InstanceType" } KeyName "your_key_name"
UserData do Fn__Base64 (<<-EOS).undent #!/bin/bash yum install -y httpd service httpd start EOS end end end
😲
🤔
😎
Kumogata-template 🤗🤗🤗🤗
https://github.com/n0ts/kumogata-template
😆
Kumogata-template
• Kumogata Ruby 😇
• Kumogata 100% 👍
• Gem *
• https://rubygems.org/gems/kumogata-template
✍ ✍
$ gem install kumogata-template
$ kumogata-template init codenize Saved template to codenize.rb
$cat codezine.rb AWSTemplateFormatVersion "2010-09-09"
Description (<<-EOS).undent Kumogata Template - codenize stack EOS
Parameters do _parameter "name", default: "codenize", description: "name of this stack" _parameter "service", default: "service", description: "codenize service" _parameter "version", default: "1.0.0", description: "codenize version" end
Mappings do end
Resources do _s3_bucket "codenize" end
Outputs do _output_s3 "codenize" end
$ kumogata-template [create|update] codezine.rb codezine ※kumogata
Kumogata
myEC2Instance do Type "AWS::EC2::Instance" Properties do ImageId "ami-XXXXXXXX" InstanceType { Ref "InstanceType" } KeyName "your_key_name"
UserData do Fn__Base64 (<<-EOS).undent #!/bin/bash yum install -y httpd service httpd start EOS end end end
Kumogata-template
user_data =<<EOS yum install -y httpd service httpd start EOS
_ec2_instance "my", image_id: "ami-XXXXXXXX", ref_instance_type: "instance_type", key_name: "your_key_name", user_data: user_data
🤗
• : 50
•
• 1 Ruby :
100
• Kumogata2 😤
•
...
• API Gateway 😊
Kumogata • CloudFormation
• JSON 1,500
...
• CloudFormation OUTPUT 60
• T CloudFormation AWS
API
-
Thx!