Reference: Cron and rate expressions for Systems Manager - AWS Systems Manager

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Reference: Cron and rate expressions for Systems Manager

AWS Systems Manager メンテナンスウィンドウまたは ステートマネージャー の関連付けを作成するときは、ウィンドウまたは関連付けを実行するスケジュールを指定します。スケジュールは、 cron expression、または周波数ベースのエントリで、 rate expression.

メンテナンスウィンドウを作成するときは、指定された時刻に 1 回実行されるように、協定世界時 (UTC) 形式でタイムスタンプを指定できます。メンテナンスウィンドウもサポート schedule offsets CRON 式のみ。スケジュールオフセットは、CRON 式で指定された日時からメンテナンスウィンドウを実行するまでに待機する日数です。たとえば、以下の CRON/Rate 式では、毎月第 3 火曜日の午後 11:30 にメンテナンスウィンドウがスケジュールされます。

cron(0 30 23 ? * TUE#3 *)

スケジュールオフセットが 2 の場合、メンテナンスウィンドウは 2 日後の 11:30 PM まで実行されません。

注記

すでに経過した日を対象とした cron 式を使用して現在の期間にメンテナンスウィンドウを作成し、将来のスケジュールオフセット日を追加した場合、その期間にメンテナンスウィンドウは実行されません。後続の期間に有効となります。たとえば、メンテナンスウィンドウの実行日を昨日とした cron 式を指定し、2 日間のスケジュールオフセットを追加しても、メンテナンスウィンドウは明日実行されません。

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

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

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

AWS CLI を使用してメンテナンスウィンドウを作成するには、--schedule パラメータに cron 式または rate 式またはタイムスタンプを含めます。たとえば、ローカルの Linux マシンで AWS CLI を使用する場合:

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

関連付けの例

AWS CLI を使用して ステートマネージャー 関連付けを作成するには、--schedule-expression パラメータに cron 式または rate 式を含めます。たとえば、ローカルの Linux マシンで AWS CLI を使用する場合:

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

General information about cron and rate expressions

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 and rate expressions for associations」を参照してください。

cron 式でサポートされている値
Field [値] [ワイルドカード]
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発現Wikipedia website.

rate 式

rate 式には以下の 2 つの必須フィールドがあります。フィールドはスペースで区切られています。

rate 式の必須フィールド
Field [値]

正数、115 など

Unit

minute

minutes

hour

hours

day

days

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

Cron and rate expressions for associations

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

  • Associations only support the following cron expressions: every 1/2, 1, 2, 4, 8, or 12 hours; every day or every week at a specific time.

  • Associations only support the following rate expressions: intervals of 30 minutes or greater and less than 31 days.

  • If you specify the optional Seconds field, its value can only be 0 (zero). For example: cron(0 */30 * * * ? *)

注記

Systems Manager インベントリのメタデータを収集する関連付けには、レート式を使用することをお勧めします。

以下の表は、必要な 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 and rate expressions for maintenance windows

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

ステートマネージャー 関連付けとは異なり、メンテナンスウィンドウはすべての cron および rate 式をサポートします。秒フィールドでの値もサポートします (注意: 秒フィールドでのゼロ (0) はサポートしません)。

たとえば、次の 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日毎