EventBridge를 사용하여 EC2 인스턴스에 대해 예약된 이벤트의 알림을 받으려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 1월 19일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 대한 예약된 이벤트가 있는 경우 Amazon EventBridge에서 알림을 수신하고 싶습니다. 어떻게 해야 하나요?

간략한 설명

EC2 인스턴스에 대한 예약된 이벤트에서 트리거하는 EventBridge 규칙을 생성할 수 있습니다. 그리고 이벤트 패턴과 일치하는 이벤트에 대해 Amazon Simple Notification Service(Amazon SNS) 알림을 구성할 수 있습니다. AWS Lambda를 통해 추가 처리도 구성할 수 있습니다.

해결 방법

중요: 시작하기 전에 알림에 대한 SNS 주제가 있는지 확인합니다. 아직 없으면 새 SNS 주제를 생성하고 구독합니다.

EventBridge 콘솔을 사용하여 이벤트에서 트리거되는 EventBridge 규칙을 생성합니다.

1.    규칙에 이름(Name)설명(Description)(선택 사항)을 할당합니다.

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

3.    이벤트 일치 패턴(Event matching pattern)에서 서비스별 사전 정의(Pre-defined by service)를 선택합니다.

4.    서비스 공급자(Service provider)에서 AWS를 선택합니다.

5.    서비스 이름(Service Name)에서 Health를 선택합니다.

6.    이벤트 유형(Event Type)에서 특정 Health 이벤트(Specific Health events)를 선택합니다.

7.    특정 서비스(Specific service(s))를 선택하고 EC2를 선택합니다.

8.    특정 이벤트 유형 범주(Specific event type category(s))를 선택하고 scheduledChange를 선택합니다.

9.    (선택 사항) 보다 구체적인 규칙을 만들려면 특정 이벤트 유형 코드 또는 특정 리소스를 포함합니다. 이러한 옵션 중 하나를 규칙에 추가하면 특정 이벤트 또는 인스턴스에 대한 알림이 전송됩니다.

이러한 설정은 다음과 같은 이벤트 패턴을 생성합니다.

참고: 또한 규칙으로 다음 코드를 복사하고 붙여넣어 이벤트 패턴을 생성할 수도 있습니다. 규칙 생성(Create Rule)을 선택한 후 이벤트 패턴 미리 보기(Event Pattern preview) 섹션에서 편집(Edit)을 선택합니다. 아래 코드를 삽입하고 저장(Save)을 선택한 다음, SNS 대상을 생성하는 단계로 진행합니다.

{
  "source": [
    "aws.health"
  ],
  "detail-type": [
    "AWS Health Event"
  ],
  "detail": {
    "service": [
      "EC2"
    ],
    "eventTypeCategory": [
      "scheduledChange"
    ]
  }
}

10.    SNS 대상을 선택합니다.
대상 추가(Add Target)를 선택합니다.
대상에서 SNS 주제(SNS topic)를 선택합니다.
주제(Topic)에서 알림에 사용할 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"
      }
    }]
  }
}

사용 사례에서 대상에 특정 필드를 전달해야 하는 경우, 입력 구성(Configure input)입력 변화기(Input Transformer)에 첨부합니다. 또는 Lambda 함수를 대상으로 첨부하여 지정된 처리를 실행합니다.