【保存版】AWS EventBridgeを使ってLambda関数を定期実行させてみよう
こんにちは、CryptoGamesの高橋です。
クリスペというサービスを行っている会社です。
本日は、Lambda関数などの定期処理(5分毎に実施、毎日10時に実施など)の処理を行うEventBridgeについて見ていきたいと思います。
こちらの公式に沿って進めていきます。
はじめる前に
AWSのサービスには料金がかかります。
事前に確認を行い、テスト終了後はクリーンアップを忘れずに行なうようにお願いします。
1 Lambda関数を作ろう
では、「関数の作成」からLambdaを作っていきましょう。
「東京リージョン」になっていることも確認してください。
「一から作成」を選択し、任意の関数名を入れたら、「関数の作成」
「コード」の「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」でログが出力されそうです。
2 EventBridgeでルールを作ろう
では、EventBridgeでルールを作っていきましょう。
「東京」リージョンであることを確認して、「ルールを作成」
任意のルール名を入れて、「スケジュール」を選択して「次へ」
「通常のレートで・・」を選び、レートを入力します。
今回は下のように、3分ごとに実施のルールにします。
3分ごとに実施するターゲットを選択します。
今回は先ほど作った、Lambda関数を選択します。
今回はタグを設定せず、「次へ」
内容を確認の上、「ルールの作成」
これでルールが作成できました。
3 CloudWatchでのログの確認
では、3分以上待ってから、うまく実行されているのかを見てみましょう。
Lambda関数で「モニタリング」を選択
「CloudWatchのログを表示」でCloudWatchへ行きましょう。
CloudWatchに来ました。
「ログストリーム」を選択しましょう。
このように、3分毎にログが出ているのがわかります。
具体的にログを確認すると、
下のように詳細を確認することができます。
4 クリーンアップを行いましょう。
継続して料金が発生することを防ぐため、本日利用した、EventBridge、Lambda、CloudWatchのログは不要なら削除しましょう。
特に、EventBridgeは削除を行わないと、今後も継続的に実行されてしまうので、削除のし忘れに十分ご注意ください。
本日は以上です。
最後までありがとうございました。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