扩展计划的工作原理 - Amazon Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

扩展计划的工作原理

Amazon Auto Scaling 允许您使用扩缩计划来配置一组资源扩缩说明。如果您使用 Amazon CloudFormation 或向可扩展资源添加标签,则可以为每个应用程序针对不同的资源集设置扩缩计划。Amazon Auto Scaling 控制台提供了有关每种资源的自定义扩缩策略建议。在创建扩缩计划后,它会将动态扩缩方法和预测性扩缩方法进行组合以支持您的扩缩策略。

什么是扩展策略?

扩展策略将告知 Amazon Auto Scaling 如何在扩展计划中优化资源的利用。您可以针对可用性、成本或这两者的平衡进行优化。或者,您也可以考虑根据自己定义的指标和阈值自行创建自定义策略。您可以为每种资源或资源类型设置单独的策略。

什么是动态扩展?

动态扩展为您的扩展计划中的资源创建目标跟踪扩展策略。这些扩展策略将调整资源容量以响应资源利用率的实时变化。其目的是提供足够的容量以将利用率保持在扩展策略指定的目标值。这与恒温器保持家里温度的方式类似。您选择温度,恒温器将完成剩下的工作。

例如,您可以配置扩缩计划以使 Amazon Elastic Container Service(Amazon ECS)服务运行的任务数能够保持 75% 的 CPU 利用率。当服务的 CPU 利用率超过 75%(这意味着,为服务预留的 CPU 已使用了超过 75%)时,您的扩缩策略会向您的服务添加另一个任务来帮助处理增加的负载。

什么是预测式扩展?

预测性扩缩使用机器学习来分析每个资源的历史工作负载,并定期预测未来的负载。这类似于天气预报的工作方式。利用预测,预测式扩展会生成计划的扩展操作,以确保在应用程序需要之前有资源容量可用。与动态扩展相似,预测式扩展的作用是将利用率保持在扩展策略指定的目标值。

例如,您可以启用预测式扩展并配置您的扩展策略,以将 Auto Scaling 组的平均 CPU 利用率保持在 50%。您的预测认为每天 8 点会出现流量峰值。您的扩展计划将创建未来的计划扩展操作,以确保您的 Auto Scaling 组已做好提前处理该流量的准备。这有助于使应用程序性能保持不变,目的是始终拥有所需的容量来尽可能让资源利用率保持在接近 50%。

以下是理解预测性扩缩的关键概念:

  • 负载预测:Amazon Auto Scaling 将分析指定负载指标的长达 14 天的历史记录并预测接下来两天的需求。此数据以一小时的间隔提供并且每天更新。

  • 计划的扩缩操作:Amazon Auto Scaling 将计划会根据负载预测主动增减资源容量的扩缩操作。在计划的时间,Amazon Auto Scaling 将使用由计划的扩缩操作指定的值更新最小容量。其目的是将资源利用率保持在扩展策略指定的目标值。如果您的应用程序需要的容量大于预期,则可以使用动态扩展来增加额外的容量。

  • 最大容量行为:弹性伸缩的最小和最大容量限制适用于每个资源。但您可以控制在预测容量超过最大容量时应用程序是否可以增加容量以超过最大容量。

注意

现在,您可以使用 Auto Scaling 组的预测性扩缩策略。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的 Amazon EC2 Auto Scaling 的预测性扩展