我正在使用 CloudFormation 将 ELB 部署到具有预先存在的子网的预先存在的 VPC。我已经在模板的 Mappings 部分列出了子网,并根据 Environment 参数选择了映射。如果 Mapping 用于单个值,这可以正常工作,但我希望 Mapping 返回一个列表,因为我希望 ELB 是多可用区。我已经尝试了下面示例的各种组合,但我总是得到相同的错误Value of property Subnets must be of type List of String。FindInMap 有没有办法返回值列表?
ELB 配置示例
"ElasticLoadBalancerAPI": {
"Properties": {
"ConnectionDrainingPolicy": {
"Enabled": true,
"Timeout": 30
},
"ConnectionSettings": {
"IdleTimeout": 60
},
"CrossZone": "false",
"Subnets" : [
{
"Fn::FindInMap": [
"AWSEnv2PublicSubnets",
{
"Ref": "Env"
},
"subList"
]
}
],
"SecurityGroups" : [ { "Ref" : "LoadBalancerSecurityGroup" }],
etc...
Run Code Online (Sandbox Code Playgroud)
示例参数
"Parameters": {
"Env": {
"Description": "Environment", …Run Code Online (Sandbox Code Playgroud)