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

时间:2013-03-28 17:27:48

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

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:27)

正如您所期望的那样,Auto Scaling确实会选择实例数较少的区域,多个区域内的实例分布和平衡 Availability Zones and Regions 3}}解释了Auto Scaling使用的一般算法:

  

Auto Scaling尝试在。之间均匀分布实例   为Auto Scaling组启用的可用区。汽车   Scaling通过尝试在中启动新实例来实现此目的   可用区域,实例最少。如果尝试失败,   但是,Auto Scaling将尝试在其他区域中启动,直到它   成功。 [强调我的]

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

答案 1 :(得分:0)

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

答案 2 :(得分:-2)

字面上的答案是:我们不知道。亚马逊从未分享过自动缩放背后的实现细节,因此我们不知道它的作用。

那说,对于@ datasage的答案,他们是一个相当聪明的人,并且可能使用启发式方法来最有效地平衡系统内的负载。

我不担心。