AWS EC2 Auto Scaling组:我得到Min和Max,但是所需的实例限制是什么?

问题描述 投票:54回答:7

[当在AWS EC2中设置Auto Scaling组时,MinMax界限似乎很有意义:

  • 根据策略缩减到的最小实例数
  • 根据策略可扩展到的最大实例数

但是,我从来没能绕过Desired打算影响的地方。

我总是将Desired设置为等于Min,因为通常来说,我想向亚马逊支付尽可能多的什一税,除非您需要一个实例来处理负载,否则实例的数量应为Min个实例。

[我知道您是否使用ElasticBeanstalk并将Min设置为1并将Max设置为2,它会将Desired设置为2(当然!)-您无法为Desired选择值。

Desired个不同数量的实例的用例是什么?它有什么不同?如果您希望AWS扩展到低于Desired的程度(如果需要)大于Min

amazon-web-services amazon-ec2 elastic-beanstalk autoscaling amazon-elastic-beanstalk
7个回答
56
投票

以下是来自AWS支持的“最小,期望和最大”值的说明:

MIN:这是您可以运行的最少实例数自动缩放组。如果触发了按比例缩小的CloudWatch警报,您的自动伸缩组将永远不会终止低于此数字的实例

所需:如果您因规模扩大事件而触发CloudWatch警报,则它将通知自动定标器将其更改为指定的值更高的金额,自动缩放器将启动一个实例以满足该号码。如果触发CloudWatch警报以缩小比例,则它会会将所需的自动缩放器更改为指定的较低数字,然后自动缩放器将终止实例以获取该编号。

MAX:这是您可以在其中运行的最大实例数您的自动缩放组。如果您的向上扩展CloudWatch警报仍然存在触发后,您的自动伸缩组将永远不会创建实例超过指定的最大数量。


24
投票

像滑动范围UI元素那样思考。

enter image description here

使用最小和最大,您正在设置实例缩放的下限。有了所需的容量,您可以将实例计数当前设置为悬停。

实施例:您知道由于市场营销电子邮件或产品发布,您的应用程序将承受沉重的负担……只需事先扩展所需的容量即可:

aws autoscaling set-desired-capacity --auto-scaling-group-name my-auto-scaling-group --desired-capacity 2 --honor-cooldown

Source


7
投票

[如果期望,当您期望AWS的扩展规模低于所需的规模时,大于最小?

当您基于某些AutoScaling策略设置CloudWatch警报时,会发生这种情况。每当触发该警报时,它将把DesiredCount更新为配置中提到的内容。

例如,如果AutoScalingGroup配置具有Min = 1,Desired = 3,Max = 5,并且在AutoScalingPolicy上设置了一个警报,该警报说如果连续10分钟CPU使用率<50%,则Remove 1 instances它将保持每当触发警报时将实例计数减少1,直到DesiredCount = MinCount。

吸取的教训:将MinCount设置为> 0或= DesiredCount。这将确保当mincount = 0且CPU使用率下降时,不会关闭应用程序。


1
投票

“期望”是(有必要的)模棱两可的。

  • 这意味着实例数为“ initial”。为什么不只是“初始”呢?因为数字可能会因自动缩放事件而改变。
  • 因此,它表示实例的“ 当前”号。为什么不只是“当前”呢?因为在自动缩放事件期间,实例将启动/终止。这些实例不计入“当前”实例数。通过“当前”,用户期望实例是可操作的。
  • 因此,它表示实例的“ target”个数。为什么不只是“目标”呢?我猜“目标”和“期望”一样好(含糊)...

0
投票

根据我的阅读,以通俗易懂的方式,DesiredCapacity值会在放大和缩小事件中自动更新。

换句话说,

通过减小或增大DesiredCapacity值来完成放大或缩小。


0
投票

所需容量仅表示启动自动扩展时将要启动/启动的实例数。这意味着,如果所需的容量= 4,则除非有任何向上或向下事件触发,否则4个实例将继续运行。如果发生向上扩展事件,则实例数将增加直到最大容量,如果发生向下扩展事件,则实例数将减小直到最小容量。

如果有错,请纠正我,谢谢。


0
投票

[我注意到所需容量下降了,并且没有新实例出现]]

  1. 我将其中一个实例设置为待机状态。它继续运行,但是与ELB分离(通过ELB DNS访问时,请求未转发到该特定实例)。 AWS尚未启动任何新实例。相反,所需的容量减少了1。
  2. [当我更改实例的状态(从待机状态)时,该实例再次连接到ELB(通过ELB DNS访问时,该实例开始获取请求)。所需容量增加了1,变为2。
  3. 因此,似乎没有任何实例附加到ELB上,无法超过min和max设置的阈值限制,但是根据发生的放大或缩小事件来自动调整或更改所需的容量。这对我来说绝对是未知的。

这可能是让AWS知道这是给定时间点各个ELB所需的所需容量的方法。

© www.soinside.com 2019 - 2024. All rights reserved.