我有一个cloudformation脚本,试图创建一个VPC,每个AZ有一个子网。有没有办法让云信息查询可用区域以创建子网?
当我运行:
aws ec2 describe-availablity-zones
我得到4个区返回:
"AvailabilityZones": [
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1a"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1b"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1c"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1d"
}
]
然而,当我尝试创建我的筹码,我得到一个错误:
"ResourceStatusReason": "Value (us-east-1a) for parameter availabilityZone
is invalid. Subnets can currently only be created in the following
availability zones: us-east-1c, us-east-1b, us-east-1d.",
我用
指定AZ有没有办法检查AZ是否真的可用于创建子网?
不能让它们留空,因为我们在每个AZ中创建一个带有子网的VPC - 问题并不是每个返回的AZ都允许子网! – chris
因此,如果一个区域不允许使用VPC子网,那么您使用它在VPC中托管的是什么?简单地忽略该区域并处理支持它的3个区域。 – Arya
这是一个手动过程 - 如果我使用索引0,1和2创建基于Fn :: Select的子网,它有时会失败,因为实际上有4个AZ,但不是每个都允许子网 – chris