AWS Lambdaで遊ぼう #2 Lambda関数を定期実行する
明けましておめでとうございます。 (2022/1/1 執筆)
中村です。
今回は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アプリケーションのイベントからも発火できると。 機会があったらそっちも触ってみようかしら。
ではまたっ
Discussion