EventBridge を使用して、EC2 インスタンスのためにスケジュールされたイベントの通知を受け取るにはどうすればよいですか?
最終更新日: 2022 年 1 月 19 日
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのスケジュールされたイベントがあるときに、Amazon EventBridge から通知を受け取りたいです。これはどのように実行できますか?
簡単な説明
EC2 インスタンスのスケジュール済みイベントでトリガーする EventBridge ルールを作成できます。その後、イベントパターンに一致するイベントに対して Amazon Simple Notification Service (Amazon SNS) 通知を設定できます。AWS Lambda を介してさらに処理を設定することもできます。
解決方法
重要 : 始める前に、通知に関する SNS トピックがあることを確認してください。ない場合は、新しい SNS トピックを作成して登録してください。
EventBridge コンソールを使用して、イベントに対してトリガーする EventBridge ルールを作成します。
1. ルールに [名前] と必要に応じて [説明] を割り当てます。
2. [Define Pattern] (パターンを定義) で、[Event Pattern] (イベントパターン) を選択します。
3. [Event matching pattern] (イベント一致パターン) で、[Pre-defined by service] (サービスごとの事前定義パターン) を選択します。
4. [Service provider] (サービスプロバイダー) で、[AWS] を選択します。
5. [サービス名] には、[正常性] を選択します。
6. [イベントタイプ] には、[特定の正常性イベント] を選択します。
7. [特定のサービス] を選択してから、[EC2] を選択します。
8. [特定のイベントタイプカテゴリ] を選択してから、[scheduledChange] を選択します。
9. (オプション) より具体的なルールを作成するには、[特定のイベントタイプコード] または [特定のリソース] を含めます。これらのオプションの 1 つをルールに追加することで、特定のイベントまたはインスタンスに対して通知が送信されます。
これらの設定から、次のイベントパターンが作成されます。
注 : ルールとして次のコードをコピーして貼り付けて、イベントパターンを作成することもできます。[ルールの作成] を選択した後、[イベントパターンのプレビュー] セクションで [編集] を選択します。以下のコードを挿入し、[保存] を選択してから、SNS ターゲットの作成に進みます。
{
"source": [
"aws.health"
],
"detail-type": [
"AWS Health Event"
],
"detail": {
"service": [
"EC2"
],
"eventTypeCategory": [
"scheduledChange"
]
}
}
10. 以下の手順に従い、SNS ターゲットを選択してください。
[ターゲットの追加] を選択します。
ターゲットには、[SNS トピック] を選択します。
トピックには、通知に使用する SNS トピックを選択します。
次の例は、ターゲットに転送される EventBridge イベントです。
{
"version": "0",
"id": "7fb65329-1628-4cf3-a740-95fg457h1402",
"detail-type": "AWS Health Event",
"source": "aws.health",
"account": "123456789101",
"time": "2016-06-05T06:27:57Z",
"region": "us-east-1",
"resources": ["i-12345678"],
"detail": {
"eventArn": "arn:aws:health:region::event/id",
"service": "EC2",
"eventTypeCode": "AWS_EC2_DEDICATED_HOST_NETWORK_MAINTENANCE_SCHEDULED",
"eventTypeCategory": "scheduledChange",
"startTime": "Sat, 05 Jun 2016 15:10:09 GMT",
"eventDescription": [{
"language": "en_US",
"latestDescription": "A description of the event will be provided here"
}],
"affectedEntities": [{
"entityValue": "i-12345678",
"tags": {
"stage": "prod",
"app": "my-app"
}
}]
}
}
ユースケースで特定のフィールドをターゲットに配信する必要がある場合は、[入力の構成] で [入力トランスフォーマー] を添付します。または、Lambda 関数をターゲットとして添付し、指定の処理を実行します。