本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
扩展计划的工作原理
AWS Auto Scaling 允许您使用扩展计划来配置一组扩展资源的指令。如果您使用可扩展资源 CloudFormation 或为其添加标签,则可以为每个应用程序的不同资源集设置扩展计划。 AWS Auto Scaling 控制台提供针对每种资源定制的扩展策略的建议。在创建扩缩计划后,它会将动态扩缩方法和预测性扩缩方法进行组合以支持您的扩缩策略。
什么是扩展策略?
扩展策略说明 AWS Auto Scaling 如何优化扩展计划中的资源利用率。您可以针对可用性、成本或这两者的平衡进行优化。或者,您也可以考虑根据自己定义的指标和阈值自行创建自定义策略。您可以为每种资源或资源类型设置单独的策略。
什么是动态扩展?
动态扩展为您的扩展计划中的资源创建目标跟踪扩展策略。这些扩展策略将调整资源容量以响应资源利用率的实时变化。其目的是提供足够的容量以将利用率保持在扩展策略指定的目标值。这与恒温器保持家里温度的方式类似。您选择温度,恒温器将完成剩下的工作。
例如,您可以配置扩缩计划以使 Amazon Elastic Container Service(Amazon ECS)服务运行的任务数能够保持 75% 的 CPU 利用率。当服务的 CPU 利用率超过 75%(这意味着,为服务预留的 CPU 已使用了超过 75%)时,您的扩缩策略会向您的服务添加另一个任务来帮助处理增加的负载。
什么是预测式扩展?
预测性扩缩使用机器学习来分析每个资源的历史工作负载,并定期预测未来的负载。这类似于天气预报的工作方式。利用预测,预测式扩展会生成计划的扩展操作,以确保在应用程序需要之前有资源容量可用。与动态扩展相似,预测式扩展的作用是将利用率保持在扩展策略指定的目标值。
重要
如果您仅将扩展计划用于预测性扩展,我们强烈建议您直接在 Auto Scaling 资源上设置预测性扩展策略。此选项提供更多功能,例如使用指标聚合来创建新的自定义指标或保留跨 blue/green 部署的历史指标数据。有关 Amazon EC2 Auto Scaling 的更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的 Amazon EC2 Auto Scaling 的预测性扩展。有关 Application Auto Scaling 的更多信息,请参阅《应用程序自动缩放用户指南》中的 “应用程序自动缩放的预测性扩展”。
有关从扩展计划迁移到 Amazon EC2 Auto Scaling 预测性扩展策略的指南,请参阅迁移您的扩展计划。
例如,您可以启用预测式扩展并配置您的扩展策略,以将 Auto Scaling 组的平均 CPU 利用率保持在 50%。您的预测认为每天 8 点会出现流量峰值。您的扩展计划将创建未来的计划扩展操作,以确保您的 Auto Scaling 组已做好提前处理该流量的准备。这有助于使应用程序性能保持不变,目的是始终拥有所需的容量来尽可能让资源利用率保持在接近 50%。
以下是理解预测性扩缩的关键概念:
-
负荷预测:针对指定负荷指标 AWS Auto Scaling 分析最多 14 天的历史记录,并预测未来两天的未来需求。此数据以一小时的间隔提供并且每天更新。
-
计划的扩展操作: AWS Auto Scaling 计划主动增加和减少容量的扩展操作,以匹配负载预测。在计划时间,使用计划的扩展操作指定的值 AWS Auto Scaling 更新最小容量。其目的是将资源利用率保持在扩展策略指定的目标值。如果您的应用程序需要的容量大于预期,则可以使用动态扩展来增加额外的容量。
-
最大容量行为:弹性伸缩的最小和最大容量限制适用于每个资源。但您可以控制在预测容量超过最大容量时应用程序是否可以增加容量以超过最大容量。