Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのスケジュールされたイベントがあるときに、Amazon EventBridge から通知を受け取りたいと考えています。
簡単な説明
EC2 インスタンスの予定されたイベントで開始する EventBridge ルールを作成できます。その後、イベントパターンに一致するイベントについての Amazon Simple Notification Service (Amazon SNS) 通知を設定できます。AWS Lambda を介してさらに処理を設定することもできます。
解決方法
重要 : 始める前に、通知に関する SNS トピックがあることを確認してください。SNS トピックがない場合は、新しい SNS トピックを作成してサブスクライブします。
EventBridge コンソールを使用して、イベントに対して開始する EventBridge ルールを作成します。
1. ルールに [名前] と必要に応じて [説明] を割り当てます。
2. [Event bus] (イベントバス) で、[default] (デフォルト) を選択します。
3. [Rule type] (ルールタイプ) で、[Rule with an event pattern] (イベントパターンを含むルール) を選択します。
4. [次へ] を選択します。
5. [Event Source] (イベントソース) で、[AWS events] (AWS イベント) または [EventBridge partner events] (EventBridge パートナーイベント) を選択します。
6. (オプション) [Sample events] (サンプルイベント) で、イベントのタイプを選択します。
7. [Creation method] (作成方法) で、[Use pattern form] (パターンフォームを使用する) を選択します。
8. [Event source] (イベントソース) で、[AWS services] (AWS のサービス) を選択します。
9. [AWS service] (AWS のサービス) で、[Health] (正常性) を選択します。これは、イベントソースとしての AWS のサービスの名前です**。**
10. [Event Type] (イベントタイプ) で、[Specific Health events] (特定の正常性イベント) を選択します。
11. [Specific service(s)] (特定のサービス) を選択してから、[EC2] を選択します。
12. [Specific event type category(s)] (特定のイベントタイプカテゴリ) を選択してから、[scheduledChange] を選択します。
13. (オプション) より具体的なルールを作成するには、[Specific event type code(s)] (特定のイベントタイプコード) または [Specific resource(s)] (特定のリソース) を含めます。これらのオプションの 1 つをルールに追加することで、特定のイベントまたはインスタンスに対して通知が送信されます。
これらの設定から、次のイベントパターンが作成されます。
注 : ルールとして次のコードをコピーして貼り付けて、イベントパターンを作成することもできます。[ルールの作成] を選択した後、[イベントパターンのプレビュー] セクションで [編集] を選択します。以下のコードを挿入し、[Save] (保存) を選択してから、SNS ターゲットの作成に進みます。
{
"source": [
"aws.health"
],
"detail-type": [
"AWS Health Event"
],
"detail": {
"service": [
"EC2"
],
"eventTypeCategory": [
"scheduledChange"
]
}
}
14. 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 関数をターゲットとして添付し、指定の処理を実行します。
関連情報
AWS Health イベント (CloudWatch イベント)
Monitoring AWS Health events with Amazon CloudWatch Events (Amazon CloudWatch Events を使用した AWS Health イベントのモニタリング)
入力トランスフォーマーを使用して、人間が読める形式で API コールの EventBridge 通知を設定する方法を教えてください
Amazon EventBridge input transformation (Amazon EventBridge 入力変換)