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

최종 업데이트 날짜: 2021년 9월 16일

새 AWS 리소스가 생성될 때 서비스 이벤트 유형에 따라 시작하는 Amazon EventBridge 규칙을 생성했습니다. 하지만 응답은 JSON 형식입니다. 사용자 지정 알림이 포함된 이메일 응답을 받으려면 어떻게 해야 하나요?

해결 방법

EventBridge 규칙에 사용자 지정 이벤트 패턴을 사용하여 AWS Config에서 지원되는 리소스 유형과 일치시킬 수 있습니다. 그런 다음 응답을 Amazon Simple Notification Service(Amazon SNS) 주제로 라우팅합니다.

다음 예제에서는 AWS::EC2::Instance 리소스 유형을 사용하여 새로운 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스가 생성되면 SNS 알림이 수신됩니다.

참고: 특정 AWS 서비스의 리소스 유형을 바꿀 수 있습니다.

1.    Amazon SNS 주제를 아직 생성하지 않은 경우에는 Amazon SNS 시작하기의 지침을 따릅니다.

참고: Amazon SNS 주제는 AWS Config 서비스와 동일한 리전에 있어야 합니다.

2.    EventBridge 콘솔을 열고 탐색 창에서 규칙(Rules)을 선택합니다.

3.    규칙 생성(Create rule)을 선택합니다.

4.    이름(Name)에 규칙 이름을 입력합니다.

5.    패턴 정의(Define pattern)에서 이벤트 패턴(Event pattern)을 선택합니다.

6.    이벤트 일치 패턴(Event matching pattern)에서 사용자 지정 패턴(Custom pattern)을 선택합니다.

7.    이벤트 패턴(Event pattern) 미리 보기 창에 다음 예제 이벤트 패턴을 입력합니다.

참고: EC2:: Instance 리소스 유형을 다른 리소스로 바꿀 수 있습니다. 사용 가능한 리소스 유형 목록은 ResourceIdentifierresourceType 섹션을 참조하세요.

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

8.    대상(Target)에서 SNS 주제(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.    [생성(Create)]을 선택합니다.

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"