メンテナンスウィンドウのスケジューリングおよび有効期間のオプション - AWS Systems Manager

メンテナンスウィンドウのスケジューリングおよび有効期間のオプション

メンテナンスウィンドウを作成するときは、メンテナンスウィンドウの実行頻度を Cron または Rate 式で指定する必要があります。必要に応じて、メンテナンスウィンドウを定期的なスケジュールで実行できる期間の日付範囲と、その定期的なスケジュールのベースとなるタイムゾーンを指定することができます。

ただし、タイムゾーンオプションおよび開始日と終了日のオプションは互いに影響しない点に注意してください。指定した開始日と終了日時 (タイムゾーンのオフセットの有無にかかわらず) は、メンテナンスウィンドウがそのスケジュールで実行できる有効期間のみを決定します。タイムゾーンオプションは、有効な期間中にメンテナンスウィンドウのスケジュールがベースとする国際タイムゾーンを決定します。

注記

ISO-8601 タイムスタンプ形式で開始日と終了日を指定します。例: 2021-04-07T14:29:00-08:00

タイムゾーンを IANA (Internet Assigned Numbers Authority) 形式で指定します。例: America/ChicagoEurope/Berlin、または Asia/Tokyo

例 1: メンテナンスウィンドウの開始日を指定する

AWS Command Line Interface (AWS CLI) を使用し、次のオプションを指定してメンテナンスウィンドウを作成するとします。

  • --start-date 2021-01-01T00:00:00-08:00

  • --schedule-timezone "America/Los_Angeles"

  • --schedule "cron(0 09 ? * WED *)"

以下に例を示します。

Linux & macOS
aws ssm create-maintenance-window \ --name "My-LAX-Maintenance-Window" \ --allow-unassociated-targets \ --duration 3 \ --cutoff 1 \ --start-date 2021-01-01T00:00:00-08:00 \ --schedule-timezone "America/Los_Angeles" \ --schedule "cron(0 09 ? * WED *)"
Windows
aws ssm create-maintenance-window ^ --name "My-LAX-Maintenance-Window" ^ --allow-unassociated-targets ^ --duration 3 ^ --cutoff 1 ^ --start-date 2021-01-01T00:00:00-08:00 ^ --schedule-timezone "America/Los_Angeles" ^ --schedule "cron(0 09 ? * WED *)"

これは、2021 年 1 月 1 日金曜日、米国東部標準時の午前 0 時に指定された開始日時以降は、メンテナンスウィンドウの初回実行ができなくなることを意味しています。(このタイムゾーンは UTC 時間より 8 時間遅れています。) この場合、ウィンドウ期間の開始日時が、メンテナンスウィンドウが最初に実行される時期を表すものではありません。総合すると、--schedule-timezone--schedule の値は、メンテナンスウィンドウが米国太平洋標準時 (IANA 形式では「America/Los Angeles」で表される) で毎週水曜日の午前 9 時に実行されることを意味しています。有効な期間中の最初の実行は、2021 年 1 月 4 日水曜日、太平洋標準時の午前 9 時となります。

例 2: メンテナンスウィンドウの開始日と終了日を指定する

次に、これらのオプションを使用してメンテナンスウィンドウを作成するとします。

  • --start-date 2019-01-01T00:03:15+09:00

  • --end-date 2019-06-30T00:06:15+09:00

  • --schedule-timezone "Asia/Tokyo"

  • --schedule "rate(7 days)"

以下に例を示します。

Linux & macOS
aws ssm create-maintenance-window \ --name "My-NRT-Maintenance-Window" \ --allow-unassociated-targets \ --duration 3 \ --cutoff 1 \ --start-date 2019-01-01T00:03:15+09:00 \ --end-date 2019-06-30T00:06:15+09:00 \ --schedule-timezone "Asia/Tokyo" \ --schedule "rate(7 days)"
Windows
aws ssm create-maintenance-window ^ --name "My-NRT-Maintenance-Window" ^ --allow-unassociated-targets ^ --duration 3 ^ --cutoff 1 ^ --start-date 2019-01-01T00:03:15+09:00 ^ --end-date 2019-06-30T00:06:15+09:00 ^ --schedule-timezone "Asia/Tokyo" ^ --schedule "rate(7 days)"

このメンテナンスウィンドウの有効期間は、2019 年 1 月 1 日の日本標準時午前 3 時 15 分に始まります。このメンテナンスウィンドウの有効期間は、2019 年 6 月 30 日日曜日の日本標準時午前 6 時 15 分に終了します。(このタイムゾーンは UTC 時間より 9 時間進んでいます。) 総合すると、--schedule-timezone--schedule の値は、メンテナンスウィンドウが日本標準時 (IANA 形式では「Asia/Tokyo」で表される) で毎週火曜日の午前 3 時 15 分に実行されることを意味しています。これは、メンテナンスウィンドウが 7 日ごとに実行され、1 月 1 日火曜日の午前 3 時 15 分にアクティブになるためです。最後の実行は、2019 年 6 月 25 日火曜日の日本標準時午前 3 時 15 分です。これは、有効なメンテナンスウィンドウ期間が終了する 5 日前の、最後の火曜日です。

例 3: 一度のみ実行するメンテナンスウィンドウを作成する

このオプションでメンテナンスウィンドウを作成できるようになりました。

  • --schedule "at(2020-07-07T15:55:00)"

以下に例を示します。

Linux & macOS
aws ssm create-maintenance-window \ --name "My-One-Time-Maintenance-Window" \ --schedule "at(2020-07-07T15:55:00)" \ --duration 5 \ --cutoff 2 \ --allow-unassociated-targets
Windows
aws ssm create-maintenance-window ^ --name "My-One-Time-Maintenance-Window" ^ --schedule "at(2020-07-07T15:55:00)" ^ --duration 5 ^ --cutoff 2 ^ --allow-unassociated-targets

このメンテナンスウィンドウは、2020 年 7 月 7 日午後 3 時 55 分 (UTC 時間) に実行されます。メンテナンスウィンドウは、必要に応じて最大 5 時間実行できますが、メンテナンスウィンドウ期間の終了 2 時間前に新しいタスクを開始することはできません。

例 4: メンテナンスウィンドウのスケジュールオフセット日数を指定する

このオプションでメンテナンスウィンドウを作成できるようになりました。

--schedule-offset 2

以下に例を示します。

Linux & macOS
aws ssm create-maintenance-window \ --name "My-Cron-Offset-Maintenance-Window" \ --schedule "cron(0 30 23 ? * TUE#3 *)" \ --duration 4 \ --cutoff 1 \ --schedule-offset 2 \ --allow-unassociated-targets
Windows
aws ssm create-maintenance-window ^ --name "My-Cron-Offset-Maintenance-Window" ^ --schedule "cron(0 30 23 ? * TUE#3 *)" ^ --duration 4 ^ --cutoff 1 ^ --schedule-offset 2 ^ --allow-unassociated-targets

スケジュールオフセットは、CRON 式で指定された日時からメンテナンスウィンドウを実行するまでに待機する日数です。

前述の例では、CRON 式により、毎月第 3 火曜日の午後 11:30 にメンテナンスウィンドウがスケジュールされます。

--schedule "cron(0 30 23 ? * TUE#3 *)

ただし、--schedule-offset 2 を含めると、メンテナンスウィンドウは、毎月第 3 火曜日の 2 日の午後 11:30 PM まで実行されません。

スケジュールオフセットは、CRON 式でのみサポートされます。