【AWS】CloudWatch cron 式 または rate 式の書式について解説

CloudWatch イベントのルール作成で cron 式や rate 式を記述することがありますが、書式について解説します。

 

 

CloudWatch でのスケジューリング

Windows のタスクスケジューラ、Linux の cron のように、CloudWatch イベントでも自動化されたスケジュールを作成することができます。

その場合、cron 式または rate 式を使用して自動化スケジュールを作成できます。

 

すべての CloudWatch のイベントは UTC タイムゾーンになる

すべてのスケジュールされたイベントは UTC タイムゾーンを使用します。

 

■UTC とは

UTC とは Coordinated universal time の略で、日本語にすると「協定世界時」になります。

原子時系の時刻になります。

  • coordinated ← 調整済みという意味です。

 

https://ja.wikipedia.org/wiki/%E5%8D%94%E5%AE%9A%E4%B8%96%E7%95%8C%E6%99%82

協定世界時(きょうていせかいじ、UTC, 英語: Coordinated Universal Time, ドイツ語: Koordinierte Weltzeit, フランス語: Temps Universel Coordonné)とは、国際原子時 (TAI) に由来する原子時系の時刻で、UT1 世界時に同調するべく調整された基準時刻を指す]。

 

 

UTC と GMT の違いは?

https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AA%E3%83%8B%E3%83%83%E3%82%B8%E6%A8%99%E6%BA%96%E6%99%82

グリニッジ標準時(グリニッジひょうじゅんじ)、グリニッジ平均時(グリニッジへいきんじ、イギリス英語: Greenwich Mean Time, GMT)とは、グリニッジ天文台・グリニッジ子午線(経度0度)における平均太陽時(mean solar time)を指す。
かつてグリニッジ平均時は国際的な基準時刻として採用され、イギリスを含む世界各地域の標準時(standard time)もこれを基準とした。なお現在の国際的な基準時刻は概念を修正した協定世界時 (UTC) を用いている。
こうした事情からUTCとGMTが近似的に同一視される事もある。 用語“G.M.T.”および“Z”(通話表で使用する語は Zulu)は、航法や通信の分野で UTC と一般的に同義語として認められる。 また、GMT は時刻の最大精度が整数秒である法令、通信、民生用その他の目的では UTC の意味で使用される。一方、GMT は天測航法及び測量における暦の独立引数としては世界時の UT1 の意味で引き続き使用される。ただし、GMT は適切な名称(UTC、UT1 または UT)で置き換えられる。

 

  • GMT ← Greenwich mean time

 

もともと世界は GMT を標準時としていたが、現在の基準時は概念を修正した UTC(協定世界時)を使っているようです。

 

 

 

cron 式

cron 式には 6 つのフィールドがあり、空白で区切られます。

 

【例】

分  時間  日  月  曜日  年  意味

0  10   *  *  ?   *  毎日午前 10:00 (UTC) に実行

 

【例】

分   時間  日  月  曜日  年  意味

0/15  *   *  *  ?   *  15 分ごとに実行

 

【例】

分   時間  日  月  曜日  年  意味

00   0/1  *  *  ?   *  0時00分から開始し 1時間ごとに実行

 

※●●時間ごとの場合は、何分かも記載する必要があります。

 

【例】

分   時間  日  月  曜日  年  意味

00    0/2  *  *  ?   *  0時00分から開始し 2時間ごとに実行

 

※●●時間ごとの場合は、何分かも記載する必要があります。

 

 

 

ワイルドカード

  • *(アスタリスク) ← 全部が含まれます。

 

ルール(日および曜日フィールド)

「*」を日および曜日フィールドの両方に使用することはできません。

一方に使用する場合は、もう一方に「?」を使用する必要があります。

 

【例】

分  時間  日  月  曜日  年  意味

0  10   *  *  ?   *  毎日午前 10:00 (UTC) に実行

※上記は毎日実行しますが、同時にすべての曜日に実行することになります。しかし日フィールドと曜日フィールドを同時に * にすることはできないため、曜日フィールドに ? を設定します。

 

【例】

分  時間  日  月  曜日   年  意味

0  18   ?  *  MON-FRI *  毎週月曜日から金曜日まで午後 6:00 (UTC) に実行

※月曜日から金曜日実行しますが、日は指定できないため ? にします。

 

 

「UTC」と「JST」対応表

簡単ですが、一瞬で分かるように「UTC」「JST」の対応表です。

例えば、日本時間の21時に設定したい場合は、「12」を設定します。

簡単に計算する方法ですが、UTC で表示された数字を見たら「+9」すればOKです。

曜日で設定している場合、9をプラスすることで24を超える場合は、翌日の曜日になります。

  • 0を見た ← 9を足して日本時間で9時
  • 22を見た ← 9を足して31 ← 24を引くと7 ← 日本時間で7時
  • 日本時間の月曜日の朝6時 ← UTC の日曜日の21時
  • 日本時間の月曜日の夜12時(火曜日の0時) ← UTC の月曜日の15時
  • UTC の月曜日の16時 ← 日本時間の火曜日の深夜1時

 

UTC(GMT)   JST

0       9

1      10

2      11

3      12

4      13

5      14

6      15

7      16

8      17

9      18

10      19

11      20

12      21

13      22

14      23

15      0(翌日)

16      1(翌日)

17      2(翌日)

18      3(翌日)

19      4(翌日)

20      5(翌日)

21      6(翌日)

22      7(翌日)

23      8(翌日)

 

 

 

 

rate 式

rate 式は複雑な設定はできませんが、非常に直感的でシンプルです。

 

【例】

rate(5 minutes) ← 5分ごとに実行

rate(1 hour) ← 1時間ごとに実行

rate(7 days) ← 7日毎に実行(1週間ごとに実行)

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください