2

如果我有一个由按需实例和现货实例组成的自动扩展组,其中至少有 4 个按需实例,并且额外容量由现货实例组成,如果它需要使用现货实例进行扩展,会发生什么情况,并且没有'没有可用的现货实例(因为我的出价过高,或者如果没有任何备用实例来满足现货请求)?

  • 它是否仍会使用按需实例进行扩展?
  • 自动扩缩组会不会扩容失败?

其他信息:

  • 我正在使用“最低价”现货分配策略
  • max_spot_price按需价格为上限。

我的 Google foo 似乎让我失望了,因为我似乎无法在网上找到任何答案。如果有人能对这个问题有所了解,我将不胜感激。

提前致谢!

4

1 回答 1

5

如果没有现货容量,AWS 中的 AutoScaling 组将不会按需故障转移。这本质上是您以较低价格获得的现货实例的权衡。要解决此问题,请尝试添加更多 AZ 和/或实例类型(由于支持权重并且 ALB 可以基于最少未完成请求进行路由,因此问题不大)

如果您在 ASG 中设置了多个实例类型和 AZ,则在满足您的按需基础后会发生这种情况:

1) 尝试根据您的分配策略和 Spot 池的数量启动 Spot 实例

2) 如果所需的实例类型不可用,请尝试该 AZ 中的所有其他类型

3) 如果该 AZ 中没有可用的 Spot 实例,则该启动请求将失败,它将在另一个启用的 AZ 中重试

4) 如果没有 Spot 实例,在您选择的任何类型中,在您在 ASG 上的任何可用区中,则不会启动任何内容,并且 ASG 将定期重试,直到达到所需容量。

可以这样想,他们的数据中心只有这么多服务器。如果发生现场驱逐是因为他们需要按需实例的容量,并且运行 Spot 的每个人都故障转移到该实例类型的按需;该 AZ 中可能还会突然出现按需实例容量问题。

于 2020-04-02T13:12:15.997 回答