Amazon EventBridge が新しい AWS リソースを作成したときに、サービスイベントタイプで開始する Amazon EventBridge ルールを作成しました。ただし、応答は JSON 形式です。
解決策
EventBridge ルールでカスタムイベントパターンを使用して、AWS Config がサポートするリソースタイプと一致させます。次に、応答を Amazon Simple Notification Service (Amazon SNS) トピックにルーティングします。
次の例では、AWS::EC2::Instance リソースタイプを使用して新しい Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを作成したときに、SNS 通知を受け取ります。
注: リソースタイプを、実際の特定の AWS サービスに置き換えます。
次の手順を実行します。
-
Amazon SNS トピックを作成します。
**注:**Amazon SNS トピックは、AWS Config サービスと同じ AWS リージョンにある必要があります。
-
EventBridge コンソールを開きます。
-
ナビゲーションペインで、[ルール]、[ルールを作成] の順に選択します。
-
次の情報を入力します。
[名前] に、ルールの名前を入力します。
(オプション) [説明] に、ルールの説明を入力します。
[ルールタイプ] で、[イベントパターンを含むルール] を選択し、[次へ] を選択します。
[イベントソース] で、[AWS イベントまたは EventBridge パートナーイベント] を選択します。
-
[イベントパターン] で、[カスタムパターン (JSON エディタ)] を選択します。その後、次のイベントパターンの例を入力します。
{
"source": [
"aws.config"
],
"detail-type": [
"Config Configuration Item Change"
],
"detail": {
"messageType": [
"ConfigurationItemChangeNotification"
],
"configurationItem": {
"resourceType": [
"AWS::EC2::Instance"
],
"configurationItemStatus": [
"ResourceDiscovered"
]
}
}
}
注: リソースタイプ EC2::Instance は、実際のリソースタイプに置き換えます。使用可能なリソースタイプのリストについては、ResourceIdentifier の resourceType セクションを参照してください。
-
[次へ] を選択します。
-
次の情報を入力します。
[ターゲットタイプ] で、[AWS サービス] を選択します。
[ターゲットを選択] で、[SNS トピック] を選択します。
[トピック] で、SNS トピックを選択します。
[その他の設定] の [ターゲット入力を設定] で、[入力トランスフォーマー] を選択します。
-
[入力トランスフォーマーを設定] を選択します。次に、[入力パス] テキストボックスの [ターゲット入力トランスフォーマー] に、次のパスの例を入力します。
{
"awsRegion": "$.detail.configurationItem.awsRegion",
"awsAccountId": "$.detail.configurationItem.awsAccountId",
"resource_type": "$.detail.configurationItem.resourceType",
"resource_ID": "$.detail.configurationItem.resourceId",
"configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}
-
[テンプレート] テキストボックスに、次のテンプレート例を入力します。
"On <configurationItemCaptureTime> AWS Config service recorded a creation of a new <resource_type> with Id <resource_ID> in the account <awsAccountId> region <awsRegion>. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resource_type>/<resource_ID>/configuration"
-
[確認] を選択します。[次へ] を選択します。
-
[ルールを作成] を選択します。
イベントタイプの開始時に、カスタムフィールドが入力された SNS メール通知が届きます。
例:
"On ExampleTime AWS Config service recorded a creation of a new AWS::EC2::Instance with Id ExampleID in the account AccountID region ExampleRegion. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=*ExampleRegion*#/timeline/AWS::EC2::Instance/*ExampleID*/configuration"
関連情報
特定の AWS サービスイベントタイプに対してカスタム SNS 通知を送信するように GuardDuty の EventBridge ルールを設定する方法を教えてください
AWS Config サービスを使用して、AWS アカウントでリソースが削除されたときにメール通知を受け取る方法を教えてください