ルートテーブルの作成
続いてルートテーブルです。
マネジメントコンソールで作成する場合と合わせ、
- パブリックサブネット用のルート 1つ
- プライベートサブネット用のルート 2つ
を作成します。
定義
Type: AWS::EC2::RouteTable
Properties:
Tags:
- Tag
VpcId: String
どこのVPCに作成するかを指定します。
定義
Type: AWS::EC2::Route
Properties:
CarrierGatewayId: String
DestinationCidrBlock: String
DestinationIpv6CidrBlock: String
EgressOnlyInternetGatewayId: String
GatewayId: String
InstanceId: String
LocalGatewayId: String
NatGatewayId: String
NetworkInterfaceId: String
RouteTableId: String
TransitGatewayId: String
VpcEndpointId: String
VpcPeeringConnectionId: String
マネジメントコンソールのルートの画面を参考に指定します。
インターネットゲートウェイ向けのルートを指定します。
注記
デフォルトルート(10.0.0.0/16
のlocal
向けのルート)は未指定で問題ありません。
定義
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: String
SubnetId: String
ルートテーブルをどのサブネットに紐付けるかを指定します。
パブリックサブネット用のルートテーブルの指定は以下のとおりです。
AWS::EC2::SubnetRouteTableAssociation
はパブリックサブネット-1a
とパブリックサブネット-1c
の2つの設定を行います。
RouteTablePublic:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
RoutePublic1:
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref RouteTablePublic
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
AssociateRouteTablePublic1:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: !Ref RouteTablePublic
SubnetId: !Ref PublicSubnet1
AssociateRouteTablePublic2:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: !Ref RouteTablePublic
SubnetId: !Ref PublicSubnet2
課題
プライベートサブネット用のルートテーブルを作成してください。
回答
以上の手順でVPCが完成です。
テンプレートファイル