Я использую ECS-CLI (0.4.5) для запуска шаблона CFN, и теперь я пытаюсь поместить кластер Aurora в шаблон CFN и обновить стек с помощью набора изменений через CFN SDK.
Не могу понять, почему меня расстраивают мои подсети. Подсети создаются первоначальным вызовом «ecs-cli up». Они находятся в том же vpc, что и остальная часть стека, они уже существуют до того, как я попытаюсь развернуть набор изменений, и они находятся в разных зонах доступности (us-west-2b и us-west-2c).
Единственная информация, которую дает мне CFN, - это то, что «некоторые входные подсети недействительны».
Ошибка CFN:
Подсети:
Я могу без проблем создать DBSubnetGroup через консоль управления с теми же подсетями.
Есть идеи о том, что может пойти не так? Это ошибка CloudFormation? Дайте мне знать, если для решения этой проблемы потребуется дополнительная информация ... Честно говоря, я очень растерялся
Вот к чему сводится мой первоначальный шаблон (он встроен в ecs-cli):
"PubSubnetAz1": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "10.0.0.0/24",
"AvailabilityZone": "us-west-2b"
}
},
"PubSubnetAz2": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "10.0.1.0/24",
"AvailabilityZone": "us-west-2c"
}
},
"InternetGateway": {
"Type": "AWS::EC2::InternetGateway"
},
"AttachGateway": {
"Type": "AWS::EC2::VPCGatewayAttachment",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"InternetGatewayId": {
"Ref": "InternetGateway"
}
}
},
"RouteViaIgw": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "Vpc"
}
}
},
"PublicRouteViaIgw": {
"DependsOn": "AttachGateway",
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "RouteViaIgw"
},
"DestinationCidrBlock": "0.0.0.0/0",
"GatewayId": {
"Ref": "InternetGateway"
}
}
},
"PubSubnet1RouteTableAssociation": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PubSubnetAz1"
},
"RouteTableId": {
"Ref": "RouteViaIgw"
}
}
},
"PubSubnet2RouteTableAssociation": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PubSubnetAz2"
},
"RouteTableId": {
"Ref": "RouteViaIgw"
}
}
},
А затем, когда я иду обновлять его, я добавляю следующее:
"DBSubnetGroup": {
"Type": "AWS::RDS::DBSubnetGroup",
"Properties": {
"DBSubnetGroupDescription": "Aurora Subnet Group using subnets from 2 AZs",
"SubnetIds": {
"Fn::Join": [
",", [{
"Ref": "pubSubnetAz1"
},
{
"Ref": "pubSubnetAz2"
}
]
]
}]
}
}
}
Набор изменений должен быть достаточно простым ...
"Changes": [
{
"Type": "Resource",
"ResourceChange": {
"Action": "Add",
"LogicalResourceId": "DBSubnetGroup",
"ResourceType": "AWS::RDS::DBSubnetGroup",
"Scope": [],
"Details": []
}
}
]
Я использую AWSTemplateFormatVersion 2010-09-09 и JavaScript aws-sdk «^ 2.7.21»