AWS::AutoScaling::ScheduledAction - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AutoScaling::ScheduledAction

指定 Amazon EC2 Auto Scaling 计划操作,以便 Auto Scaling 组可以更改应用程序可用的实例数,从而响应可预测的负载变化。

重要

当您使用 Auto Scaling 组和计划操作更新堆栈时,AWS CloudFormation 总是会将您的组的最小大小、最大大小和所需容量属性设置为在您模板的 AWS::AutoScaling::AutoScalingGroup 部分中定义的值。不过,当您有一个有效的计划操作时,您可能不希望 CloudFormation 这样做。您可以使用 UpdatePolicy 属性防止 CloudFormation 在堆栈更新过程中更改最小大小、最大大小或所需容量属性值,除非您在模板中修改了各个值。

如果已启用滚动更新,则您必须先通过为 Auto Scaling 组指定 UpdatePolicy 属性来暂停计划的操作,然后才能更新 Auto Scaling 组。您可以在 Auto Scaling 模板片段中找到滚动更新的示例更新策略。

有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南 中的计划的扩展暂停和恢复扩展流程

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::AutoScaling::ScheduledAction", "Properties" : { "AutoScalingGroupName" : String, "DesiredCapacity" : Integer, "EndTime" : String, "MaxSize" : Integer, "MinSize" : Integer, "Recurrence" : String, "StartTime" : String } }

YAML

Type: AWS::AutoScaling::ScheduledAction Properties: AutoScalingGroupName: String DesiredCapacity: Integer EndTime: String MaxSize: Integer MinSize: Integer Recurrence: String StartTime: String

属性

AutoScalingGroupName

Auto Scaling 组的名称或 Amazon 资源名称 (ARN)。

必需:是

类型:字符串

Update requires: Replacement

DesiredCapacity

所需容量是在计划操作运行后 Auto Scaling 组的初始容量及其尝试维护的容量。如果添加了更多的扩展条件,则可以扩展到此容量以外。

您必须指定以下至少一个属性:MaxSizeMinSizeDesiredCapacity

必需:条件

类型:整数

Update requires: No interruption

EndTime

重复计划的结束日期和时间 (UTC)例如:"2019-06-01T00:00:00Z"

必需:否

类型:字符串

Update requires: No interruption

MaxSize

Auto Scaling 组的最大大小。

您必须指定以下至少一个属性:MaxSizeMinSizeDesiredCapacity

必需:条件

类型:整数

Update requires: No interruption

MinSize

Auto Scaling 组的最小大小。

您必须指定以下至少一个属性:MaxSizeMinSizeDesiredCapacity

必需:条件

类型:整数

Update requires: No interruption

Recurrence

此操作的重复计划(使用 Unix cron 语法格式)。有关 cron 语法的更多信息,请参阅 Crontab

通过 StartTime 属性指定 EndTimeRecurrence 属性可组成重复操作的开始和停止边界。

必需:否

类型:字符串

Update requires: No interruption

StartTime

此操作的开始日期和时间 (UTC)。例如:"2019-06-01T00:00:00Z"

必需:否

类型:字符串

Update requires: No interruption

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。例如:mystack-myscheduledaction-NT5EUXTNTXXD

有关使用 Ref 函数的更多信息,请参阅 Ref

示例

以下示例为 Auto Scaling 组计划扩展操作。

计划的扩展操作

以下模板代码段包含两个扩展 Auto Scaling 组中的实例数的计划操作。ScheduledActionOut 操作每天上午 7 点启动,将 Auto Scaling 组设置为最少 5 个和最多 10 个 Amazon EC2 实例。ScheduledActionIn 操作每天晚上 7 点启动,将 Auto Scaling 组设置为最少和最多都为 1 个 Amazon EC2 实例。

JSON

{ "Resources":{ "ScheduledActionOut":{ "Type":"AWS::AutoScaling::ScheduledAction", "Properties":{ "AutoScalingGroupName":{ "Ref":"myASG" }, "MaxSize":"10", "MinSize":"5", "Recurrence":"0 7 * * *" } }, "ScheduledActionIn":{ "Type":"AWS::AutoScaling::ScheduledAction", "Properties":{ "AutoScalingGroupName":{ "Ref":"myASG" }, "MaxSize":"1", "MinSize":"1", "Recurrence":"0 19 * * *" } } } }

YAML

--- Resources: ScheduledActionOut: Type: AWS::AutoScaling::ScheduledAction Properties: AutoScalingGroupName: Ref: "myASG" MaxSize: 10 MinSize: 5 Recurrence: "0 7 * * *" ScheduledActionIn: Type: AWS::AutoScaling::ScheduledAction Properties: AutoScalingGroupName: Ref: "myASG" MaxSize: 1 MinSize: 1 Recurrence: "0 19 * * *"