【问题标题】:How does the ec2 API decide which availability zone?ec2 API 如何决定哪个可用区?
【发布时间】:2012-11-26 23:04:23
【问题描述】:

我正在编写一个以编程方式按需启动 EC2 实例的服务。我想给它一个能够随时启动实例的最佳机会,最大限度地减少由于容量不足而导致的失败。实例在一个区域内运行在哪个可用区无关紧要,我最有可能启动一个。

我想知道,如果我在使用api的runInstances方法时不指定放置对象,会不会:

A) 在任何具有可用容量的可用区中运行我的新实例

B) 随机选择一个可用区,如果那里没有任何备用容量则失败

C) 别的东西

我的研究表明人们认为是 A) 或 B),但我无法从 aws 中找到明确的答案。

如果是 A) 我想我可以打一个电话,然后让 aws 确定我是否可以拥有该实例。如果是 B) 我想我应该通过可用区并继续尝试所有这些,直到找到一个有空闲容量的。

谢谢。

【问题讨论】:

    标签: java amazon-ec2 amazon-web-services


    【解决方案1】:

    看起来Launching Instances in a Specific Availability Zone 提供了答案:

    启动实例时,您可以选择指定可用区。如果您未指定可用区,Amazon EC2 会在您使用的区域中为您选择一个。在启动您的初始实例时,我们建议接受默认可用区,这使我们能够根据系统运行状况和可用容量为您选择最佳可用区。 [...]

    虽然语言不是 100% 准确,但我认为我的选项 A) 是正确的,并且未指定可用区意味着 Amazon EC2 将尽力找到具有可用容量的区域,尽管可能会应用一些其他标准首先。

    【讨论】:

    • 感谢您找到历史文档,这使我能够找到当前参考 - 我已相应地更新了答案。作为支持 A)的另一个论点,我认为不自动从另一个可用区提供备用容量会无缘无故地破坏亚马逊的商业案例;)
    • 感谢 Steffen 的更新——顺便说一句,我认为您对商业案例的看法是正确的,但亚马逊时不时地以一种不明显的方式做事并使扩展变得不那么方便,这让我感到惊讶。我总是喜欢检查。
    猜你喜欢
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多