

• AWS Systems Manager CloudWatch ダッシュボードは、2026 年 4 月 30 日以降は利用できなくなります。お客様は、これまでと同様に Amazon CloudWatch コンソールを使用して、Amazon CloudWatch ダッシュボードの表示、作成、管理を継続できます。詳細については、「[Amazon CloudWatch ダッシュボードのドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

# リファレンス: Systems Manager の cron 式および rate 式
<a name="reference-cron-and-rate-expressions"></a>

AWS Systems Manager で State Manager の関連付けまたはメンテナンスウィンドウを作成するときは、ウィンドウまたは関連付けを実行するスケジュールを指定します。スケジュールは、時間ベースのエントリ (*cron 式*) または頻度ベースのエントリ (*rate 式*) を使用して指定できます。

## cron 式または rate 式に関する一般情報
<a name="reference-cron-and-rate-expressions-intro"></a>

次の情報は、メンテナンスウィンドウとアソシエーションの両方の cron および rate 式に適用されます。

**単一実行のスケジュール**  
メンテナンスウィンドウの関連付けを作成するときは、指定された時刻に 1 回実行されるように、協定世界時 (UTC) 形式でタイムスタンプを指定できます。例: `"at(2020-07-07T15:55:00)"`

**スケジュールオフセット**  
関連付けおよびメンテナンスウィンドウでサポートされるのは、cron 式のスケジュールオフセットだけです。スケジュールオフセットは、cron 式で指定された日時から関連付けまたはメンテナンスウィンドウを実行するまでに待機する日数です。  
たとえば、以下の cron 式では、毎月第 3 火曜日の午後 11:30 にメンテナンスウィンドウがスケジュールされます。スケジュールオフセットが `2` の場合、メンテナンスウィンドウは 2 日後の 11:30 PM まで実行されません。  

```
aws ssm create-maintenance-window \
    --name "My-Cron-Offset-Maintenance-Window" \
    --allow-unassociated-targets \
    --schedule "cron(30 23 ? * TUE#3 *)" \
    --duration 4 \
    --cutoff 1 \
    --schedule-offset 2
```
次のコマンドの cron 式は、毎月第 2 木曜日にアソシエーションを実行するようにスケジュールしています。ただし、スケジュールのオフセットは `3` なので、アソシエーションは 3 日後の次の日曜日まで実行されません。  

```
aws ssm create-association \
    --name "AWS-UpdateSSMAgent" \
    --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
    --schedule-expression "cron(0 0 ? * THU#2 *)"  \
    --schedule-offset 3
    --apply-only-at-cron-interval
```
アソシエーションでオフセットを使用するには、`--apply-only-at-cron-interval` オプションを指定する必要があります。このオプションにより、関連付けを作成した後、すぐに実行されないように に指示できます。
既に経過した日を対象とした cron 式を使用して現在の期間で関連付けまたはメンテナンスウィンドウを作成し、将来のスケジュールオフセット日を追加した場合、その期間に関連付けまたはメンテナンスウィンドウは実行されません。後続の期間に有効となります。例えば、メンテナンスウィンドウの実行日を昨日とした cron 式を指定し、2 日間のスケジュールオフセットを追加しても、メンテナンスウィンドウは明日実行されません。

**必須フィールド**  
メンテナンスウィンドウの cron 式には 6 つの必須フィールドがあります。関連付けの cron 式には 5 つの必須フィールドがあります。 (現在、State Manager では、関連付けの cron 式で月を指定することはできません。) 追加のフィールドである `Seconds` フィールド (cron 式の最初のフィールド) はオプションです。フィールドは空白で区切ります。    
**cron 式の例**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
週の日の範囲 (`MON-FRI` など) とカンマ区切りの日リスト (`MON,TUE,WED` など) は、メンテナンスウィンドウでのみサポートされています。関連付けの場合は、単一の日 (`MON` など) を指定するか、`*` で毎日を指定する必要があります。

**サポートされる値**  
次の表は、サポートされている必須 cron エントリの値の一覧です。    
**cron 式でサポートされている値**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
同じ cron 式で日フィールドと曜日フィールドの両方に値を指定することはできません。一方のフィールドに値を指定する場合、もう一方のフィールドで ? (疑問符) を使用してください。

**cron 式のワイルドカード**  
以下の表に示しているのは、cron 式がサポートするワイルドカード値です。  
5 分より短いレートを導き出す cron 式はサポートされていません。曜日フィールドと日フィールドの値の両方を指定することはまだ完全にはサポートされていません。これらのフィールドのいずれかで疑問符 (?) 文字を使用してください。  
**cron 式でサポートされているワイルドカード**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)

**rate 式**  
rate 式には以下の 2 つの必須フィールドがあります。フィールドはスペースで区切ります。    
**rate 式の必須フィールド**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)
値が `1` に等しい場合、単位は単数形であることが必要です。同様に、`1` より大きい値の場合、単位は複数であることが必要です。例えば、`rate(1 hours)` と `rate(5 hour)` は有効ではありませんが、`rate(1 hour)` と `rate(5 hours)` は有効です。

