AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::AutoScaling::ScheduledAction

为 Auto Scaling 组创建计划扩展操作,从而更改可用于应用程序的服务器数以响应可预测的负载变化。

重要

请注意以下几点:

  • 如果启用了回滚更新,则必须先暂停计划操作,然后才能更新 Auto Scaling 组。可以使用 AWS CLI 或 Auto Scaling API 暂停各个流程。有关更多信息,请参阅 Auto Scaling 用户指南 中的暂停和恢复 Auto Scaling 流程

  • 当您使用 Auto Scaling 组和计划操作更新堆栈时,AWS CloudFormation 总是会将您的 Auto Scaling 组的最小大小、最大大小和所需容量属性设置为在您的模板的 AWS::AutoScaling::AutoScalingGroup 资源中定义的值,即使在计划操作已生效的情况下也是如此。但是,您可能不希望 AWS CloudFormation 更改任何组大小属性值,例如在您有已生效的计划操作的情况下。您可以使用 UpdatePolicy 属性防止 AWS CloudFormation 在堆栈更新过程中更改最小大小、最大大小或所需容量属性值,除非您在模板中修改了各个值。

语法

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

JSON

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

YAML

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

属性

AutoScalingGroupName

Auto Scaling 组的名称或 ARN。

Required: Yes

Type: String

更新要求替换

DesiredCapacity

应在 Auto Scaling 组中运行的 Amazon EC2 实例数。必须至少指定 MaxSizeMinSizeDesiredCapacity 之一。

Required: Conditional

Type: Integer

更新要求无需中断

EndTime

计划的结束时间(采用 UTC 表示)。例如:2010-06-01T00:00:00Z

Required: No

类型:时间戳

更新要求无需中断

MaxSize

Auto Scaling 组中 Amazon EC2 实例的最大数。必须至少指定 MaxSizeMinSizeDesiredCapacity 之一。

Required: Conditional

Type: Integer

更新要求无需中断

MinSize

Auto Scaling 组中 Amazon EC2 实例的最小数。必须至少指定 MaxSizeMinSizeDesiredCapacity 之一。

Required: Conditional

Type: Integer

更新要求无需中断

Recurrence

未来重复操作的开始时间(UTC 格式)。按照 Unix cron 语法格式指定开始时间。有关 cron 语法的更多信息,请转到 http://en.wikipedia.org/wiki/Cron

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

Required: No

Type: String

更新要求无需中断

StartTime

计划的开始时间(采用 UTC 表示)。例如:2010-06-01T00:00:00Z

Required: No

类型:时间戳

更新要求无需中断

返回值

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

Copy
{ "Ref": "MyScheduledAction" }

对于具有逻辑 ID MyScheduledAction 的计划 Auto Scaling 操作,Ref 返回计划操作名称。例如:

mystack-myscheduledaction-NT5EUXTNTXXD

有关使用 Ref 功能的更多信息,请参阅参考

Auto Scaling 计划操作代码段

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

JSON

Copy
"ScheduledActionUp": { "Type": "AWS::AutoScaling::ScheduledAction", "Properties": { "AutoScalingGroupName": { "Ref": "WebServerGroup" }, "MaxSize": "10", "MinSize": "5", "Recurrence": "0 7 * * *" } }, "ScheduledActionDown": { "Type": "AWS::AutoScaling::ScheduledAction", "Properties": { "AutoScalingGroupName": { "Ref": "WebServerGroup" }, "MaxSize": "1", "MinSize": "1", "Recurrence": "0 19 * * *" } }

YAML

Copy
ScheduledActionUp: Type: "AWS::AutoScaling::ScheduledAction" Properties: AutoScalingGroupName: Ref: "WebServerGroup" MaxSize: 10 MinSize: 5 Recurrence: "0 7 * * *" ScheduledActionDown: Type: "AWS::AutoScaling::ScheduledAction" Properties: AutoScalingGroupName: Ref: "WebServerGroup" MaxSize: 1 MinSize: 1 Recurrence: "0 19 * * *"