与多个可用区一起使用时,Auto Scaling 如何“放置”实例?

Posted

技术标签:

【中文标题】与多个可用区一起使用时,Auto Scaling 如何“放置”实例?【英文标题】:How does Auto Scaling "place" instances when used with multiple availability zones? 【发布时间】:2013-03-19 06:36:18 【问题描述】:

考虑将 Auto Scaling 组配置为跨多个可用区(例如在this scenario 中)的情况。当应根据需求将新的 Amazon EC2 实例添加到扩展组(横向扩展)时,Auto Scaling 如何决定将实例放置在哪个可用区中?实例数量较少的那个?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

如您所料,Auto Scaling 确实会选择实例数量较少的区域,Availability Zones and Regions 中的跨多个区域的实例分布和平衡部分解释说Auto Scaling 采用的通用算法:

Auto Scaling 尝试在 为您的 Auto Scaling 组启用的可用区。汽车 扩展通过尝试在 实例最少的可用区。如果尝试失败, 但是,Auto Scaling 将尝试在其他区域启动,直到它 成功。 [强调我的]

Auto Scaling 组也可能因各种条件(例如主动终止实例)在区域之间变得不平衡,这可能会触发 Auto Scaling 重新平衡活动 - 请查看上面链接的文档以获取有关此内容以及如何处理边缘情况的更多详细信息。

【讨论】:

当然这应该被标记为正确答案......因为它实际上回答了这个问题。【参考方案2】:

通常,最好以这样一种方式扩展,即跨区域的实例分布是均匀的(如果您有 3 个区域,则扩展意味着添加 3 个实例,每个区域 1 个)。添加更多容量并不意味着流量将根据容量进行拆分。它仍将继续循环。

【讨论】:

以上是关于与多个可用区一起使用时,Auto Scaling 如何“放置”实例?的主要内容,如果未能解决你的问题,请参考以下文章

AWS EC2 Auto Scaling 同步如何自动工作?

Auto Scaling 无法与 Elastic Beanstalk 中的 Tomcat 一起正常工作

将 Auto Scaling 与 Code Deploy 结合使用 - Ec2 实例无限循环重启

使用多个目标组配置 Auto Scaling

AWS Auto Scaling - 在服务器终止前缩减规模等待 x 分钟

为啥 AWS Auto Scaling 在扩展期间会启动多个实例?