本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon A EC2 uto Scaling 的计划扩展
通过计划扩展,您可以根据可预测的负载变化为应用程序设置自动扩展。您可以创建计划操作,在特定时间增加或减少小组的所需容量。
例如,您会遇到每周定期的流量模式,即负载在周中增加,而在接近周末时会下降。您可以在 Amazon A EC2 uto Scaling 中配置符合以下模式的扩展计划:
-
周三上午,一项计划操作通过增加 Auto Scaling 组先前设置的所需容量来增加容量。
-
周五晚上,另一项计划操作会减少 Auto Scaling 组先前设定的所需容量,从而减少容量。
利用这些计划的扩缩操作,您可以优化成本和性能。您的应用程序有足够的容量来处理周中的流量高峰,但不会在其他时间过度配置不需要的容量。
您可以将计划扩展和扩展策略结合使用,以获得两种扩展方法的好处。运行计划的扩缩操作后,扩缩策略可以继续决定是否进一步扩缩容量。这有助于确保您有足够的容量来处理应用程序的负载。当您的应用程序扩展以满足需求时,当前容量必须在计划操作设置的最小容量和最大容量范围内。
计划扩缩的工作原理
要使用计划扩展,请创建计划操作,告知 Amazon A EC2 uto Scaling 在特定时间执行扩展活动。创建计划操作时,您可以指定 Auto 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
仔细选择您的开始时间和结束时间。记住以下内容:
-
如果您指定开始时间,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 个计划的操作。