AWS实验室VPC无法创建

时间:2020-05-27 18:23:00

标签: amazon-web-services amazon-cloudformation amazon-vpc

我正在阅读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中的内容:

enter image description here

对于VPC,这是

enter image description here

我以具有管理员访问权限的IAM用户身份登录,并尝试清理yaml,因为发现了一些重复的字段,但没有任何效果。仅仅是因为我的帐户由于过载或某些原因而无法在us-west-1c中创建任何东西,还是其他问题?

谢谢您的帮助!

1 个答案:

答案 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 }}区域,您将看到它具有三个可用区。但是,任何给定帐户都可能无法访问该区域中的所有可用区。