今回は、Amazon EventBridgeを使ってStep Functionsの定期的な起動を設定していきます。
事前準備
まず、Amazon EventBridgeを使うための環境設定をしておきましょう。
IAMロールの作成
EventBridgeが他のリソース(Lambdaなど)を操作するためには、IAMロールをアタッチして権限を付与する必要があります。
そのため、事前にアタッチするIAMロールを準備しておきましょう。
今回はEventBridgeがStep Functionsを呼び出せるように、Lambdaのアクセス許可をするIAMロールを作成しておきました。
呼び出すターゲットの作成
EventBridgeの呼出先のターゲットを作成しておく必要があります。
今回はこちらで作成しておいたStep Functionsをターゲットとして使用します。
これでEventBridgeを作る前にやっておく準備は整いました。
EventBridgeの作成
実際に動作させるEventBridgeを作っていきます。
まず、AWSサービスの一覧を表示します。
AWSサービス一覧から「Amazon EventBridge」を選択します。
EventBridgeを新規作成していきます。
新規作成は、「ルールを作成」を選択します。
EventBridgeのルールに命名します。
ここでは「everyday」と設定しました。
EventBridgeを起動するパターンを定義します。
今回は、毎日0時に起動するように設定していきます。
イベントパターンを「スケジュール」にします。
「cron式」を選択します。
cron式を入力します。
毎日0時に起動するように、「0 0 ? * * *」と設定しました。
呼び出すターゲットの設定をします。
ここでは、作成済の「Step Function」のステートマシンを設定します。
ターゲットに渡す入力値の設定をしていきます。
「入力の設定」を選択します。
入力値の渡し方を設定します。
今回は「定数(JSONテキスト)」を選択しました。
入力値のJSONを設定します。
「作成」を選択します。
これでEventBridgeの作成は完了です。
まとめ
サーバレスで他のリソースを呼び出すEventBridgeの作成手順を解説しました。
イベントで実行したりスケジュールをcronで設定して起動することができます。
また、任意の入力値をJsonなどの形式で与えることもできます。
コメント