【AWS Fargate】Cron式でスケジューリングする場合はUTCタイムゾーンを考慮する

2022/07/31に公開

概要

AWS Fargate でタスクのスケジューリングする際に定義する Cron 式ではUTC タイムゾーンを考慮しましょう。
公式ドキュメントをしっかり読んでおらず、地味にハマったので、ピックアップしておきます。

AWS のドキュメントによると...

すべてのスケジュールされたイベントは UTC タイムゾーンを使用し、スケジュールの最小精度は 1 分です。
ルールのスケジュール式 -AWS Documentation-

設定例

日本時間の毎週月曜日の 15 時 45 分にタスク実行をスケジューリングしたい場合は以下となります。

cron(45 6 ? * 2 *)

ちなみに、曜日フィールドを指定する場合は日フィールドに?を指定する必要があります。

cron 式の日フィールドと曜日フィールドを同時に指定することはできません。一方のフィールドに値 (または *) を指定する場合、もう一方のフィールドで ? (疑問符) を使用する必要があります。
ルールのスケジュール式 cron 式-AWS Documentation-

参考文献

Discussion