Application Auto Scaling 概念 - Application Auto Scaling

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

Application Auto Scaling 概念

本主题介绍关键概念,帮助您了解 Application Auto Scaling 并开始使用它。

可扩展目标

您创建的实体,用于指定要扩展的资源。每个可扩展目标都由服务命名空间、资源 ID 和可扩展维度(表示基础服务的一些容量维度)唯一标识。例如,Amazon ECS 服务支持弹性伸缩其任务计数,DynamoDB 表支持弹性伸缩该表及其全局二级索引的读写容量,Aurora 集群支持扩缩其副本计数。

提示

每个可扩展目标还具有最小容量和最大容量。扩缩策略永远不会高于或低于最小最大范围。您可以直接对超出此范围的基础资源进行带外更改,Application Auto Scaling 不知道这些资源。但是,无论何时调用扩缩策略或调用 RegisterScalableTarget API,Application Auto Scaling 都会检索当前容量并将其与最小容量和最大容量进行比较。如果该容量超出最小-最大范围,则会更新容量以符合设置的最小值和最大值。

横向缩减

当 Application Auto Scaling 自动减少可扩展目标的容量时,可扩展目标将横向缩减。设置扩缩策略后,将无法将可扩展目标横向缩减至最小容量以下。

扩展

当 Application Auto Scaling 自动增加可扩展目标的容量时,可扩展目标将横向扩展。设置扩缩策略后,将无法将可扩展目标横向扩展至最大容量以上。

扩缩策略

扩缩策略指示 Application Auto Scaling 跟踪特定的 CloudWatch 指标。然后,它确定当指标高于或低于某个阈值时要采取的扩缩操作。例如,如果集群中的 CPU 使用率开始上升,您可能希望横向扩展,而当其再次下降时横向缩减。

用于弹性伸缩的指标由目标服务发布,但您也可以将自己的指标发布到 CloudWatch,然后将其与扩缩策略一起使用。

扩缩活动之间的冷却时间可让资源在另一个扩缩活动开始之前稳定下来。Application Auto Scaling 在冷却时间内继续评估指标。冷却时间结束后,扩缩策略将根据需要启动另一个扩缩活动。在冷却时间生效时,如果需要根据当前指标值进行更大的横向扩展,则扩缩策略会立即横向扩展。

计划的操作

计划的操作在特定日期和时间弹性伸缩资源。它们通过修改可扩展目标的最小容量和最大容量来工作,因此可以通过设置更高的最小容量或更低的最大容量用于按计划横向缩减和横向扩展。例如,您可以使用计划的操作来扩缩周末不消耗资源的应用程序,方法是在星期五减少容量,并在下一个星期一增加容量。

您还可以使用计划的操作优化随时间推移的最小值和最大值,以适应预期流量高于正常流量的情况,例如营销活动或季节性波动。这样做可以帮助您在需要横向扩展更高以满足不断增加的使用量时提高性能,并在使用较少的资源时降低成本。

了解更多

AWS 服务 可以与 Application Auto Scaling 一起使用 - 本节向您介绍可以扩展的服务,并通过注册可扩展目标来帮助您设置弹性伸缩。本节还介绍 Application Auto Scaling 为访问目标服务中的资源而创建的每个 IAM 服务相关角色。

Application Auto Scaling 的目标跟踪扩缩策略 - Application Auto Scaling 的主要功能之一是目标跟踪扩缩策略。了解目标跟踪策略如何根据配置的指标和目标值自动调整所需容量,使利用率保持在恒定水平。例如,您可以配置目标跟踪,使 Spot 实例集的平均 CPU 利用率保持在 50%。然后,Application Auto Scaling 根据需要启动或终止 EC2 实例,以使所有服务器的聚合 CPU 利用率保持在 50%。