概要
トリガーと後処理に同じSQSキューを設定するジョブを作成することで、指定した時間単位に繰り返すジョブを作成する方法についてご紹介します。(最大15分単位)
Amazon SQS の Delivery Delay の設定を利用するため、繰り返し間隔は最大15分となります(2018年9月現在)
設定内容
-
利用するSQSのDelivery Delayを設定する
Delivery Delay とは、Queueの遅延時間の設定項目で最大15分間メッセージの到達を遅延させることが可能です。この設定することで AMI作成 -> 15分の遅延 -> AMI作成… と繰り返し実行し続けるジョブを作成することが可能になります。
-
SQSトリガーのジョブを作成する
「ジョブの追加」メニューから、ジョブの新規作成を行います。
【1. トリガーの設定】
トリガーには SQS を選択し、先ほど Delivery Delay を設定したキューを指定します。
当トリガーの詳細については SQSトリガー のマニュアルをご参照ください。
【2. アクションの設定】
続いて、アクションを指定します。ここで繰り返し実行したいアクションを指定しますが、この時、ジョブ実行後のリソースの状態までチェックする を有効にすることを忘れないようにしてください。
【3. ジョブの後処理にSQSを指定する】
後処理の設定で、ジョブの成功時に SQS へメッセージ送信する後処理を指定します。
ここでは後処理の新規作成にて、先ほどと同じSQSキューを指定して後処理を作成する例となります。SQS後処理については SQS後処理 のマニュアルをご参照ください。
以上のように、トリガーとなるSQSキューと、成功時の後処理に同一キューを指定することで、一定間隔で繰り返す運用ジョブの作成が可能になります。
応用
さらに別のジョブと連携させると、例えば以下のような構成も実現可能です。
東京リージョンでAMI作成
-> シンガポールリージョンにAMIをコピー
-> 15分の遅延
-> 東京リージョンでAMI作成
-> シンガポールリージョンにAMIをコピー…
ジョブを連携する方法については、以下もご参照ください