CloudWatch Events를 사용하여 EC2 인스턴스에 대해 예약된 이벤트 알림을 수신하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 5월 8일

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

간략한 설명

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

​해결 방법

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

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

1.    [이벤트 패턴]에서 [서비스별 이벤트와 일치시킬 이벤트 패턴을 작성]을 선택합니다.

2.    [서비스 이름]에서 [Health]를 선택합니다.

3.    [이벤트 유형]에서 [특정 상태 이벤트]를 선택합니다.

4.    [특정 서비스]를 선택하고 [EC2]를 선택합니다.

5.    [특정 이벤트 유형 범주]를 선택하고 [scheduledChange]를 선택합니다.

6.    (선택 사항) 모든 인스턴스가 아니라, 특정 인스턴스에 대한 알림을 보내려면 [특정 리소스]를 선택하고 인스턴스 ID를 선택합니다.

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

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

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

SNS 대상을 선택합니다.

1.    [대상 추가]를 선택합니다.

2.    대상에서 [SNS 주제]를 선택합니다.

3.    [주제]에서 알림에 사용할 SNS 주제를 선택합니다.

4.    [세부 정보 구성]을 선택합니다.

5.    필요에 따라 추가 설정을 구성합니다(예: Lambda에서 추가 이벤트 처리).

6.    [규칙 생성]을 선택합니다.

참고: 다음 예제에서는 CloudWatch Events에 푸시될 때 예약된 이벤트의 내용을 보여줍니다.

{
  "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"
      }
    }]
  }
}

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?