【问题标题】:How can I scale EC2 instances in ASG in Zone Sequence如何在区域序列中扩展 ASG 中的 EC2 实例
【发布时间】:2019-12-03 17:43:12
【问题描述】:
如何确保 ASG 以正确的区域顺序扩展 EC2 实例,即当我将 ASG 从 3 个实例扩展到 5 个实例时,它需要在 Zone-A 中有 2 个节点,在 Zone-B 中有 2 个节点,在 Zone-B 中有 1 个节点C区。但在我们的例子中,它最终出现在 Zone-A 中的 2 个节点、Zone-B 中的 1 个节点和 Zone-C 中的 2 个节点中。
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
autoscaling
availability-zone
【解决方案1】:
AWS ASG 在您为该特定 ASG 启用的所有可用区中启动新实例。这是官方文档的摘录。
Amazon EC2 Auto Scaling 尝试在为您的 Auto Scaling 组启用的可用区之间平均分配实例。 Amazon EC2 Auto Scaling 通过尝试在具有最少实例的可用区中启动新实例来做到这一点。但是,如果尝试失败,Amazon EC2 Auto Scaling 会尝试在另一个可用区中启动实例,直到成功
如果您将所需容量增加到 9 个(并且您有 3 个 AZ),您会发现每个 AZ 上很有可能会有 3 个实例。
【解决方案2】:
无法控制 AutoScaling Group 将在哪个 AZ 中启动实例。
我能想到的唯一解决方法是,您可以为每个 AZ 制作 1 个 ASG,然后通过脚本而不是使用扩展策略自行控制所需的内容。我建议尝试确保您的应用程序尽可能短暂,没有区域依赖关系,以便可以在任何区域中添加实例