预测性扩展概述 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

预测性扩展概述

本主题说明了预测性扩展的工作原理,并描述了在创建预测性扩展策略时应考虑的事项。

预测式扩展的工作方式

要使用预测性扩展,请使用包含至少 24 小时历史数据的 CloudWatch 指标创建预测性扩展策略。

创建策略后,预测性扩展将开始分析过去 14 天的指标数据以确定模式。它使用此分析生成未来 48 小时容量需求的每小时预测。然后,使用最新 CloudWatch 数据每 6 小时更新一次预测。随着新数据的出现,预测性扩展能够不断提高未来预测的准确性。

首次启用预测缩放时,它将在仅限预测模式下运行。在仅限预测模式下,预测性扩展会生成预测,但不使用预测来扩展容量。这使您可以评估预测的准确性和适用性。您可以在控制台中或使用 GetPredictiveScalingForecast API 查看预测数据。

要根据预测开始缩放,请将缩放策略切换到预测和缩放模式。

在预测和扩展模式下,Amazon EC2 Auto Scaling 在每小时开始时使用预测来扩展您的 Auto Scaling 群组:

  • 如果预测预计负荷会增加,则将扩大规模(增加容量)。

  • 如果预测负载会减少,则不会缩小(移除容量)。要在不再需要容量时进行扩展,请改用动态扩展策略。

最大容量限制

Auto Scaling 组的最大容量设置限制了可以为该组启动的最大 EC2 实例数量。默认情况下,将遵守此最大容量。

或者,如果预测容量接近或超过 Auto Scaling 组的最大容量,则可以允许自动增加该组的最大容量。要启用此行为,请使用 PutScalingPolicy API 操作中的MaxCapacityBreachBehaviorMaxCapacityBuffer属性或中的最大容量行为设置 Amazon Web Services Management Console。

启用此行为时请谨慎行事,因为如果不对增加的最大容量进行监控和管理,则启动的实例数量可能超过预期值。增加的最大容量将变为 Auto Scaling 组新的正常最大容量,直到您手动对其进行更新。最大容量不会自动减少到原始的最大容量。

注意事项

  • 确认预测式扩展是否适合您的工作负载。如果工作负载显示特定于星期几的什么时间的重复负载模式,则工作负载非常适合预测式扩展。若要检查这一点,请在仅预测模式下配置预测性扩展策略,然后参考控制台中的建议。Amazon EC2 Auto Scaling 会根据对潜在策略性能的观察提供建议。在允许预测式扩展主动扩展应用程序之前,请评估预测及建议。

  • 预测式扩展至少需要 24 小时的历史数据才能开始预测。但是,如果历史数据跨越整整两周,预测会更有效。如果您通过创建新的 Auto Scaling 组并删除旧组来更新应用程序,则新的 Auto Scaling 组需要 24 小时的历史加载数据,然后预测式扩展才能再次开始生成预测。您可以使用自定义指标来聚合新旧自动扩缩组之间的指标。否则,您可能需要等待几天才能获得更准确的预测。

  • 选择一个负载指标,该指标应准确代表应用程序的满负荷,并且是应用程序中最需要扩展的方面。

  • 使用具有预测性扩展功能的动态扩展可以帮助您密切关注应用程序的需求曲线,在流量较低的时段向内扩展,在流量高于预期时向外扩展。当多个扩展策略处于活动状态时,每个策略将独立确定所需容量,并将所需容量设置为其中的最大容量。例如,如果要求 10 个实例保持目标跟踪扩展策略中的目标利用率,并且需要 8 个实例保持在预测式扩展策略中的目标利用率,则组的所需容量设置为 10。如果您不熟悉动态扩展,我们建议您使用目标跟踪扩展策略。有关更多信息,请参阅Amazon EC2 Auto Scaling 的动态扩缩

  • 预测性扩展的核心假设是 Auto Scaling 组是同质的,且所有实例的容量相等。如果您的组不是这样,预测的容量可能不准确。因此,在为混合实例组创建预测性扩展策略时要谨慎行事,因为可以配置容量不相等的不同类型的实例。以下是一些预测容量不准确的例子:

    • 您的预测性扩缩策略基于 CPU 利用率,但每个 Auto Scaling 实例上的 vCPU 数量因实例类型而异。

    • 您的预测性扩缩策略基于网络进入或网络外出,但每个 Auto Scaling 实例的网络带宽吞吐量因实例类型而异。例如,M5 和 M5n 实例类型相似,但 M5n 实例类型显著提高了网络吞吐量。

支持的区域

Amazon EC2 Auto Scaling 支持以下地区的预测性扩展策略 Amazon Web Services 区域:美国东部(弗吉尼亚北部)、美国东部(俄亥俄州)、美国西部(俄勒冈)、美国西部(加利福尼亚北部)、非洲(开普敦)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(伦敦)、欧洲(米兰)、欧洲(巴黎)、欧洲(斯德哥尔摩)、亚太地区(香港)、亚太地区(雅加达)、亚太地区(孟买)、亚太地区(大阪)、亚太地区(东京)、亚太地区(新加坡)、亚太地区(首尔)、亚太地区(悉尼)、中东(巴林)、中东(阿联酋)、南美洲(圣保罗)、中国(北京)、中国(宁夏)、 Amazon GovCloud (美国东部)和 Amazon GovCloud (美国西部)。