所需的实例 VS。扩展策略

use*_*947 3 amazon amazon-web-services autoscaling

我试图了解扩展策略和所需实例如何相互配合。

建议我有以下场景。

  • 最小:0
  • 最大:4
  • 所需实例: 2

扩展策略:

  • 横向扩展:当 CPU 平均 > 60%
  • 缩小:当 CPU 平均 < 20%

初始状态:2 个实例已启动。

步骤1:

将两个实例的 CPU 增加到平均 90%。

第二步发生:

Auto Scaling 将实例数增加到 3。

第三步:

将机器的平均 CPU 保持在 40% 左右,这样就不会触发横向扩展或缩减。

第四步:

现在我们有三个实例,没有横向扩展或触发,​​但所需的实例是两个。什么规则应该“赢”?

所需的 2 个实例(将删除一个实例)?

或者扩展策略(什么都不应该改变,保持 3 个实例)?

Joh*_*ein 5

Auto Scaling 将始终尝试为您提供Desired Capacity指示的实例数。

例如,使用 启动 Auto Scaling 组时Desired Capacity = 2,Auto Scaling 将启动 2 个实例。将所需容量更改为 3 会导致 Auto Scaling 启动 1 个额外的实例(总数 = 3)。

Scaling Policies告诉 Auto Scaling改变 Desired Capacity

例如,由 CPU 超过给定阈值触发的 Amazon CloudWatch 警报可以配置为触发 Scaling Policy。可以使用Add 1 instance规则配置 Scaling Policy ,这会导致 Desired Capacity 增加 1。(注意:Desired Capacity 将始终保持在 Min 和 Max 的边界内,因此扩展策略实际上可能不会改变所需容量。)

在您的示例中,第 1 步导致触发 CloudWatch 警报,该警报执行将所需容量从 2 增加到 3 的扩展策略。没有竞争规则可以“获胜”。

缩放调整类型可以是:ChangeInCapacityExactCapacityPercentChangeInCapacity