定期タスクは、指定された時刻にスケーリングルールをトリガーし、スケーリンググループ内のインスタンス数を自動的に調整します。計算容量を予測可能なトラフィックパターンに合わせるため、ピーク時間前にスケールアウトし、オフピーク時間にスケールインすることでコストを最小限に抑えてください。
例:
毎日 09:00 に開始するバッチジョブの 30 分前にスケールアウトします。
週末にユーザーのトラフィックが減少するため、スケールインします。
プロダクトのローンチ日に一度だけ容量を調整します。
ワンタイムタスクと繰り返しタスクの使い分け
| タスクタイプ | 使用タイミング | 繰り返し設定 |
|---|---|---|
| ワンタイム | 特定のイベント(プロダクトローンチ、計画メンテナンス)向けの容量調整 | 未設定 |
| 繰り返し | 予測可能な日々・週次・月次のトラフィックパターン | 日単位、週単位、月単位、または cron 式 |
定期タスクを作成した後は、繰り返し 設定を 未設定 に戻すことはできません。
設定パラメーター
| パラメーター | 説明 |
|---|---|
| 実行時刻 | タスクを実行する日時です。繰り返し 設定がない場合、この時刻に一度だけタスクが実行されます。繰り返し 設定がある場合、この時刻に最初の実行が行われ、その後指定された周期で繰り返されます。タスクの作成日または最終更新日から 90 日を超える時刻を設定しないでください。その場合、タスクは有効になりません。 |
| スケーリンググループ | タスクを適用するスケーリンググループです。既存のスケーリンググループを選択してください。 |
| スケーリング方法 | タスクによる容量調整の方法です。スケーリング方法のオプション をご参照ください。 |
| 簡易スケーリングルール | スケーリング方法 が 既存のスケーリングルールを選択 に設定されている場合に利用できます。既存の簡易スケーリングルールを選択してください。定期タスクは簡易スケーリングルールのみをサポートしています。 |
| 再試行間隔 (秒) | Auto Scaling がタスクの実行に失敗した場合に再試行する間隔です。これにより、一時的な失敗によってタスクが永久にブロックされるのを防ぎます。同じ分内に複数のタスクがスケジュールされている場合、Auto Scaling は最も最近作成されたタスクを実行します。 |
| 繰り返し | タスクの繰り返し周期です。オプション:未設定、日単位、週単位、月単位、cron 式。 |
スケーリング方法のオプション
既存のスケーリングルールを選択 — 既存の簡易スケーリングルールを選択します。タスクはスケジュール時刻にそのルールを実行します。
スケーリンググループ内のインスタンス数を設定 — 最大、最小、または予想インスタンス数を直接設定します。これらの値はスケーリンググループで定義された数値を上書きし、スケジュール時刻にのみ有効になります。
このオプションを使用する際の制約事項:
スケーリンググループが[予想インスタンス数]の値を指定せずに作成された場合:[最大インスタンス数]と最小インスタンス数のみを設定します。
スケーリンググループが [希望インスタンス数] の値を 指定して 作成された場合、[最大インスタンス数]、最小インスタンス数、および 希望インスタンス数 を一緒に設定します。3 つの値のいずれかが欠落している場合、Auto Scaling はスケーリングリクエストを拒否します。
cron 式
日単位、週単位、月単位 の設定がスケジュールに合わない場合は、cron 式を使用して完全制御してください。
cron 式は、X X X X X 形式の 5 フィールドからなる文字列で、各フィールドは順に分、時、日、月、曜日を表します。
すべての cron 式は UTC + 0 を使用します。式を設定する前に現地時間を変換してください。たとえば、CST (UTC + 08:00) の 20:00 にタスクを実行するには、8 時間を減算し、式を 0 12 * * ? に設定します。
追加の制約事項:
cron 式を使用する定期タスクは、5 分に 1 回を上限として実行されます。
最初の実行時刻は、繰り返し 周期の有効期限内に収まる必要があります。そうでない場合、Auto Scaling はエラーを報告します。
フィールドリファレンス
| フィールド | 必須 | 値の範囲 | サポートされる特殊文字 |
|---|---|---|---|
| 分 | はい | 0–59 | , - / * |
| 時 | はい | 0–23 | , - / * |
| 日 | はい | 1–31 | , - / * ? L W |
| 月 | はい | 1–12 | , - / * |
| 週 | はい | 1–7 (日曜日 = 7) | , - * ? / L # |
特殊文字
| 文字 | 意味 | 例 |
|---|---|---|
* | フィールド内のすべての有効な値 | *:毎月。曜日の *:毎日。 |
, | 特定の値のリスト | 5,20:5 分と 20 分に実行。 |
- | 包括的な範囲 | 5-20:5 分から 20 分までの毎分に実行。 |
/ | 左側の値から始まるステップ増分 | 0/15:0、15、30、45 分に実行。分の 3/20:3、23、43 分に実行。 |
? | 未指定(日および曜日のフィールドのみ)。日または曜日のいずれか一方に制約をかけない場合は、? を使用してください。両方を未設定にすると競合が発生します。 | 15 10 15 * ?:毎月 15 日の 10:15 に実行(曜日に関係なく)。 |
L | 期間の最終日(日および曜日のフィールドのみ)。L をリストや範囲と組み合わせないでください。 | L:月の最終日。曜日の 6L:月の最終土曜日。 |
W | 指定された日に最も近い平日(同じ月内)。LW は月の最終平日を意味します。 | 5W:5 日が土曜日の場合、前日の金曜日(4 日)にトリガー。日曜日の場合、翌日の月曜日(6 日)にトリガー。平日の場合は 5 日にトリガー。 |
# | 月内の特定の曜日の出現回数(曜日のフィールドのみ)。有効な位置値:1–5。 | 4#2:月の第 2 木曜日。 |
cron 式の例 (UTC + 0)
| 式 | スケジュール |
|---|---|
15 10 ? * * | 毎日 10:15 |
15 9 * * * | 毎日 09:15 |
0 12 * * ? | 毎日 12:00 |
0 10,14,16 * * ? | 毎日 10:00、14:00、16:00 |
15 10 15 * ? | 毎月 15 日の 10:15 |
15 10 L * ? | 毎月最終日の 10:15 |
15 10 ? * 6L | 毎月最終土曜日の 10:15 |
15 10 ? * 6#3 | 毎月第 3 土曜日の 10:15 |
表 4. 値の例
以下の表は、UTC + 0 における cron 式の例とその意味を示しています。cron 式を設定する際は、必ず現地時間を UTC + 0 に変換してください。
例 | 説明 |
| 毎日 10:15 にタスクを実行します。 |
| 毎日 9:15 にタスクを実行します。 |
| 毎日 12:00 にタスクを実行します。 |
| 毎日 10:00、14:00、16:00 にタスクを実行します。 |
| 毎月 15 日の 10:15 にタスクを実行します。 |
| 毎月最終日の 10:15 にタスクを実行します。 |
| 毎月最終土曜日の 10:15 にタスクを実行します。 |
| 毎月第 3 土曜日の 10:15 にタスクを実行します。 |
定期タスクの管理
| 操作 | ユーザーガイド | API |
|---|---|---|
| 作成 | 定期タスクの作成 | CreateScheduledTask |
| 変更 | — | ModifyScheduledTask |
| 有効化 | — | — |
| 無効化 | — | — |
| 削除 | — | DeleteScheduledTask |
| 詳細の照会 | — | DescribeScheduledTasks |
次のステップ
スケーリンググループの概要 — 定期タスクの対象となるスケーリンググループについて学びます。
スケーリングルールの概要 — 定期タスクがサポートする簡易スケーリングルールを含む、スケーリングルールについて学びます。
スケーリングルールの管理 — 定期タスクが参照できるスケーリングルールを作成・管理します。