【AWS】スケジュール関数を作成・定期実行する方法|AWS LambdaとAmazon EventBridgeにて実現

こんにちは、Kosei(@kay_diacc2)です!

こんな方におすすめ
  • AWSのサービスを用いて自作関数を一定のスケジュールで定期実行する方法を知りたい。
  • AWS EventBridgeによるイベントルールの作成方法とLambdaでのルール適用方法を知りたい。
目次

AWS上でスケジュール関数を定期実行する方法

本記事ではAmazon EventBridgeで作成したイベントルールをもとに、AWS Lambdaを呼び出し、関数を定期実行するための方法を解説します。

本記事はAWS公式情報(https://aws.amazon.com/)を引用したノウハウを配信しています。

Amazon EventBridgeとは

AWS公式HP(https://aws.amazon.com/jp/eventbridge/)を引用

Amazon EventBridgeはイベントを使って多様なアプリケーションを接続できるようにするサーバーレスなイベントパスサービスです。

EventBridgeを通じて、AWS上でのアクション(ステータス変更などシステムの状態が変わること)やAWS内外のサービス同士を接続し、イベント駆動型アプリケーションを容易に実装することができます。

一定のスケジュール設定のもと関数を定期実行したい場合、EventBridgeを用いて定期実行ルールを作成し、後述のLambda関数を実行します。

AWS Lambdaとは

AWS Lambdaとは、自身で作成した関数をリクエスト(イベント発生)の都度、自動で実行できるようにするサーバーレスコンピューティングサービスです。

Lambdaは、EventBridgeで作成したイベントルールををもとに起動し、関数を実行します。

Lambdaの具体的な特徴は下記に示します。

  • サーバーのプロビジョニングや管理をすることなく、アプリケーションやバックエンドサービスのコードが実行可能。
  • 関数をLambdaに保存すると、その関数がリクエストやイベントをトリガーとして自動実行できる。
  • Java、Go、PowerShell、Node.js、C#、Python、Rubyをネイティブとしてサポートしている。その他の言語は Runtime APIを別途用いることで対応可能。
  • 定期的なダウンタイムはなく、可用性が高い。
  • 最長15分まで関数の実行が可能。

EventBridgeとLambdaを用いた関数の定期実行手順

Lambda関数の作成」と「イベントルールの作成」の2つ手順をもとに関数の定期実行を実現します。

Lambda関数の作成手順

Lambda関数の作成手順は、下記記事で詳しく解説しています。Lambda関数の作成が未済の方はまずこちらをご覧下さい。

下記記事の目次(3):【実践】Lambda関数の作成まで終えられると問題なしです!

イベントルール(スケジュール・定期実行条件)を作成する手順

EventBridgeでイベントルールを作成する手順を下記に示します。

  1. AWSマネジメントコンソールにログインし、EventBridgeコンソールを開く
  2. 「ルールの作成」を選択
  3. ルール設定項目を入力
  4. ステータス確認

【実践】EventBridgeでイベントルールを作成しLambda関数を定期実行

AWSマネジメントコンソールにログインし、EventBridgeコンソールを開く

AWSマネジメントコンソールにログインし、Amazon EventBridgeと検索し、EventBridgeコンソールを開きます。

「ルールの作成」を選択

EventBridgeのトップ画面にある「ルールを作成」ボタンをクリックします。

ルール設定項目を入力

ルールは特定のイベントを監視し、ユーザーの選択したAWSターゲット(今回ターゲットはLambda関数を指す)へと振り分けます。

AWS上であるイベントが起きた際、自動的にAWS上で処理を実行するためのルールや、一定間隔のスケジュールに従って処理を実行するためのルールを作成できます。

ルールの名前・説明を記述

ルール名とその説明を記載します。

パターンを定義

パターンの定義では「イベントパターン」か「スケジュール」を選択します。今回はスケジュールを選択し、Lambda関数を定期実行することとします。

ターゲットを選択

定期実行したいターゲットを選択します。今回は「Lambda関数」と指定します。加えて、定期実行したい関数を機能欄から選択します。

以上設定が完了しましたら画面右下の「作成」をクリックしましょう!

ステータス確認

ルールの作成が完了しましたらEventBridgeのルール一覧画面に遷移します。作成したルールのステータスがEnabledになっていれば、そのイベントが有効になっていることを示しています。

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
URLをコピーする
URLをコピーしました!
目次
閉じる