AWS Systems Manager
ユーザーガイド

リファレンス: Systems Manager の Cron および Rate 式

AWS Systems Manager メンテナンスウィンドウまたは ステートマネージャー の関連付けを作成するときは、ウィンドウまたは関連付けを実行するスケジュールを指定します。スケジュールを指定する形式として、時間ベースのエントリ (cron 式) または頻度ベースのエントリ (rate 式) のいずれかを使用できます。メンテナンスウィンドウでは、メンテナンスウィンドウの作成時に指定された時刻に 1 回実行されるように、協定世界時 (UTC) 形式でタイムスタンプを指定することもできます。

いずれかのタイプのリソースをプログラムで作成する場合や、AWS CLI などのコマンドラインツールを使用する場合は、有効な cron 式または rate 式 (またはメンテナンスウィンドウのタイムスタンプ) のスケジュールパラメータを正しい形式で指定する必要があります。

AWS Systems Manager コンソールを使用してメンテナンスウィンドウまたは関連付けを作成する場合は、有効な cron 式または rate 式を使用してスケジュールを指定できます。また、スケジュールを作成するプロセスを簡素化するツールをユーザーインターフェイスに使用することもできます。

メンテナンスウィンドウの例

AWS CLI を使用してメンテナンスウィンドウを作成するには、--schedule パラメータに cron 式または rate 式またはタイムスタンプを含めます。次に例を示します。

aws ssm create-maintenance-window --name "My-Cron-Maintenance-Window" --schedule "cron(0 16 ? * TUE *)" --schedule-timezone "America/Los_Angeles" --start-date 2019-01-01T00:00:00-08:00 --end-date 2019-06-30T00:00:00-08:00 --duration 4 --cutoff 1
aws ssm create-maintenance-window --name "My-Rate-Maintenance-Window" --schedule "rate(7 days)" --duration 4 --schedule-timezone "America/Los_Angeles" --cutoff 1
aws ssm create-maintenance-window --name "My-TimeStamp-Maintenance-Window" --schedule "at(2019-07-07T13:15:30)" --duration 4 --schedule-timezone "America/Los_Angeles" --cutoff 1

関連付けの例

AWS CLI を使用して ステートマネージャー 関連付けを作成するには、--schedule-expression パラメータに cron 式または rate 式を含めます。例:

aws ssm create-association --association-name "My-Cron-Association" --schedule-expression "cron(0 0 2 ? * SUN *)" --targets Key=tag:ServerRole,Values=WebServer --name AWS-UpdateSSMAgent
aws ssm create-association --association-name "My-Rate-Association" --schedule-expression "rate(7 days)" --targets Key=tag:ServerRole,Values=WebServer --name AWS-UpdateSSMAgent

Cron および Rate 式に関する一般情報

Systems Manager の cron 式には 6 つの必須フィールドがあります。7 番目のフィールドである Seconds フィールド (cron 式の最初のフィールド) はオプションです。フィールドは空白で区切ります。

Cron 式の例

時間 曜日 意味
0 10 * * ? * 毎日午前 10:00 (UTC) に実行
15 12 * * ? * 毎日午後 12:15 (UTC) に実行
0 18 ? * MON-FRI * 毎週月曜日から金曜日まで午後 6:00 (UTC) に実行
0 8 1 * ? * 毎月 1 日の午前 8:00 (UTC) に実行
0/15 * * * ? * 15 分ごとに実行
0/10 * ? * MON-FRI * 月曜日から金曜日まで 10 分ごとに実行
0/5 8-17 ? * MON-FRI * 月曜日から金曜日まで午前 8:00 から午後 5:55 (UTC) まで 5 分ごとに実行

サポートされる値

次の表は、サポートされている必須 cron エントリの値の一覧です。

注記

関連付けの Cron 式は、これらの値をすべてサポートしていません。詳細については、関連付のための Cron および Rate 式 を参照してください。

Cron 式でサポートされている値

フィールド ワイルドカード
0-59 , - * /
時間 0-23 , - * /
1-31 , - * ? / L W
1-12 または JAN-DEC , - * /
曜日 1-7 または SUN-SAT , - * ? / L
1970-2199 , - * /

注記

cron 式の日フィールドおよび曜日フィールドに同じ 値を指定することはできません。一方のフィールドに値を指定する場合、もう一方のフィールドで ? (疑問符) を使用する必要があります。

ワイルドカード

以下の表に示しているのは、cron 式がサポートするワイルドカード値です。

Cron 式でサポートされているワイルドカード

