新しい AWS リソースが作成されたときにサービスイベントタイプで開始する Amazon EventBridge ルールを作成しました。ただし、レスポンスは JSON 形式です。カスタム通知を E メールで受け取るにはどうすればよいですか?
解決方法
EventBridge ルールでカスタムイベントパターンを使用して、 AWS Config でサポートされるリソースタイプに一致させます。次に、レスポンスを Amazon Simple Notification Service (Amazon SNS) トピックにルーティングします。
次の例では、AWS::EC2::Instance リソースタイプを使用して新しい Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが作成されたときに SNS 通知を受信します。
注意: 特定の AWS のサービスのリソースタイプを置き換えることができます。
1. Amazon SNS トピックをまだ作成していない場合は、「Amazon SNS の開始方法」の手順に従ってください。
注意: Amazon SNS トピックは、AWS Config サービスと同じリージョンにある必要があります。
2. EventBridge コンソールを開き、ナビゲーションペインで [ルール] を選択します。
3. [Create rule] (ルールの作成) を選択します。
4. [Name] (名前) で、ルール名を入力します。必要に応じて [Description] (説明) を入力できます。
5. [Rule type] (ルールタイプ) で、[Rule with and event pattern] (イベントパターンを持つルール) を選択して、[Next] (次へ) を選択します。
6. [Event source] (イベントソース) で、[AWS events or EventBridge partner events] (AWS イベントまたは EventBridge パートナーイベント) を選択します。
7. [Event pattern] (イベントパターン) ペインで [Custom patterns (JSON editor)] (カスタムパターン (JSON エディタ)) を選択し、次のイベントパターンの例を貼り付けます。
注: EC2::Instance リソースタイプを他のリソースに置き換えることができます。使用可能なリソースタイプのリストについては、ResourceIdentifier の「resourceType」セクションを参照してください。
{
"source": [
"aws.config"
],
"detail-type": [
"Config Configuration Item Change"
],
"detail": {
"messageType": [
"ConfigurationItemChangeNotification"
],
"configurationItem": {
"resourceType": [
"AWS::EC2::Instance"
],
"configurationItemStatus": [
"ResourceDiscovered"
]
}
}
}
8. [次へ] を選択します。
9. [Target types] (ターゲットタイプ) で、[AWS service] (AWS のサービス) を選択します。
10. [Select a target] (ターゲットを選択) で、[SNS topic] (SNS トピック) を選択します。
11. [Topic] (トピック) で、SNS トピックを選択します。
12. [Additional settings] (追加設定) を展開します。その後、[Configure target input] (ターゲット入力の設定) で [Input Transformer] (入力トランスフォーマー) を選択します。
13. [Configure input transformer] (入力トランスフォーマーを設定) を選択します。その後、[Input Path] (入力パス) テキストボックスの [Target input transformer] (ターゲット入力トランスフォーマー) で、次のサンプルパスを入力します。
{
"awsRegion": "$.detail.configurationItem.awsRegion",
"awsAccountId": "$.detail.configurationItem.awsAccountId",
"resource_type": "$.detail.configurationItem.resourceType",
"resource_ID": "$.detail.configurationItem.resourceId",
"configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}
14. [Template] (テンプレート) テキストボックスに、次のサンプルテンプレートを入力します。
"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"
15. [Confirm] (確認) を選択します。その後、[Next] (次へ) を選択します。
16. オプションで、[Add new tag] (新しいタグを追加) できます。その後、[Next] (次へ) を選択します。
17. [Create rule] (ルールの作成) を選択します。
18. イベントタイプが開始すると、ステップ 13 で入力したカスタム項目が記載された、次のような 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 アカウントでリソースが削除されたときにカスタム E メール通知を受け取るにはどうすればよいですか?