我正在阅读AWS架构良好的实验室指南,并正在自动部署VPC(https://www.wellarchitectedlabs.com/Security/200_Automated_Deployment_of_VPC/Lab_Guide.html)。
说明非常简单,我上传了提供的模板(尝试了直接链接到说明中的一个以及从我在https://github.com/awslabs/aws-well-architected-labs/blob/master/Security/200_Automated_Deployment_of_VPC/Code/vpc-alb-app-db.yaml上找到的git repo中的一个)。但是,当它运行时,我会不断收到失败消息。这些错误表示无法启动us-west-1c中的内容:
对于VPC,这是
我以具有管理员访问权限的IAM用户身份登录,并尝试清理yaml,因为发现了一些重复的字段,但没有任何效果。仅仅是因为我的帐户由于过载或某些原因而无法在us-west-1c中创建任何东西,还是其他问题?
谢谢您的帮助!
答案 0 :(得分:4)
图片中的答案是:CloudFormation无法创建ALB1Subnet3
,因为可用性区域us-west-1c
不存在。当新堆栈中的任何内容发生故障时,整个堆栈都会回滚。
如here所述,您可以使用CLI获取某个区域的可用区列表:
aws ec2 describe-availability-zones --region us-west-1
您会看到该区域只有两个可用区:
{
"AvailabilityZones": [
{
"State": "available",
"OptInStatus": "opt-in-not-required",
"Messages": [],
"RegionName": "us-west-1",
"ZoneName": "us-west-1b",
"ZoneId": "usw1-az3",
"GroupName": "us-west-1",
"NetworkBorderGroup": "us-west-1"
},
{
"State": "available",
"OptInStatus": "opt-in-not-required",
"Messages": [],
"RegionName": "us-west-1",
"ZoneName": "us-west-1c",
"ZoneId": "usw1-az1",
"GroupName": "us-west-1",
"NetworkBorderGroup": "us-west-1"
}
]
}
更新
已指出us-west-1c
出现在我的可用区列表中。发生这种情况是因为 my 可用区与OP的可用区不同。引用docs:
为确保在区域的可用区之间分配资源,我们将可用区独立地映射到每个AWS账户的名称。例如,您的AWS账户的可用区us-east-1a可能与另一个AWS账户的us-east-1a不在同一位置。
因此对于OP来说,错误消息是正确的:没有us-west-1c
。我的解释-us-west-1
只有两个区域-也是正确的。
但是,如果您查看AWS AWS全球基础设施地图(大约在页面here的一半),然后将鼠标悬停在{{1 }}区域,您将看到它具有三个可用区。但是,任何给定帐户都可能无法访问该区域中的所有可用区。