有没有办法让 cloudformation 查询可用区域以创建子网?

2024-04-03

我有一个 cloudformation 脚本,它尝试创建一个 VPC,每个可用区有一个子网。

当我跑步时:

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

      "AvailabilityZone" : {
        "Fn::Select" : [ "0", { "Fn::GetAZs" : "" } ]
      },

有没有办法检查AZ是否真的可用于创建子网?


这对于 CLI 方法或您的具体场景可能没有帮助 - 但使用 AWS 管理控制台,这可以顺利进行。

通过 CloudFormation 参数的最新更新,您将能够精确定位与指定可用区相关的可用区。

这在灾难恢复/灾难恢复演练以及使 CFN 模板区域独立期间会非常方便。

"Parameters": {
    "SubnetAZ": {
      "Description": "Availability Zone of the Subnet",
      "Type": "AWS::EC2::AvailabilityZone::Name"
    }
}

有关的更多信息云形成 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html参数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法让 cloudformation 查询可用区域以创建子网? 的相关文章

随机推荐