AWS Lambdaで遊ぼう #2 Lambda関数を定期実行する
もくじ
はじめに
こんにちは ベンジャミンの中村です!
今回はEventBridgeを使って前回作成したLambdaを定期実行する設定を紹介します。
EventBridgeとは
Amazon EventBridgeはAWS内で発生する様々なイベントをトリガーにしてAWSリソースを実行することができます。また、CRONなどを指定すればリソースを1時間おき、5分おきなど、さまざまな条件で定期実行することも可能です。
ちなみにEventBridgeは旧名がCloudWatchEventだったようです。
参考:CloudWatch EventsはAmazon EventBridgeになるらしい
前提条件
- AWSアカウント作成ずみである事
手順
① Lambda関数作成
Lambda関数を作成します。作り方は以下の通り
② EventBridge作成
AWSコンソール画面の検索窓に「eventbridge」と入力し、EventBridgeを選択する
![](https://storage.googleapis.com/zenn-user-upload/6c46f3edbf97-20220101.png)
左メニューの「ルール」をクリック、「ルールを作成」を実施する
![](https://storage.googleapis.com/zenn-user-upload/b5f550f57e59-20220101.png)
ルール名を入力する
![](https://storage.googleapis.com/zenn-user-upload/81457165e392-20220101.png)
「スケジュール」を選択して、実行頻度を設定します。
今回は「5」「分」を入力。単位は(日、時、分)を選べます。
![](https://storage.googleapis.com/zenn-user-upload/21377581f7a7-20220101.png)
トリガーの対象となるAWSリソースを選択します。
「Lambda 関数」を選択し、対象のLambda名を選択する。
![](https://storage.googleapis.com/zenn-user-upload/879ff8218256-20220101.png)
一番下の「作成」をクリックする。
![](https://storage.googleapis.com/zenn-user-upload/a3978b04f203-20220101.png)
EventBridgeルールが作成されましたね( ´∀`)
![](https://storage.googleapis.com/zenn-user-upload/c1086abc1cdf-20220101.png)
Lambda関数の方を見てみましょう。 あ!! EventBridgeがトリガーになっている!!٩( ‘ω’ )و
![](https://storage.googleapis.com/zenn-user-upload/95ce8da82b37-20220101.png)
③ 動作確認
しばらくしてから CloudWatchLogsでLambdaのログを見てみましょう。
5分おきにLambdaが実行されてるのが分かりますね
![](https://storage.googleapis.com/zenn-user-upload/df3b562acdc6-20220101.png)
④ トリガー削除
さて、これを放置しておくとAWS料金の請求がエラい事になって、地獄を見るかもしれません_:(´ཀ`」 ∠):
LambdaもEventBridgeも動いている間だけお金がかかります。 なので、トリガーだけ外しておいて、自動で実行されないようにしましょう。 リソース自体は残しておいても大丈夫です
Lambda画面からEventBridgeをクリックする
![](https://storage.googleapis.com/zenn-user-upload/95ce8da82b37-20220101.png)
EventBridgeルールにチェックを付け、「削除」をクリックする
![](https://storage.googleapis.com/zenn-user-upload/3e27592014ac-20220101.png)
「削除」をクリックする。
![](https://storage.googleapis.com/zenn-user-upload/5d42d9bb74ae-20220101.png)
Lambdaからトリガーが無くなりました。これでOKですね。ふぅ。(; ´∀`)
![](https://storage.googleapis.com/zenn-user-upload/a05a1b8adf6a-20220101.png)
さいごに
Lambdaを定期実行する方法としてEventBridgeを紹介しましたが、記事を書くにあたってEventBridgeを調べてみると、これまた色んな使い方があるみたいですね。AWSリソースのイベントだけじゃなく、外部SaaSアプリケーションのイベントからも発火できると。 機会があったらそっちも触ってみようと思います!
ベンジャミンのサーバレス開発サービス
ベンジャミンではAWS Lambdaを使ったサーバーレス開発サービスを提供しております。詳細は以下をご確認ください