Cloudwatch 이상 지표를 슬랙 알람으로 받기
DevOps

Cloudwatch 이상 지표를 슬랙 알람으로 받기

이 글에서는 Cloudwatch 이상 지표를 슬랙 알림으로 받는 것을 설정하면서 얻었던 팁 및 주의점을 작성하기 위한 포스팅이므로, 실제 연동하는 방법은 jojoldu님의 블로그 링크로 대체한다. (jojoldu 님의 블로그에 매우 자세히 나와있다.) 블로그 링크는 글 하단 레퍼런스에 작성해두었다.

 

jojoldu님의 블로그를 읽으면서 사소한 부분이나 놓칠 수 있는 부분을 주의점으로 남겨놓았기에 글 맨 아래 레퍼런스를 읽기 전 미리 확인하고 가면 도움이 될 것이라고 생각한다.

 

Cloudwatch 이상 지표를 슬랙 알림으로 전송 시 주의할 점

  • Lambda 권한이 있거나, IAM 권한이 있는 경우에만 가능하다.
    • 이 권한이 없으면 EMAIL 알림만 가능하다. (SNS를 표준으로 생성하여)
    • 권한이 없다면 개인 계정으로 테스트해보는 것도 좋다.
  • Lambda 생성 시 실행 역할은 대표적으로 CloudwatchFullAccess, AmazonSNSFullAccess 을 포함한다면 가능하다.
    •  AWSLambdaBasicExecutionRole이 위 두 권한에 포함되어있다.
    • 직접 Lambda 실행 역할을 설정할 수 있다면, 기본 람다 권한을 가진 새 역할 생성을 통해 역할을 설정하자
  • 하나의 SNS에 여러 경보를 등록할 수 있으니, SNS명은 신중히 작성하자.
    • SNS명은 변경 불가능하다. 
    • 예를 들어, DEV-조앤-SNS로 설정해둔 경우, PROD 환경도 해당 SNS와 함께 사용할 경우 어색하니깐..
    • 하지만 쓴다고 해서 문제될 건 없다.
  • 상태 알람은 jojoldu님 블로그에도 나와있지만 정상 상태와 경보 상태 모두를 트리거하자.
    • 왜? 비정상상태에서 정상으로 돌아왔음을 인지하기 위해서는 정상상태에 대한 경보도 필요하기 때문
    • 비정상 알림을 받았는데, 정상으로 다시 돌아온지 확인이 불가능하다면 무조건 AWS에 접속해서 직접 확인하는 번거로움 획득함 ㅎ
  • 경보 이름은 신중히 작성하자. 변경이 불가능하다.
  • 경보 설명은 상세하게 작성하자. 나 말고 다른 사람이 이 경보를 확인했을 때, 현재 어떤 상태이길래 경보가 왔는지에 대한 이유를 경보 설명만으로 파악할 수 있어야한다.

 

 

Slack webhook이 아직 설정되지 않은 상태라면, 아래 레퍼런스 목록에서 Slack Webhook API 생성하기 포스팅을 먼저 확인하고 Webhook을 설정한 뒤, Cloudwatch 이상 지표를 슬랙 알람으로 받기 포스팅을 보는 것을 권한다.

레퍼런스