すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:概要

最終更新日:Sep 12, 2024

スケジュールタスクを使用すると、スケーリングルールを実行する特定の時点を指定できます。 スケジュールタスクを作成して、コンピューティングリソースの自動スケーリングを有効にできます。 この場合、リソースコストを最小限に抑えながら、ビジネスを期待どおりに実行できます。

構成項目

次の表に、スケジュールされたタスクの設定項目を示します。

項目

説明

実行日時

スケジュールされたタスクが実行される時刻。

  • Recurrenceパラメーターに値が指定されていない場合、スケジュール済みタスクはexecuted atパラメーターで指定された時間に1回だけ実行されます。

  • Recurrenceパラメーターに値が指定されている場合、スケジュール済みタスクはexecuted atパラメーターで指定された時間に1回実行され、Recurrenceパラメーターで指定されたサイクルに基づいて繰り返し実行されます。

重要

スケジュールされたタスクが作成または変更された日から90日以降の時間を指定しないでください。 それ以外の場合、スケジュール済みタスクは有効になりません。

スケーリンググループ

スケジュールされたタスクが作成されるスケーリンググループ。 既存のスケーリンググループを選択します。 詳細については、「概要」をご参照ください。

スケーリング方法

  • [既存のスケーリングルールの選択]: 既存のスケーリングルールを選択できます。 スケジュールされたタスクは、単純なスケーリングルールをサポートします。 詳細については、「概要」をご参照ください。

  • スケーリンググループのインスタンス数の設定: スケジュールされたタスクのインスタンスの最大数、最小数、または予想数を指定できます。 新しい数値は、スケーリンググループの作成時に指定された数値を上書きします。 新しい数値は、指定された時間にのみ有効になります。

    説明
    • 選択したスケーリンググループの作成時に [期待インスタンス数] パラメーターに値を指定しなかった場合、スケジュールタスクの作成時に [最大インスタンス数] パラメーターと [最小インスタンス数] パラメーターのみを設定できます。

    • 選択したスケーリンググループを作成したときに [期待インスタンス数] パラメーターに値を指定した場合、[最大インスタンス数][最小インスタンス数] 、および [期待インスタンス数] パラメーターを同時に設定する必要があります。 そうでない場合、スケジュールされたタスクによって開始されたスケーリング要求は拒否されます。

単純なスケーリングルール

このパラメーターは、[スケーリングメソッド] パラメーターを [既存のスケーリングルールの選択] に設定した場合にのみ使用できます。 既存の単純なスケーリングルールを選択します。 詳細については、「スケーリングルールの管理」または「CreateScalingRule」をご参照ください。

リトライ間隔 (秒)

スケジュール済みタスクの実行に失敗した場合に、スケジュール済みタスクが再試行される間隔。 これにより、スケジュールされたタスクの実行が、選択したスケーリングルールの単一実行失敗の影響を受けないようにします。 複数のスケジュール済みタスクを同じ分以内に実行する必要がある場合、Auto Scalingは最後に作成されたスケジュール済みタスクを実行します。

再発

スケジュールされたタスクが繰り返し実行されるサイクル。 Recurrenceパラメーターは、Not setBy DayBy Week、またはBy Monthに設定できます。 複雑なビジネス要件がある場合は、[再発] パラメーターを [Cron式] に設定することもできます。 cron式の詳細については、このトピックの「Cron式」をご参照ください。

説明

スケジュールされたタスクを作成した後、Recurrenceパラメーターの設定をNot Setに変更することはできません。

Cron 式

Auto Scalingコンソールでスケジュールタスクを作成するときに、[繰り返し] パラメーターを [Cron式] に設定できます。

cron式は、スケジュールを表す文字列です。 文字列は、スペースで区切られた複数のフィールドで構成され、スケジュールの個々の詳細を記述します。 Auto Scalingは、X X X X X形式の5つのフィールドで構成されるcron式をサポートします。 Xはフィールドのプレースホルダーです。 cron式の各フィールドは、分、時間、月、月、および曜日を順番に表します。 各フィールドは、明確な値または論理的な意味を持つ特殊文字にすることができます。

スケジュールされたタスクのcron式を設定するときは、次の項目に注意してください。

  • Cron式はUTC + 0です。 cron式を設定するときは、ローカル時刻をUTC + 0に変換する必要があります。 たとえば、中国の時間はUTC + 8です。 中国にいて、スケジュールされたタスクを毎日20:00:00に実行する場合は、20:00:00から8時間を引く必要があります。 この場合、cron式を0 12 * * ? に設定する必要があります。

  • cron式が指定されているスケジュール済みタスクは、5分に1回だけ実行できます。

  • cron式が指定されたスケジュール済みタスクが最初に実行される時刻は、実行されるスケジュール済みタスクの [Recurrence] パラメーターで指定されたサイクルが期限切れになる時刻よりも前である必要があります。 それ以外の場合は、エラーが返されます。

