【问题标题】:CREATE_FAILED ElasticLoadBalancer The requested Availability Zone us-east-1c is constrained and cannot be used together with us-east-1aCREATE_FAILED ElasticLoadBalancer 请求的可用区 us-east-1c 受到限制,不能与 us-east-1a 一起使用
【发布时间】:2017-01-28 07:10:21
【问题描述】:

我正在使用来自http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html 的美国东部(弗吉尼亚北部)示例模板

并启动 AWS CloudFormation Sample Template AutoScalingKeepAtNSample 但是我不断收到此错误:

CREATE_FAILED   AWS::ElasticLoadBalancing::LoadBalancer ElasticLoadBalancer 
The requested Availability Zone us-east-1c is constrained and cannot be used 
together with us-east-1a. Please retry your request by not choosing us-east-1c 
and us-east-1a together.

AWS 仪表板报告我在US East (N. Virginia) 区域。

任何建议为什么这不起作用?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    根据区域和可用区文档的Availability Zones 部分,

    随着可用区随着时间的推移而增长,我们扩展它们的能力可能会受到限制。如果发生这种情况,我们可能会限制您在受限可用区中启动实例,除非您在该可用区中已有实例。最终,我们可能还会从新客户的可用区列表中删除受限可用区。因此,您的账户在一个区域中的可用可用区数量可能与其他账户不同。

    要解决此问题,您将遵循错误的建议,并更改提供给您的 ELB 资源的可用区列表。

    要在 CloudFormation 模板中完成此操作,您可能需要在模板中添加输入 Parameter 以手动提供可用区列表(使用 List<AWS::EC2::AvailabilityZone::Name> 类型),而不是依赖 Fn::GetAZs 函数,它返回所有可用区。

    【讨论】:

    • 这感觉真的很尴尬,尤其是因为似乎没有办法提供与用户启动 cloudformation 堆栈的区域相匹配的默认模板参数。有没有办法写一个自定义 Fn::GetAvailableAzs 函数将获取该区域中该帐户的可用 Azs?
    • @tleyden 通常,您可以使用Custom Resources 在 CloudFormation 模板中编写任意供应逻辑;但是,为了专门解决受约束的可用区错误,我认为没有任何 AWS API 列出了哪些可用区受到约束,因此即使使用自定义资源,也可能无法实现自动解决方法。我能想到的唯一选择是向 AWS 提交支持请求,并要求他们添加新的 API 列出受限区域或修改 GetAvailableAZs 以过滤受限区域。
    猜你喜欢
    • 2020-01-30
    • 2021-11-01
    • 1970-01-01
    • 2020-08-09
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    相关资源
    最近更新 更多