Я пытаюсь создать CloudFormation Stack, который будет создавать VPC, подсети, IGW, таблицы маршрутов, NAT-шлюз, связывать подсети с RT и т. Д.
Мой стек не работает, когда NAT-шлюз пытается создать правило для частногоТаблица маршрутов для создания правила маршрута для NAT GW.
# Punblic Elastic IP for NAT Gateway in Zone 2A
eipSubnetA:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
# NAT Gateway in Public Subnet 2A
natSubnetA:
Type: AWS::EC2::NatGateway
Properties:
AllocationId:
Fn::GetAtt: [eipSubnetA, AllocationId]
SubnetId:
Ref: PRODSubnetPublic2a
Tags:
- Key: Name
Value: nat-Subnet-a
# Route through NAT Gateway
NATRoute:
Type: AWS::EC2::Route
Properties:
RouteTableId:
Ref: PRODRTPrivate
DestinationCidrBlock: 0.0.0.0/0
GatewayId:
Ref: natSubnetA
Я вижу ошибку на вкладке «События CloudFormation»:
The following resource(s) failed to create: [NATRoute]. . Rollback requested by user
Route did not stabilize in expected time
Не уверен, что мне не хватает?
# Private Subnets to Route Table Association
PrivateSubnetA:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId:
Ref: PRODSubnetPrivate2a
RouteTableId:
Ref: PRODRTPrivate
PrivateSubnetB:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId:
Ref: PRODSubnetPrivate2b
RouteTableId:
Ref: PRODRTPrivate
# Punblic Elastic IP for NAT Gateway in Zone 2A
eipSubnetA:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
# NAT Gateway in Public Subnet 2A
natSubnetA:
Type: AWS::EC2::NatGateway
Properties:
AllocationId:
Fn::GetAtt: [eipSubnetA, AllocationId]
SubnetId:
Ref: PRODSubnetPublic2a
Tags:
- Key: Name
Value: nat-Subnet-a
# Route through NAT Gateway
NATRoute:
Type: AWS::EC2::Route
Properties:
RouteTableId:
Ref: PRODRTPrivate
DestinationCidrBlock: 0.0.0.0/0
GatewayId:
Ref: natSubnetA
Я ожидаю таблицу частных маршрутовдолжен иметь маршрут NATGateway для пункта назначения 0.0.0.0/0