本文へスキップ
CronExplain

AWS Cron 式の解説(EventBridge)

Amazon EventBridge(旧 CloudWatch Events)のスケジュールは、cron(...) で囲んだ 6 フィールドの Cron 構文を使います。ルールの式を貼り付けて検証し、日本語で読み、いつ実行されるかを正確に確認しましょう。

意味

EventBridge: 秒なしの 6 フィールドで年が最後、1 = 日曜日、日と曜日の一方は「?」。ルールは UTC で実行されます。

✓ 有効 · 意味

次において実施12:00

プリセット

次の 10 回の実行

#UTC の時刻あなたの現地時刻
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

他の方言での同じスケジュール

  • 標準 crontab0 12 * * *
  • Quartz0 0 12 * * ?
  • Spring0 0 12 * * *

ビジュアルビルダー

フィールドごとに値を選択します。ビルダーは標準の 5 フィールド式を作成し、使用時に選択中の方言へ変換します。

分
時
日
月
曜日
0 9 * * 1-5

AWS Cron の構文

EventBridge の式は cron(0 12 * * ? *) のような形で、分・時・日・月・曜日・年の 6 フィールドを持ちます。秒フィールドがないため、最小単位は 1 分です。曜日は 1(日曜日)〜 7(土曜日)で、MON-FRI のような略称も使えます。

守るべきルール

2 つの日付フィールドのどちらかは「?」にする必要があります。平日の朝なら cron(0 8 ? * MON-FRI *)、毎月 1 日なら cron(0 8 1 * ? *) です。年フィールドは必須で、毎年なら * を指定します。日付フィールドでは L・W・# が使え、たとえば cron(0 18 L * ? *) は毎月の最終日です。

タイムゾーン

EventBridge のスケジュールルールは常に UTC で実行されます。そのためツールは AWS の式をデフォルトで UTC で評価し、各実行の横にあなたの現地時刻を表示します。EventBridge Scheduler ではスケジュールにタイムゾーンを設定できるので、その場合はセレクターで同じタイムゾーンを選ぶと正しくプレビューできます。

cron と rate のどちらを使う?

15 分ごとのような固定間隔なら rate 式のほうが簡単です。rate(15 minutes) はルール作成時からカウントを始めます。平日の 08:00、月末、特定の年だけなど、カレンダー上の時刻に実行したい場合は cron を使います。EventBridge Scheduler では、1 回限りの at(...) スケジュールや、呼び出しを分散させるフレキシブルタイムウィンドウも使えます。

よくある質問

AWS が Cron 式を受け付けないのはなぜですか?
よくある原因は、6 つではなく 5 つのフィールドしかない、年フィールドがない、日または曜日に「?」がない、のいずれかです。エラーメッセージが問題のフィールドを示します。
Lambda を 5 分ごとに実行するには?
cron(0/5 * * * ? *) を使います。単純な間隔なら EventBridge は rate(5 minutes) も受け付けます。
AWS の Cron は UTC ですか?
EventBridge ルールは UTC です。EventBridge Scheduler ではスケジュールごとにタイムゾーンを設定できます。
最短の間隔は?
1 分です。AWS の Cron には秒フィールドがないためです。