AWS Config 서비스를 사용하여 AWS 계정에 리소스가 생성될 때 사용자 지정 이메일 알림을 받으려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 11월 19일

새 AWS 리소스가 생성될 때 서비스 이벤트 유형에 대해 트리거되는 Amazon CloudWatch Events 규칙을 생성했지만 응답이 JSON 형식입니다. 사용자 지정 알림이 포함된 이메일 응답을 받으려면 어떻게 해야 합니까?  

간략한 설명

CloudWatch Events 규칙과 함께 사용자 지정 이벤트 패턴을 사용하여 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.    CloudWatch 콘솔을 엽니다.

3.    탐색 창에서 [Rules]를 선택하고 [Create rule]을 선택합니다.

4.    [Event Source]에서 [Event Pattern]을 선택합니다.

5.    [Build event pattern to match events by service] 드롭다운 메뉴에서 [Custom event pattern]을 선택합니다.

6.    [Build custom event pattern] 미리보기 창에서 다음 예제 이벤트 패턴을 복사하여 붙여 넣습니다.

참고: EC2:: Instance 리소스 유형을 다른 리소스로 바꿀 수 있습니다. 사용 가능한 리소스 유형 목록은 AWS Config 데이터 유형resourceType 단원을 참조하십시오.

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Configuration Item Change"
  ],
  "detail": {
    "messageType": [
      "ConfigurationItemChangeNotification"
    ],
    "configurationItem": {
      "resourceType": [
        "AWS::EC2::Instance"
      ],
      "configurationItemStatus": [
        "ResourceDiscovered"
      ]
    }
  }
}

7.    [Targets]에서 [Add target]을 선택합니다.

8.    대상 드롭다운 메뉴를 선택한 다음 [SNS topic]을 선택합니다.

9.    [Topic]에서 원하는 SNS 주제를 선택합니다.

10.   [Configure input]을 확장한 후 [Input Transformer]를 선택합니다.

11.   [Input Path] 텍스트 상자에 다음 예제 경로를 복사하여 붙여 넣습니다.

{
    "awsRegion": "$.detail.configurationItem.awsRegion",
    "awsAccountId": "$.detail.configurationItem.awsAccountId",
    "resource_type": "$.detail.configurationItem.resourceType",
    "resource_ID": "$.detail.configurationItem.resourceId",
    "configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}

12.   [Input 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"

13.   [Name]에 규칙 이름을 입력하고 [Create rule]을 선택합니다.

14.    이벤트 유형이 트리거되면 다음과 같이 12단계에서 입력한 사용자 지정 필드가 포함된 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"