Я использую ECS-CLI (0.4.5) для запуска CFN-шаблона, и теперь я пытаюсь поместить кластер Aurora в шаблон CFN и обновить стек с помощью набора изменений через CFN SDK.Использование AWS CloudFormation для создания DBSubnetGroup
Я не могу понять, почему это расстраивает мои подсетей. Подсети создаются с помощью начального вызова «ecs-cli up». Они находятся в том же vpc, что и остальная часть стека, они уже существуют до того, как я попытаюсь развернуть набор изменений, и они находятся в разных зонах доступности (us-west-2b и us-west-2c).
Только информация CFN дает мне, что «некоторые подсети ввода недопустимы».
НКС Failure:
Subnets:
Я могу создать DBSubnetGroup через консоль управления с точно такими же подсеть без проблем.
Любые идеи о том, что может произойти неправильно? Это ошибка в CloudFormation? Дайте мне знать, если требуется дополнительная информация, чтобы решить эту проблему ... Я честно на такой потери
Вот что мой первоначальный шаблон сводится к (Он построен в Écs-кли):
"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"
Это помогло бы увидеть, как вы передаете подсети в CloudFormation YAML/JSON - пожалуйста, напишите, если вы можете. – rumdrums
Добавлен соответствующий json! –
Спасибо, ребята, прошло какое-то время, так как я почувствовал этот немой лол –