了解竞价型实例集的自动扩展 - Amazon Elastic Compute Cloud

了解竞价型实例集的自动扩展

自动扩展使您的竞价型实例集能够根据需求增加或减少其目标容量。凭借自动扩展,竞价型实例集可以响应一个或多个扩展策略,在指定范围内启动实例(横向扩展)或终止实例(横向缩减)。

通过结合使用 Amazon EC2、Amazon CloudWatch 和 Application Auto Scaling API 可实现 Spot 队列的自动扩展。通过 Amazon EC2 可创建 Spot 队列请求,通过 CloudWatch 可创建警报,通过 Application Auto Scaling 可创建扩展策略。

自动扩缩的类型

Spot 队列支持以下类型的自动扩展:

  • 目标跟踪扩展:针对特定指标的值,增加或减少实例集的当前容量。这与恒温器保持家里温度的方式类似:您选择所需的温度,恒温器将完成所有其他工作。

  • 步进扩展 – 根据一组扩展调整,增加或减小队列的当前容量,这些调整称为步进调整,将根据警报严重程度发生变化。

  • 计划扩展 – 根据日期和时间增加或减少队列的当前容量。

注意事项

对竞价型实例集使用自动扩展时,请注意以下事项:

  • 实例权重:如果使用实例权重,请记住,竞价型实例集可以根据需要超出目标容量。执行容量可以是浮点数,但目标容量必须是整数,因此 Spot 队列向上舍入到下一个整数。在您查看触发警报时扩展策略的结果时,必须考虑这些行为。例如,假设目标容量为 30,执行容量为 30.1,扩展策略减 1。当触发报警时,自动扩展过程将 30.1 减 1 得到 29.1,然后将其向上取整为 30,因此不执行扩展操作。再如,假设您选择的实例权重为 2、4 和 8,目标容量为 10,但没有权重 2 实例可用,因此为执行容量为 12 的 Spot 队列预置权重为 4 和 8 的实例。如果扩展策略将目标容量减少 20% 并触发警报,则自动扩展过程将 12 减 12*0.2 得到 9.6,然后将其向上取整为 10,因此不执行扩展操作。

  • 冷却时间:您为竞价型实例集创建的扩展策略支持冷却时间。这是扩展活动完成后上一个与触发相关的扩展活动可影响将来扩展事件的秒数。对于扩大策略,虽然冷却时间有效,但启动冷却的上一个扩大事件所添加的容量将计算为下一次扩大所需容量的一部分。旨在持续 (但不过度) 扩大。对于缩小策略,冷却时间用于阻止后续缩小请求,直至到期。旨在谨慎地缩小以保护您的应用程序的可用性。但是,如果在缩小后,另一个警报在冷却时间内触发了扩大策略,自动扩展将立即扩大您的可扩展目标。

  • 使用详细监控:建议将随实例指标扩展的频率设置为 1 分钟,这可确保更快地响应使用率变化。如果将随指标扩展的频率设置为 5 分钟,可能会导致响应时间变慢,并且可能导致系统依据陈旧的指标数据进行扩展。要每隔 1 分钟向 CloudWatch 发送一次实例的指标数据,您必须专门启用详细监控。有关更多信息,请参阅管理 EC2 实例的详细监控使用已定义的参数创建 Spot 队列请求(控制台)

  • AWS CLI:如果您使用 AWS CLI 配置竞价型实例集的扩展,则使用 application-autoscaling CLI。有关更多信息,请参阅以下资源: