🤔

AWS Lambdaで遊ぼう #2 Lambda関数を定期実行する

2022/01/01に公開

明けましておめでとうございます。 (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