CloudWatch 경보 및 SNS를 사용하여 EC2 인스턴스의 자동 복구를 모니터링하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 3월 12일

Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스의 자동 복구를 구성하려고 합니다. Amazon CloudWatch(CloudWatch)와 Amazon SNS(Amazon Simple Notification Service)를 사용하여 이러한 자동 복구 작업을 모니터링하려면 어떻게 해야 합니까?

간략한 설명

손상된 Amazon EC2 인스턴스를 자동으로 복구하고 Amazon SNS를 통해 사용자에게 알리도록 CloudWatch 경보를 구성할 수 있습니다. 하지만 SNS 알림 자체에는 자동 복구 작업의 결과가 포함되지 않습니다.

인스턴스의 AWS Personal Health Dashboard(AWS Health)를 모니터링하도록 CloudWatch Events 규칙도 구성해야 합니다. 그러면 인스턴스의 자동 복구 작업 결과에 대한 알림을 받을 수 있습니다.

해결 방법

참고: AWS CLI(AWS 명령줄 인터페이스) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

먼저 Amazon EC2 인스턴스에 대한 CloudWatch 경보를 생성합니다. 

  • 알림 보내기(Send notification to)에 SNS 주제 이름을 입력합니다.
  • 작업 수행(Take the action)에서 복구(Recover)를 선택합니다.

자세한 내용은 내 EC2 인스턴스를 자동으로 복구하도록 CloudWatch 경보를 설정하려면 어떻게 해야 합니까?를 참조하세요.

그런 후 다음 AWS Health 이벤트를 모니터링하도록 CloudWatch Events를 구성합니다. 대상(Target)에서, 앞서 생성한 SNS 주제를 선택합니다.

  • AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS
  • AWS_EC2_INSTANCE_AUTO_RECOVERY_NO_ACTION
  • AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE

AWS CLI를 사용하여 EC2 인스턴스 자동 복구와 관련된 AWS Health 이벤트를 나열할 수도 있습니다. 다음과 같이 적절한 --region을 사용하여 describe-event-types 명령을 실행합니다.

$ aws health describe-event-types --filter services=EC2 --query eventTypes[].code --region us-east-1 | grep AUTO_RECOVERY
"AWS_EC2_INSTANCE_AUTO_RECOVERY_FAILURE",
"AWS_EC2_INSTANCE_AUTO_RECOVERY_NO_ACTION",
"AWS_EC2_INSTANCE_AUTO_RECOVERY_SUCCESS",

그러면 자동 복구 결과가 AWS 계정의 기본 연락처 및 대체 연락처 모두에 이메일로 전송됩니다. 다음과 유사한 이메일 제목을 찾으면 됩니다.

  • [Auto Recovery] Amazon EC2 instance recovery: Success
  • [Auto Recovery] Amazon EC2 instance recovery: No action taken
  • [Auto Recovery] Amazon EC2 instance recovery: Failure

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?