ワイルドカード 説明
, ワイルドカード , (カンマ) には追加の値が含まれます。月フィールドの、「JAN,FEB,MAR」は、1 月、2 月、3 月を含みます。
- ワイルドカード - (ダッシュ) は範囲を指定します。日フィールドの、「1-15」は、指定した月の 1 日から 15 日を含みます。
* ワイルドカード * (アスタリスク) にはフィールドのすべての値が含まれます。時間フィールドの、* にはすべての時間が含まれています。
/ ワイルドカード / (スラッシュ) で増分を指定します。Minutes フィールドで、「1/10」と入力して、その時間の最初の分から始めて、10 分毎を指定できます。したがって、「1/10」は、1 分、11 分、21 分、31 分などを指定します。
? ? (疑問符) ワイルドカードは任意を意味します。[日] フィールドに 7 と入力し、7 日が何曜日であってもかまわない場合、[曜日] フィールドに ? を入力できます。
L Day-of-month フィールドまたは Day-of-week フィールドの、ワイルドカード L は月または週の最終日を指定します。
W Day-of-month フィールドの、ワイルドカード W は、平日を指定します。Day-of-month フィールドで、「3W」は月の 3 番目の平日に最も近い日を指定します。

注記

5 分より短いレートを導き出す Cron 式はサポートされていません。曜日フィールドと日フィールドの値の両方を指定することはまだ完全にはサポートされていません。現時点では、これらのフィールドのいずれかで疑問符 (?) 文字を使用する必要があります。

cron 式の詳細については、「CRON expression」 (Wikipedia ウェブサイト) を参照してください。

rate 式

rate 式には以下の 2 つの必須フィールドがあります。フィールドは空白で区切ります。

Rate 式の必須フィールド

フィールド

正数、115 など

単位

minute

minutes

hour

hours

day

days

値が 1 に等しい場合、単位は単数形であることが必要です。同様に、1 より大きい値の場合、単位は複数であることが必要です。たとえば、rate(1 hours)rate(5 hour) は有効ではありませんが、rate(1 hour)rate(5 hours) は有効です。

関連付のための Cron および Rate 式

このセクションには、ステートマネージャー の関連付けのための cron および rate 式の例が含まれています。これらの式の 1 つを作成する前に、次の制限事項に注意してください。

  • 関連付けは、次の cron 式のみをサポートします。1/2、1、2、4、8、または 12 時間ごと。毎日または毎週の特定の時間。

  • 関連付けは、30 分以上 31 日未満の間隔の rate 式のみをサポートします。

  • オプションの Seconds フィールドを指定した場合、その値は 0 (ゼロ) のみが可能です。例: cron(0 */30 * * * ? *)

以下の表は、必要な 6 つのフィールドを使用する関連付けの cron 式の例を示しています。

関連付けのための cron の例

詳細

cron(0/30 * * * ? *)

30分毎

cron(0 0/1 * * ? *)

1時間毎

cron(0 0/2 * * ? *)

2時間毎

cron(0 0/4 * * ? *)

4時間毎

cron(0 0/8 * * ? *)

8時間毎

cron(0 0/12 * * ? *)

12時間毎

cron(15 13 ? * * *)

毎日午後 1:15

cron(15 13 ? * MON *)

毎週月曜日の午後 1:15

関連付けのためのいくつかの rate の例を示します。

関連付けのための rate の例

詳細

rate(30 minutes)

30分毎

rate(1 hour)

1時間毎

rate(5 hours)

5時間毎

rate(15 days)

15日毎

メンテナンスウィンドウの関連付けに使用する Cron 式および Rate 式

このセクションには、メンテナンスウィンドウの関連付けに使用する cron 式および rate 式の例が含まれています。

ステートマネージャー 関連付けとは異なり、メンテナンスウィンドウでは、2 番目のフィールドに 0 (ゼロ) 以外の値が含まれる場合も含め、すべての cron 式および rate 式をサポートします。

たとえば、次の 6 フィールドの Cron 式は、毎日午前 9:30 にメンテナンスウィンドウを実行します。

cron(30 09 ? * * *)

Seconds フィールドに値を追加することで、次の 7 フィールドの Cron 式は、毎日午前 9:30:24 にメンテナンスウィンドウを実行します。

cron(24 30 09 ? * * *)

次の表は、メンテナンスウィンドウの追加の 6 フィールドの cron 式の例を示します。

メンテナンスウィンドウの cron 式の例

詳細

cron(0 2 ? * THU#3 *)

毎月第 3 木曜日の午前 02:00

cron(15 10 ? * * *)

毎日午前 10:15

cron(15 10 ? * MON-FRI *)

毎週月〜金の午前 10:15

cron(0 2 L * ? *)

毎月最終日の午前 02:00

cron(15 10 ? * 6L *)

毎月の最終金曜日の午前 10:15

次の表にメンテナンスウィンドウの rate 式の例を示します。

メンテナンスウィンドウの rate 式の例

詳細

rate(30 minutes)

30分毎

rate(1 hour)

1時間毎

rate(5 hours)

5時間毎

rate(25 days)

25日毎