Amazon EventBridge (CloudWatch Events) でAWS Lambdaを使用する - AWS Lambda

Amazon EventBridge (CloudWatch Events) でAWS Lambdaを使用する

注記

イベントを管理するには、Amazon EventBridge が好ましい方法です。CloudWatch Events と EventBridge は同じ基盤となるサービスと API ですが、EventBridge はより多くの機能を提供します。CloudWatch Events または EventBridge のいずれかで行った変更は、各コンソールに表示されます。詳細については、Amazon EventBridge のドキュメントを参照してください。

EventBridge (CloudWatch Events) は、AWSリソースの状態変化への対応に役立ちます。Eventbridge の詳細については、Amazon EventBridge ユーザーガイドAmazon EventBridge とはを参照してください。

リソースの状態が変化すると、自動的にイベントがイベントストリームに送信されます。Eventbridge (CloudWatch Events) では、選択したイベントをストリーミング内で照合し、それらをAWS Lambda関数に送信して、アクションを実行するためのルールを作成できます。たとえば、AWS Lambda 関数を自動的に呼び出し、EC2 インスタンスまたは AutoScaling グループの状態を記録することができます。

Eventbridge (CloudWatch Events) は、ソースからのイベントをラッピングするイベントドキュメントを使用して、関数を非同期的に呼び出します。次の例は、Amazon Relational Database Service のデータベーススナップショットから発生したイベントを示しています。

例 EventBridge (CloudWatch Events) イベント

{ "version": "0", "id": "fe8d3c65-xmpl-c5c3-2c87-81584709a377", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "123456789012", "time": "2020-04-28T07:20:20Z", "region": "us-east-2", "resources": [ "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1" ], "detail": { "EventCategories": [ "backup" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1", "Date": "2020-04-28T07:20:20.112Z", "Message": "Finished DB Instance backup", "SourceIdentifier": "rdz6xmpliljlb1" } }

Lambda 関数を作成し、AWS Lambda を定期的なスケジュールで呼び出すように指示することもできます。固定の間隔を指定する (例えば、1 時間ごとまたは 15 分ごとに Lambda 関数を呼び出す) ことも、Cron 式を指定することもできます。

例 EventBridge (CloudWatch Events) メッセージイベント

{ "version": "0", "account": "123456789012", "region": "us-east-2", "detail": {}, "detail-type": "Scheduled Event", "source": "aws.events", "time": "2019-03-01T01:23:45Z", "id": "cdc73f9d-aea9-11e3-9d5a-835b769c0d9c", "resources": [ "arn:aws:events:us-east-2:123456789012:rule/my-schedule" ] }

Eventbridge (CloudWatch Events) を設定して関数を呼び出すには

  1. Lambda コンソールの [Functions] (関数) ページを開きます。

  2. 関数を選択します。

  3. [機能の概要] で、[トリガーを追加] を選択します。

  4. トリガーの種類を EventBridge(CloudWatch Events) に設定します。

  5. [ルール] で、[新規ルールの作成] を選択します。

  6. 残りのオプションを設定し、[追加] を選択します。

スケジュール式の詳細については、「」を参照してくださいRate または Cron を使用したスケジュール式

各AWSアカウントでは、Eventbridge (CloudWatch Events) - Schedule ソースタイプの最大 100 個の一意のイベントソースを指定できます。それぞれが、最大 5 つの Lambda 関数のイベントソースになります。つまり、AWS アカウントでは、スケジュールで実行する Lambda 関数を最大 500 個作成できます。