**Topics**
+ [cron 式または rate 式に関する一般情報](#reference-cron-and-rate-expressions-intro)
+ [関連付のための cron および rate 式](#reference-cron-and-rate-expressions-association)
+ [メンテナンスウィンドウの関連付けに使用する cron 式および rate 式](#reference-cron-and-rate-expressions-maintenance-window)

## 関連付のための cron および rate 式
<a name="reference-cron-and-rate-expressions-association"></a>

このセクションには、State Manager の関連付けのための cron および rate 式の例が含まれています。これらの式のうちの 1 つを作成する前に、次の点に注意してください。
+ 関連付けは、1/2、1、2、4、8、または 12 時間ごと、毎日、毎週、n 日ごと、またはその月の最後の `x` 曜日などの特定の時間の cron 式をサポートしています。
+ 関連付けは、30 分以上 31 日未満の間隔の rate 式をサポートします。
+ オプションの `Seconds` フィールドを指定した場合、その値は 0 (ゼロ) が可能です。例: `cron(0 */30 * * * ? *)`
+ AWS Systems Manager のツールである Inventory の、メタデータを収集する関連付けには、rate 式を使用することをお勧めします。
+ 現在、State Manager では、関連付けの cron 式での月の指定はサポートされていません。

関連付けは、曜日と番号記号 (\$1) を含む cron 式をサポートしており、その月の *n* 番目の日を指定して関連付けを実行します。毎月、第 3 火曜日の 23:30 UTC に cron スケジュールを実行する例を次に示します。

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

毎月第 2 木曜日の深夜 UTC に実行する例を次に示します。

`cron(0 0 ? * THU#2 *)`

関連付けは、その月の最後の *X* 曜日を示す (L) 記号もサポートしています。毎月、最後の火曜日の深夜 UTC に cron スケジュールを実行する例を次に示します。

`cron(0 0 ? * 3L *)`

パッチした火曜日の 2 日後に関連付けを実行するなど、関連付けを実行するタイミングをさらに制御するには、オフセットを指定できます。*オフセット*では、関連付けの実行がスケジュールされている日の後に待機する日数を定義します。例えば、cron スケジュールを `cron(0 0 ? * THU#2 *)` とした場合、**[Schedule offset]** (スケジュールのオフセット) フィールドで番号 3 を指定して、その月の第 2 木曜日の後の毎週日曜日に関連付けを実行できます。

オフセットを使用するには、コンソールで **[Apply association only at the next specified Cron interval]** (次に指定した Cron の間隔でのみ関連付けを適用する) オプションを選択するか、コマンドラインから `--apply-only-at-cron-interval` パラメータの使用を指定する必要があります。このオプションにより、関連付けを作成した後、すぐに実行されないように State Manager に指示できます。

以下の表は、関連付けの cron 式の例を示します。


**関連付けの cron の例**  

| 例 | 詳細 | 
| --- | --- | 
|  cron(0/30 \$1 \$1 \$1 ? \$1)  |  30分毎  | 
|  cron(0 0/1 \$1 \$1 ? \$1)  |  １時間毎  | 
|  cron(0 0/2 \$1 \$1 ? \$1)  |  ２時間毎  | 
|  cron(0 0/4 \$1 \$1 ? \$1)  |  ４時間毎  | 
|  cron(0 0/8 \$1 \$1 ? \$1)  |  ８時間毎  | 
|  cron(0 0/12 \$1 \$1 ? \$1)  |  12時間毎  | 
|  cron(15 13 ? \$1 \$1 \$1)  |  毎日午後 1:15  | 
|  cron(15 13 ? \$1 MON \$1)  |  毎週月曜日の午後 1:15  | 
|  cron(30 23 ? \$1 TUE\$13 \$1)  |  毎月第 3 火曜日の午後 11:30  | 

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


**関連付けの rate の例**  

| 例 | 詳細 | 
| --- | --- | 
|  rate(30 minutes)  |  30分毎  | 
|  rate(1 hour)  |  １時間毎  | 
|  rate(5 hours)  |  5時間毎  | 
|  rate(15 days)  |  15日毎  | 

****関連付けの AWS CLI の例****  
AWS CLI を使用して State Manager の関連付けを作成するには、`--schedule-expression` パラメータに cron 式または rate 式を含めます。以下の例では、ローカル Linux マシンで AWS CLI を使用します。

**注記**  
デフォルトでは、新しい関連付けを作成すると、その作成直後にシステムによってその関連付けは実行され、以降は指定したスケジュールに従って実行されます。関連付けが作成直後に実行されないように `--apply-only-at-cron-interval` を指定します。このパラメータは、rate 式ではサポートされていません。

```
aws ssm create-association \
    --association-name "My-Cron-Association" \
    --schedule-expression "cron(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
```

```
aws ssm create-association \
    --association-name "My-Rate-Association" \
    --schedule-expression "at(2020-07-07T15:55:00)" \
    --targets Key=tag:ServerRole,Values=WebServer \
    --name AWS-UpdateSSMAgent \
    --apply-only-at-cron-interval
```

## メンテナンスウィンドウの関連付けに使用する cron 式および rate 式
<a name="reference-cron-and-rate-expressions-maintenance-window"></a>

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

State Manager 関連付けとは異なり、メンテナンスウィンドウはすべての 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 ? \$1 THU\$13 \$1)  |  毎月第 3 木曜日の午前 02:00  | 
|  cron(15 10 ? \$1 \$1 \$1)  |  毎日午前 10:15  | 
|  cron(15 10 ? \$1 MON-FRI \$1)  |  毎週月〜金の午前 10:15  | 
|  cron(0 2 L \$1 ? \$1)  |  毎月最終日の午前 02:00  | 
|  cron(15 10 ? \$1 6L \$1)  |  毎月の最終金曜日の午前 10:15  | 

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


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

| 例 | 詳細 | 
| --- | --- | 
|  rate(30 minutes)  |  30分毎  | 
|  rate(1 hour)  |  １時間毎  | 
|  rate(5 hours)  |  5時間毎  | 
|  rate(25 days)  |  25日毎  | 

****メンテナンスウィンドウの AWS CLI の例****  
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-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
```

**詳細情報**  
Wikipedia ウェブサイトの「[CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression)」(cron 式)