表 1. フィールド値

項目

必須

値の範囲

特殊文字

課金されます

0から59

, - / *

時間

課金されます

0から23

, - / *

課金されます

1から31

, - / * ? L W

課金されます

1から12

, - / *

課金されます

1から7。 日曜日の値は7です。

, - * ? /L#

特殊文字表2

特殊文字

説明

*

すべての有効なフィールド値

[月] フィールドのアスタリスク (*) は、毎月を示します。 Weekフィールドでは、アスタリスク (*) は曜日を示します。

,

列挙された値

分フィールドにおいて、5、20は、5分および20分を示します。

-

範囲の値

Minuteフィールドでは、5-20は5分から20分までの範囲を示します。

/

増分

分フィールドでは、0/15は、0分から開始して15分ごとを示します。 3/20は、3分から20分ごとを示します。

?

指定されていません。 日と週のフィールドのみがこの文字をサポートします。

説明

[日] フィールドまたは [週] フィールドを指定した後に計算が競合しないようにするには、未指定フィールドに疑問符 (?) を指定する必要があります。

Dayフィールドでは、? は、月の特定の日が指定されていないことを示します。 週のフィールドでは、? は、特定の曜日が指定されていないことを指定します。 たとえば、15 10 15 * ? のUTC + 0では、スケジュールされたタスクが、曜日に関係なく、毎月15日の10:15:00に実行されることを指定します。

L

Lastの最初の文字であるLは、特定の期間の最終日を指定します。 日と週のフィールドのみがこの文字をサポートします。

説明

ロジックエラーを防ぐため、L文字を使用する場合はリストや範囲を指定しないでください。

  • 日フィールドでは、Lは月の最終日を指定します。 Weekフィールドでは、Lは週の最終日を指定します。

  • Lの前に値を付けることができる。 たとえば、Weekフィールドの6Lは、月の最後の土曜日を指定します。

W

指定された月の日に最も近い平日。 W文字が示す平日は、指定された曜日と同じ月です。 LWは、指定された月の最終平日を示します。

[日] フィールドで5Wが指定され、月の5日が土曜日である場合、タスクは最も近い平日、つまり月の4日目の金曜日にトリガーされます。 月の5日が日曜日である場合、スケジュールされたタスクは、月の6日である月曜日である最も近い平日にトリガされる。 月の5日が平日の場合、スケジュールされたタスクは月の5日にトリガーされます。

#

毎月の特定の週の特定の日。 Weekフィールドのみがこの文字をサポートしています。 有効な値: 1 ~ 5。

Weekフィールドでは、4#2は月の第2木曜日を示します。

表4の

次の表に、UTC + 0のcron式の例を示します。 これらのcron式は異なる意味を有する。 cron式を設定するときは、ローカル時刻をUTC + 0に変換する必要があります。

説明

15 10? * *

スケジュールされたタスクを毎日10:15:00に実行します。

15 9 * * *

スケジュールされたタスクを毎日9:15:00に実行します。

0 12 * * ?

毎日12:00:00にスケジュール済みタスクを実行します。

0 10,14、16 * * ?

毎日10:00:00、14:00:00、16:00:00にスケジュールされたタスクを実行します。

15 10 15 * ?

毎月15日の10:15:00にスケジュール済みタスクを実行します。

15 10 L * ?

スケジュールされたタスクを毎月最終日の10:15:00に実行します。

15 10? * 6L

毎月最終土曜日の10:15:00にスケジュールされたタスクを実行します。

15 10? * 6#3

毎月第3土曜日の10:15:00にスケジュールされたタスクを実行します。

スケジュール済みタスクの作成

次の表に、スケジュール済みタスクの管理方法に関するリンクを示します。

ユーザーガイド

操作

APIリファレンス

スケジュール済みタスクの作成

スケジュール済みタスクの作成

CreateScheduledTask

スケジュール済みタスクの変更

ModifyScheduledTask

スケジュール済みタスクの有効化

非該当

スケジュール済みタスクの無効化

非該当

スケジュール済みタスクの削除

DeleteScheduledTask

説明

スケジュールタスクを作成した後、DescribeScheduledTasks APIを呼び出して、スケジュールタスクの詳細を照会できます。