見出し画像

【保存版】AWS EventBridgeを使ってLambda関数を定期実行させてみよう

こんにちは、CryptoGamesの高橋です。

クリスペというサービスを行っている会社です。


本日は、Lambda関数などの定期処理(5分毎に実施、毎日10時に実施など)の処理を行うEventBridgeについて見ていきたいと思います。

こちらの公式に沿って進めていきます。

はじめる前に


AWSのサービスには料金がかかります。

事前に確認を行い、テスト終了後クリーンアップを忘れずに行なうようにお願いします。

1 Lambda関数を作ろう

では、「関数の作成」からLambdaを作っていきましょう。

「東京リージョン」になっていることも確認してください。

スクリーンショット 2022-07-13 7.05.34

「一から作成」を選択し、任意の関数名を入れたら、「関数の作成」

スクリーンショット 2022-07-13 7.07.44

「コード」「index」にサンプルのコードを貼り付けて、「Deploy」

'use strict';

exports.handler = (event, context, callback) => {
   console.log('LogScheduledEvent');
   console.log('Received event:', JSON.stringify(event, null, 2));
   callback(null, 'Finished');
};

今回はコードの中身はメインではないですが、「console.log」でログが出力されそうです。

スクリーンショット 2022-07-13 7.09.31

2 EventBridgeでルールを作ろう

では、EventBridgeでルールを作っていきましょう。

「東京」リージョンであることを確認して、「ルールを作成」

スクリーンショット 2022-07-13 7.19.34

任意のルール名を入れて、「スケジュール」を選択して「次へ」

スクリーンショット 2022-07-13 7.20.29

「通常のレートで・・」を選び、レートを入力します。

今回は下のように、3分ごとに実施のルールにします。

スクリーンショット 2022-07-13 7.20.46

3分ごとに実施するターゲットを選択します。

今回は先ほど作った、Lambda関数を選択します。

スクリーンショット 2022-07-13 7.21.09

今回はタグを設定せず、「次へ」

スクリーンショット 2022-07-13 7.21.20

内容を確認の上、「ルールの作成」

スクリーンショット 2022-07-13 7.21.29

これでルールが作成できました。

3 CloudWatchでのログの確認

では、3分以上待ってから、うまく実行されているのかを見てみましょう。

Lambda関数で「モニタリング」を選択

スクリーンショット 2022-07-13 7.30.01

「CloudWatchのログを表示」CloudWatchへ行きましょう。

スクリーンショット 2022-07-13 7.30.10

CloudWatchに来ました。

「ログストリーム」を選択しましょう。

スクリーンショット 2022-07-13 7.30.28

このように、3分毎にログが出ているのがわかります。

具体的にログを確認すると、

スクリーンショット 2022-07-13 7.30.49

下のように詳細を確認することができます。

スクリーンショット 2022-07-13 7.31.37

4 クリーンアップを行いましょう。

継続して料金が発生することを防ぐため、本日利用した、EventBridgeLambdaCloudWatchのログは不要なら削除しましょう。

特に、EventBridgeは削除を行わないと、今後も継続的に実行されてしまうので、削除のし忘れに十分ご注意ください。

スクリーンショット 2022-07-13 7.38.07

本日は以上です。

最後までありがとうございました。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