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を選択する

左メニューの「ルール」をクリック、「ルールを作成」を実施する

ルール名を入力する

「スケジュール」を選択して、実行頻度を設定します。
今回は「5」「分」を入力。単位は(日、時、分)を選べます。

トリガーの対象となるAWSリソースを選択します。
「Lambda 関数」を選択し、対象のLambda名を選択する。

一番下の「作成」をクリックする。

EventBridgeルールが作成されましたね( ´∀`)

Lambda関数の方を見てみましょう。 あ!! EventBridgeがトリガーになっている!!٩( ‘ω’ )و

③ 動作確認
しばらくしてから CloudWatchLogsでLambdaのログを見てみましょう。
5分おきにLambdaが実行されてるのが分かりますね

④ トリガー削除
さて、これを放置しておくとAWS料金の請求がエラい事になって、地獄を見るかもしれません_:(´ཀ`」 ∠):
LambdaもEventBridgeも動いている間だけお金がかかります。 なので、トリガーだけ外しておいて、自動で実行されないようにしましょう。 リソース自体は残しておいても大丈夫です
Lambda画面からEventBridgeをクリックする

EventBridgeルールにチェックを付け、「削除」をクリックする

「削除」をクリックする。

Lambdaからトリガーが無くなりました。これでOKですね。ふぅ。(; ´∀`)

さいごに
Lambdaを定期実行する方法としてEventBridgeを紹介しましたが、記事を書くにあたってEventBridgeを調べてみると、これまた色んな使い方があるみたいですね。AWSリソースのイベントだけじゃなく、外部SaaSアプリケーションのイベントからも発火できると。 機会があったらそっちも触ってみようと思います!
ベンジャミンのサーバレス開発サービス
ベンジャミンではAWS Lambdaを使ったサーバーレス開発サービスを提供しております。詳細は以下をご確認ください