メインコンテンツまでスキップ

VPC の作成

template.yamlファイルを作成します。

まずはバージョンと概要を記述します。 2023年8月時点でバージョンは2010-09-09固定です。

template.yaml
AWSTemplateFormatVersion: "2010-09-09"

Description: Scalable website

続いてResourcesセクションにVPCの定義を行います。

リソースのフォーマットはこのようになります。

Resources:
Logical ID:
Type: Resource type
Properties:
Set of properties
  • Logical ID(論理ID)はテンプレート内で一意である必要があります。論理IDなので物理IDは自動で生成されますが、明示的に指定することも可能です。
  • Type(リソースタイプ)は、定義するリソースのタイプを指定します。VPCの場合はAWS::EC2::VPCとなります。
  • Properties(リソースプロパティ)はリソースに対して指定するオプション項目です。必須のものと任意のものがあります。

各リソースに指定できるオプション項目はドキュメントに記載されています。
VPC(AWS::EC2::VPC)のドキュメントはこちらです。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html

指定可能なオプションがSyntaxセクションに記載されており、各オプションの詳細がPropertiesセクションに記載されています。
項目が必須かどうかも記載されています。また、未指定の場合のデフォルト動作などについても記載があります。

image.png

image.png

VPCリソースについてはCidrBlockIpv4IpamPoolIdのいづれかの指定が必要となります。
CidrBlockのみを指定したテンプレートはこのようになります。

template.yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: Scalable website

Resources:

###############
# VPC #
###############
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
テンプレートファイル