본문 바로가기

AWS/CloudWatch

AWS Personal Health Dashboard 알림 받기

안녕하세요.

오늘은 지난 번 IAM User Create/Delete & Change SG 알림 받기와 비슷하게
CloudWatch Event와 SNS를 이용하여,
Personal Health Dashboard의 알림을 받는 방법을 포스팅 하려합니다.

 

Personal Health Dashboard는 AWS 특정 Region 인프라의 장애(HostOS, Network 장애 등..)로 인하여,

Region 전역 혹은 Region 특정 가용영역에 장애가 생겨 내 계정 Resource에 영향을 주게 되는경우

AWS 상단 종 모양의 Notification에 표시됩니다.

 

AWS PHD Notification

 

위 알림은 AWS Web Console에 로그인 해야만 확인 할 수 있다는 단점이 존재하는데요.

여러 계정을 관리하고 있다면, 인프라 관리자 입장에서 장애 인지시간이 느려지고,

나아가 장애가 확산되는 최악의 상황까지 벌어질 수 있습니다.

 

이러한 단점을 보완하기 위해 CloudWatch Event과 SNS를 통해 Email로 알림을 받아보겠습니다.


먼저 SNS Topic을 생성하도록 하겠습니다.

  • AWS Web Console - SNS - Topic - Create topic - Standard Type

Create topic

밑의 옵션인 Encryption, Access policy 등은 Default 값으로 사용하였습니다.
(환경 및 상황에 따라 적절히 사용하시면 됩니다.)

 

 

다음은 생성한 Topic에 Subscription을 연결하도록 하겠습니다.

  • AWS Web Console - SNS - Subscription - Create subscription - 위에서 생성한 Topic과 연결 - Protocol == Email

Create subscription

 

이후 입력한 Email주소로 AWS에서 확인 메일이 발송되는데요, Confirm subscription 하이퍼링크를 클릭하여,
확인 해주시면 됩니다.
주의할 점은 요새 AWS를 사칭한 스팸메일로 사고가 많다고 합니다. 꼭!꼭!꼭! 메일 주소 확인하세요.

 

AWS에서 발송되는 SNS subscription 확인 메일


SNS Topic과 Topic에 Email까지 연결을 완료했으니, 이제는 이벤트 패턴을 만들어 Health Events가 발생될 때,
SNS를 호출하도록 설정하겠습니다.

 

  • AWS Web Console - CloudWatch - Rules - Create rule - Event pattern - Event by service - Health -
    Specific Health Events - Any service - Any resouce - Targets에 위에서 생성한 SNS Topic 연결

Create Rule

이 후, Rule의 Name과 Description 을 입력 하시고 Enable 체크박스를 체크하여 생성하시면 완성입니다.


ap-northeast-2(서울), us-east-1(버지니아 북부)에 각각 리소스가 있는 경우 두 Region에 모두 SNS와

CloudWatch Event를 생성해주셔야, 특정 리전에 Health Event가 발생 했을 때 알림을 받아보실 수 있습니다.

위에서 생성한 Resource들은 모두 ap-northeast-2(서울) Region의 Resource이기 때문에, us-east-1에서 발생하는

Notification은 Email로 전달되지 않습니다.

 

또한, 이러한 Events는 항상 제공된다는 보장이 있지는 않습니다.

AWS : 응 우리 보장은 못해.. 대신 최선을 다할게..

그렇기 때문에 알림 설정 이전에 고가용성 유지와 백업, 장애대응 체계 확립 및 주기적인 모니터링은 필수입니다..!!

 

그럼 이만 포스팅 마치겠습니다.

 

궁금하신 점은 언제든 댓글 달아주세요.

 

감사합니다.