Amazon A EC2 uto Scaling 的计划扩展 - Amazon A EC2 uto Scaling

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

Amazon A EC2 uto Scaling 的计划扩展

借助计划扩缩,您可以根据可预测的负载变化来设置应用程序的自动扩缩。您可以创建计划操作,在特定时间增加或减少组的所需容量。

例如,您每周遇到规律的流量模式,即负载在一周的中间增加,而在接近周末时会下降。您可以在 Amazon A EC2 uto Scaling 中配置符合以下模式的扩展计划:

  • 周三上午,一项计划操作通过增加先前设置的自动扩缩组所需容量来增加容量。

  • 周五晚上,另一项计划操作通过降低先前设置的自动扩缩组所需容量来减少容量。

利用这些计划的扩缩操作,您可以优化成本和性能。您的应用程序有足够的容量来处理一周中间的流量高峰,但不会在其他时间过度预置不需要的容量。

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

计划扩缩的工作原理

要使用计划扩展,请创建计划操作,告知 Amazon A EC2 uto Scaling 在特定时间执行扩展活动。创建计划操作时,请指定自动扩缩组、应进行扩缩活动的时间以及可选的新最小容量和新最大容量。您可以创建仅扩展一次或按重复计划扩展的计划操作。

在指定时间,Amazon A EC2 uto Scaling 会根据新的容量值进行扩展,方法是将当前容量与指定的所需容量进行比较。

  • 如果当前容量小于指定的所需容量,Amazon A EC2 uto Scaling 将扩展或添加实例到指定的所需容量。

  • 如果当前容量大于指定的所需容量,Amazon A EC2 uto Scaling 会缩减或移除实例到指定的所需容量。

计划操作会设置指定日期和时间组的所需、最小和最大容量。一次只能为其中一种容量(例如,所需容量)创建计划操作。但是,在某些情况下,您必须包括最小和最大容量,以确保您在操作中指定的所需容量不会超出这些限制。

定期安排

要使用 AWS CLI 或创建重复计划SDK,请指定 cron 表达式和时区来描述该计划操作何时重演。您可以选择指定开始时间和/或结束时间的日期和时间。

要使用创建重复计划 AWS Management Console,请指定计划操作的重复模式、时区、开始时间和可选的结束时间。所有重复模式选项都基于 cron 表达式。或者,您可以编写您自己的 Cron 表达式。

受支持的 cron 表达式格式由用空格分隔的五个字段组成:[Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]。例如,Cron 表达式 30 6 * * 2 配置每周二的早上 6:30 再执行的计划操作。星号用作通配符,以匹配字段的所有值。有关 cron 表达式的其他示例,请参见https://crontab.guru/examples.html。有关以此格式编写您自己的 cron 表达式的信息,请参阅 Crontab

仔细选择您的开始时间和结束时间。记住以下内容:

  • 如果您指定开始时间,Amazon A EC2 uto Scaling 将在此时执行操作,然后根据指定的周期执行操作。

  • 如果指定结束时间,则操作在此时间之后停止重复。在到达计划操作的结束时间后,它不会保留在您的账户中。

  • 如果重复时间与结束时间完全匹配,则 Amazon A EC2 uto Scaling 将不会在结束时间执行预定的操作。

  • 使用 AWS CLI 或UTC时,必须设置开始时间和结束时间SDK。

时区

默认情况下,您设置的定期计划采用协调世界时 (UTC)。您可以更改时间以符合本地时区或您的网络中其他部分的时区。当您指定采用夏令时的时区 (DST) 时,操作会自动调整。DST

有效值是 Internet 号码分配机构 (IANA) 时区数据库中时区的规范名称。例如,美国东部时间通常标识为 America/New_York。有关更多信息,请参阅 https://www.iana.org/time-zones

基于位置的时区,例如America/New_York自动调整. DST 但是,UTC基于时区(例如)Etc/UTC是绝对时间,无法进行调整DST。

例如对于您有一个定期计划,其时区为 America/New_York。第一个缩放操作发生在DST开始前America/New_York的时区。下一个缩放操作发生在DST开始后America/New_York的时区。第一个动作从当地时间上午 8:00 UTC -5 开始,而第二个动作从当地时间上午 8:00 UTC -4 开始。

如果您使用创建计划操作 AWS Management Console 并指定观察DST的时区,则循环计划以及开始和结束时间都会自动进行DST调整。

注意事项

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

  • 可以保证同组内计划操作的执行顺序正确,但不保证跨组的计划操作的执行顺序正确。

  • 计划操作的运行时间一般为几秒钟。然而,该操作可能会比计划的开始时间延迟最多两分钟。因为系统将按照计划操作的顺序来执行 Auto Scaling 组内的操作,所以计划开始时间彼此接近的计划操作可能需要更长时间才能执行。

  • 您可以暂时关闭 Auto Scaling 组的计划扩展,方法是暂停 ScheduledActions 过程。这有助于防止计划操作处于活动状态,而无需将其删除。然后,当您想要再次使用时,您可以恢复计划的扩展。有关更多信息,请参阅 暂停和恢复 Amazon A EC2 uto Scaling 流程

  • 创建计划操作后,您可以更新除名称之外的任何设置。

限制

  • 每个 Auto Scaling 组,计划操作的名称必须是唯一的。

  • 计划的操作必须具有唯一时间值。如果您尝试计划在已计划另一个扩展活动的时间进行活动,则该调用将被拒绝,并返回一个错误消息,指示已存在已存在已计划启动时间的计划操作。

  • 您最多可以为每个 Auto Scaling 组创建 125 个计划的操作。