メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

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 インスタンスの数。少なくとも 1 つの MaxSizeMinSize、または DesiredCapacity を指定する必要があります

Required: Conditional

Type: Integer

更新に伴う要件: 中断はありません。

EndTime

UTC で表されたスケジュールを終了する時間。たとえば、2010-06-01T00:00:00Z と指定します。

Required: No

: タイムスタンプ

更新に伴う要件: 中断はありません。

MaxSize

Auto Scaling グループの Amazon EC2 インスタンスの最大数。少なくとも 1 つの MaxSizeMinSize、または DesiredCapacity を指定する必要があります

Required: Conditional

Type: Integer

更新に伴う要件: 中断はありません。

MinSize

Auto Scaling グループの Amazon EC2 インスタンスの最小数。少なくとも 1 つの MaxSizeMinSize、または DesiredCapacity を指定する必要があります

Required: Conditional

Type: Integer

更新に伴う要件: 中断はありません。

Recurrence

UTC で表された今後の定期的なアクションの開始時間。Unix の cron 構文スタイルに従って開始時間を指定します。cron 構文の詳細については、http://en.wikipedia.org/wiki/Cron を参照してください。

StartTimeEndTime プロパティを Recurrence プロパティとともに指定することで、定期的なアクションの開始と終了の境界を定めます。

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 関数の使用方法の詳細については、「Ref」を参照してください。

Auto Scaling の予定されたアクションのスニペット

以下のテンプレートには、Auto Scaling グループのインスタンスの数をスケーリングする 2 個の予定されたアクションが含まれています。ScheduledActionUp アクションは毎日午前 7 時に開始し、Auto Scaling グループの Amazon EC2 インスタンス数を最小 5 個、最大 10 個に設定します。ScheduledActionDown アクションは毎日午後 7 時に開始し、Auto Scaling グループの Amazon EC2 インスタンス数を最小、最大ともに 1 個に設定します。

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 * * *"