⚙️

Amazon EventBridge で Step Functions を定期実行する

2024/05/19に公開

はじめに

EventBridgeからStepFunctionsを定期的に呼び出して実行するための手順です。

Amazon EventBridgeとは?

システムのイベントやスケジュールをトリガーにして、後続処理を実行するためのサービスです。
例えば毎日00:00に Lambda関数を実行したい場合、EventBridgeでスケジュール設定をすれば実現可能となります。

ターゲット

EventBridgeが呼び出す後続の処理のこと。
今回はStep Functionsを使います。

事前にStep Functionsでステートマシンを作成しておきます。

EventBridgeでスケジュール設定をする

それではハンズオンです。

AWSコンソールからAmazon EventBridgeを開き、左メニューの「スケジュール」を選択します。

スケジュールの一覧が表示されるので、右側にある「スケジュールを作成」ボタンを押下します。

スケジュール名を「my-first-schedule」とします。スケジュールグループはデフォルトにします。

スケジュールのパターンを設定します。

「定期的なスケジュール」を選択し、cron式を用いて定期処理を設定します。
例では毎日12:20に実行されるようになります。

「次へ」ボタンを押下し、ターゲットの選択をします。
Step Functionsを選択します。

事前に用意したおいたステートマシンを選択します。
パラメータを設定したい場合、JSON形式で設定します。

「次へ」ボタンを押下し、設定オプションの「スケジュール完了後のアクション」は「NONE」を選択します。

実行ロールは新しく作成します。

「次へ」ボタンを押下後、確認画面が表示されるので「スケジュールを作成」ボタンを押下します。

作成後、一覧に作成したスケジュールが表示されます。

定期実行時間経過後に、Step Functionsの実行ログを開きます。
「成功」と表示されていれば設定が完了となります。

続いてパラメータが渡されているかも確認しましょう。

ステートマシンの実行ログを開き、入力に表示されていればパラメータが渡ってきていることになります。

その他

定期実行の開始日時を設定したい場合

時間枠を設定すればOKです。

Discussion