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

インターネットゲートウェイの作成

image.png

VPC作成ウィザードでは自動でやってくれているのですが、手順としては2つの手順が必要です。

  • インターネットゲートウェイの作成
  • VPCへのアタッチ

参考:インターネットゲートウェイの作成とアタッチ

それぞれのCloudFormationの定義は以下のとおりです。

定義
Type: AWS::EC2::InternetGateway
Properties:
Tags:
- Tag

必須パラメーターはありません。

定義
Type: AWS::EC2::VPCGatewayAttachment
Properties:
InternetGatewayId: String
VpcId: String
VpnGatewayId: String

VpcIdが必須で、InternetGatewayIdVpnGatewayIdのいずれかが必要です。

今回はインターネットゲートウェイをアタッチするので、VpcIdInternetGatewayIdを指定します。

課題

インターネットゲートウェイを作成してVPCにアタッチしてください。

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

Mappings:
RegionMap:
us-east-1:
zone1: us-east-1a
zone2: us-east-1b
ap-northeast-1:
zone1: ap-northeast-1a
zone2: ap-northeast-1c

Resources:

###############
# VPC #
###############
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: handson-user1
PublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.0.0/24
AvailabilityZone: !FindInMap [RegionMap, !Ref "AWS::Region", zone1]
Tags:
- Key: Name
Value: パブリックサブネット-1a
PublicSubnet2:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: !FindInMap [RegionMap, !Ref "AWS::Region", zone2]
Tags:
- Key: Name
Value: パブリックサブネット-1c
PrivateSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.2.0/24
AvailabilityZone: !FindInMap [RegionMap, !Ref "AWS::Region", zone1]
Tags:
- Key: Name
Value: プライベートサブネット-1a
PrivateSubnet2:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.3.0/24
AvailabilityZone: !FindInMap [RegionMap, !Ref "AWS::Region", zone2]
Tags:
- Key: Name
Value: プライベートサブネット-1c
InternetGateway:
Type: AWS::EC2::InternetGateway
InternetGatewayAttachment:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
VpcId: !Ref VPC
InternetGatewayId: !Ref InternetGateway
テンプレートファイル