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

Application Auto Scaling 的计划扩缩

根据计划扩缩使您可以按照可预测的负载变化来设置您自己的扩缩计划。例如,假设您的 Web 应用程序的流量会在每周的星期三开始增加,并在星期四保持高流量状态,然后在星期五开始下降。您可以配置 Application Auto Scaling 的计划,以在星期三增加容量并在星期五减少容量。

要使用计划的扩缩,请创建指示 Application Auto Scaling 在特定时间执行扩缩活动的计划操作。创建计划的操作时,请指定可扩展目标、应进行扩缩活动的时间以及最小和最大容量。您可以创建仅扩展一次或按重复计划扩展的计划操作。

在指定的时间,Application Auto Scaling 通过将当前容量与指定的最小容量和最大容量进行比较,根据新容量值进行扩展。

  • 如果当前容量小于指定的最小容量,Application Auto Scaling 将横向扩展(增加容量)到指定的最小容量。

  • 如果当前容量大于指定的最大容量,Application Auto Scaling 将横向缩减(减少容量)到指定的最大容量。

您可以在同一资源上同时使用计划的扩缩和扩缩策略,以获得两者的好处。运行计划的操作后,扩缩策略可以继续决定是否进一步扩展容量。这有助于确保您有足够的容量来处理应用程序的负载。当您的应用程序扩展以满足需求时,当前容量必须在计划操作设置的最小容量和最大容量范围内。

有关使用计划扩缩的详细示例,请参阅 Amazon 计算博客上的博客文章计划 Amazon Lambda 预置并发性以实现重复使用峰值。有关演练如何使用示例 Amazon 资源创建计划操作的教程,请参阅 开始使用 Amazon CLI

Considerations

创建计划的操作时,请记住以下内容:

  • 计划操作将 MinCapacityMaxCapacity 设置为由计划操作在指定的时间指定的内容。

  • 默认情况下,您设置的时间采用协调世界时 (UTC)。使用 cron 表达式指定一次性计划或重复计划时,您可以将时区更改为与本地时区或您的网络中其他部分的时区。如果您指定的时区遵守夏令时,它会自动调整夏令时 (DST)。

  • 如果您指定了重复计划,则可以指定开始时间、结束时间或两者的值。

    • 开始时间和结束时间必须设置为 UTC。不支持更改开始时间和结束时间的时区。

    • 如果您指定开始时间,Application Auto Scaling 将在该时间执行操作,然后根据指定的重复执行操作。

    • 如果指定结束时间,则操作在此时间之后停止重复。Application Auto Scaling 不会一直跟踪以前的值,并在结束时间后恢复为以前的值。

  • 计划操作的名称在指定的可扩展目标上的所有其他计划操作间必须唯一。

  • Application Auto Scaling 可保证为同一可扩展目标运行计划操作的顺序,但不能保证计划操作在可扩展目标之间的运行顺序。

  • 由于 Application Auto Scaling 和目标服务的分布式特性,计划操作触发时间与目标服务实际执行扩缩操作的时间之间的延迟可能有几秒钟。因为系统将按照指定操作的顺序来运行计划的操作,所以开始时间彼此接近的计划操作可能需要更长时间才能运行。

计划操作创建、管理和删除的常用命令

使用计划扩缩的常用命令包括:

注意

为简洁起见,本指南中的示例说明与 Application Auto Scaling 集成的一些服务的 CLI 命令。要指定不同的可扩展目标,请在 --service-namespace 中指定其命名空间,在 --scalable-dimension 中指定其可扩展维度,并在 --resource-id 中指定其资源 ID。有关更多信息,请参阅 register-scalable-target

Limitations

以下是使用计划的扩缩时的限制:

  • Application Auto Scaling 不在计划表达式中提供二级精度。使用 Cron 表达式的最高解析精度是一分钟。

  • 可扩展目标不能是 Amazon MSK 集群。Amazon MSK 不支持计划的扩缩。