AWS CloudFormation
用户指南 (API 版本 2010-05-15)

AWS::AutoScaling::ScheduledAction

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

重要

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

如果已启用滚动更新,则您必须先通过为 Auto Scaling 组指定 UpdatePolicy 属性来暂停计划的操作,然后才能更新 Auto Scaling 组。您可以在 AWS::AutoScaling::AutoScalingGroup 文档的示例部分中查找滚动更新的示例更新策略。

有关更多信息,请参阅 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 组中运行的 Amazon EC2 实例的数目。

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

必需:条件

类型:整数

Update requires: No interruption

EndTime

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

必需:否

类型:字符串

Update requires: No interruption

MaxSize

Auto Scaling 组中的 Amazon EC2 实例的最大数目。

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

必需:条件

类型:整数

Update requires: No interruption

MinSize

Auto Scaling 组中的 Amazon EC2 实例的最小数量。

您必须指定以下至少一个属性: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

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

YAML

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

本页内容: