

# cron を使用して Canary 実行をスケジュールする
<a name="CloudWatch_Synthetics_Canaries_cron"></a>

cron 式を使用すると、Canary のスケジュールを柔軟に立てることができます。cron 式には、次の表に示す順序で 5 つまたは 6 つのフィールドが含まれています。フィールドはスペースで区切ります。構文は、CloudWatch コンソールを使用して Canary を作成するか、AWS CLI または AWS SDK を使用するかによって異なります。コンソールを使用する場合は、最初の 5 つのフィールドのみを指定します。AWS CLI または AWS SDK を使用する場合は、6 つのフィールドをすべて指定し、`Year` フィールドに `*` を指定する必要があります。


|  **フィールド**  |  **許可される値**  |  **使用できる特殊文字**  | 
| --- | --- | --- | 
|  分  |  0-59  |  , - \$1 /  | 
|  時間  |  0-23  |  , - \$1 /  | 
|  日  |  1-31  |  , - \$1 ? / L W  | 
|  月  |  1-12 または JAN-DEC  |  , - \$1 /  | 
|  曜日  |  1-7 または SUN-SAT  |  , - \$1 ? L \$1  | 
|  年  |  \$1  |    | 

**特殊文字**
+ **, ** (カンマ) は、フィールドの式に複数の値を含めます。例えば、[月] フィールドの、「JAN,FEB,MAR」は、1 月、2 月、3 月を含みます。
+ 特殊文字 **-** (ダッシュ) は、範囲を指定します。日フィールドの、「1-15」は、指定した月の 1 日から 15 日を含みます。
+ **\$1** (アスタリスク) 特殊文字には、フィールド内のすべての値が含まれます。[時間] フィールドの **\$1** には すべての時間が含まれます。同じ式で、[日] フィールドと [曜日] フィールドの両方で **\$1** を使用することはできません。一方に使用する場合は、もう一方に [**?**] を使用する必要があります。
+ **/** (スラッシュ) は増分を指定します。[分] フィールドに 1/10 と入力して、時間の最初の分から開始して 10 分おきを指定できます (例えば、11 分、21 分、31 分など)。
+ **?** (疑問符) は、任意を意味します。[日] フィールドに **7** と入力し、7 番目の曜日がどの曜日か気にしない場合は、**?**を [曜日] フィールドに入力します。
+ Day-of-month フィールドまたは Day-of-week フィールドの、ワイルドカード **L** は月または週の最終日を指定します。
+ Day-of-month フィールドのワイルドカード **W** は、平日を指定します。Day-of-month フィールドで、**3W** は月の 3 日目に最も近い平日を指定します。
+ Day-of-week フィールドの **\$1** ワイルドカードは、月の指定された曜日の特定のインスタンスを指定します。例えば、3\$12 は月の第 2 火曜日です。3 は毎週の 3 日目であるため、火曜日を指し、2 は月内のその種類の 2 つ目を指します。

**制限事項**
+ cron 式の日フィールドと曜日フィールドを同時に指定することはできません。一方のフィールドに値または `*` (アスタリスク) を指定する場合、もう一方のフィールドで **?** (疑問符) を使用する必要があります。
+ 1 分より短い間隔を導き出す cron 式はサポートされていません。
+ 実行前に 1 年以上待つように Canary を設定することはできないため、[`Year`] フィールドでは `*` のみ指定することができます。

**例**  
Canary を作成するときは、次のサンプルの cron 文字列を参照できます。以下の例は、AWS CLI または AWS SDK を使用して Canary を作成または更新するための正しい構文です。CloudWatch コンソールを使用している場合は、各例の最後の 「`*`」を省略します。


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