计划扩缩的工作原理 - Application Auto Scaling

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

计划扩缩的工作原理

本主题描述了定时扩展的工作原理,并介绍了有效使用定时扩展所需的关键注意事项。

工作方式

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

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

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

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

注意事项

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

  • 计划操作将 MinCapacityMaxCapacity 设置为由计划操作在指定的日期和时间指定的内容。请求可以选择只包含这些大小中的一个。例如,您可以创建仅指定最小容量的计划操作。但是,在某些情况下,您必须包括两种大小,以确保新的最小容量不大于最大容量,或者新的最大容量不小于最小容量。

  • 预设情况下,您设置的重复计划采用协调世界时 (UTC)。您可以更改时间以符合本地时区或您的网络中其他部分的时区。如果您指定的时区遵守夏令时,则操作会自动调整夏令时 (DST)。有关更多信息,请参阅 使用 cron 表达式安排重复发生的扩缩操作

  • 您可以临时关闭可扩展目标的计划扩缩。这有助于防止计划操作处于活动状态,而无需将其删除。然后,当您想要再次使用时,您可以恢复计划的扩展。有关更多信息,请参阅 暂停和恢复 Application Auto Scaling 扩缩

  • 将会保证同一可扩展目标的计划操作运行顺序,但不保证不同可扩展目标中的计划操作的执行顺序。

  • 要成功完成计划操作,目标服务中的指定资源必须位于可扩展状态。如果不是此状态,则请求将会失败,并返回错误消息,例如:Resource Id [ActualResourceId] is not scalable. Reason: The status of all DB instances must be 'available' or 'incompatible-parameters'

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

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

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

有关使用定时扩展的详细示例,请参阅 C AWS ompute Blog 上的博客文章 “计划 AWS Lambda 预配置并发以了解反复出现的峰值使用量”。

有关演练如何使用示例 AWS 资源创建计划操作的教程,请参阅 教程:通过 AWS CLI开始使用计划扩缩

有关为自动扩缩组创建计划操作的信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Amazon EC2 Auto Scaling 的计划扩缩

限制

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

  • 每个可扩展目标的计划操作的名称必须是唯一的。

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

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

  • 在可扩展资源上查看、添加、更新或移除计划操作的控制台访问权限取决于您使用的资源。有关更多信息,请参阅 AWS 可以与 Application Auto Scaling 一起使用的服务