管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

CloudFormationで既存VPC・サブネット内にEC2を立てる

遅ればせながら、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"
          }
        ]
      }
    }
  }
}

参考にしました