遅ればせながら、CloudFormation始めました。手始めに、既存VPC・サブネット内にEC2を立てる、というのをやってみました。
CloudFormationのテンプレートです
巷には、結構長いテンプレートがあふれているけれど、最低限、以下のテンプレートを投入すればEC2が立つので、ここから拡張していくのが良いと思います。
方針
- キーペア、サブネットID、セキュリティグループはスタック作成時にパラメータとして指定
- EC2作成にあたっての最低限の項目を指定
- とりあえずJSONで作成してみる(カッコの対応とかを考えると、yamlの方が良いかもと思った)
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "My basic EC2 template", "Parameters": { "KeyName": { "Type": "String" }, "SubnetId": { "Type": "String" }, "SGIds": { "Type": "String" } }, "Resources": { "MyEC2instance": { "Type": "AWS::EC2::Instance", "Properties": { "KeyName": { "Ref": "KeyName" }, "ImageId": "ami-0ff21806645c5e492", "InstanceType": "t2.micro", "SubnetId": { "Ref": "SubnetId" }, "SecurityGroupIds": [ { "Ref": "SGIds" } ] } } } }