Skip to content

Latest commit

 

History

History
71 lines (38 loc) · 2.8 KB

AWS의 APIGateway-Lambda를 통해 Slack으로 알림 보내기.md

File metadata and controls

71 lines (38 loc) · 2.8 KB

AWS의 APIGateway-Lambda를 통해 Slack으로 알림 보내기

이걸 왜?

  • Server의 물리적 상황은 AWS에서 감지 가능하지만, Application 수준에서의 이상 상황은 AWS에서 감지 불가(최근 새로 나온 L7 로드 밸런서인 Application LoadBalancer로는 감지 가능)
  • 따라서 Application 수준에서의 이상 상황을 감지하는 로직을 만들고, 그 로직에서 AWS의 APIGateway-Lambda를 통해 Slack으로 알림을 발송하는 기능은 의미가 있다.

큰 흐름

  1. AWS에서 날라온 알림 메시지를 Slack이 받을 수 있도록 Slack에 Incoming WebHook을 만든다.
  2. Application에서의 이상 상황 발생 시 요청을 보낼 대상인 API Gateway를 만든다.
  3. Slack의 WebHook으로 메시지를 보내는 Lambda를 만든다.
  4. API Gateway의 특정 endpoint에 앞에서 만든 Lambda를 연동한다.

Slack WebHook 생성

api.slack.com/incoming-webhooks 에서 Slack에 메시지를 보낼 수 있는, Slack 입장에서는 메시지를 받을 수 있는 Incoming webhooks를 생성한다.

대략 아래와 같은 설정을 통해 쉽게 만들 수 있으며, 사실 결국 중요한 것은 WebHook URL 이다.

  1. Slack Incoming WebHook 페이지 접속   Imgur
  2. Add Incoming WebHook   Imgur
  3. 중요한 건 나중에 AWS Lambda가 수신자 주소로 사용할 이 WebHook URL. 자동으로 생성된다.   Imgur
  4. 기타 여러가지 설정 사항이 있다.    Imgur
  5. Save settings를 눌러서 Incoming WebHook 생성(정확하게는 2번 단계에서 생성이 되고 3번 이하는 수정이다.)    Imgur

API Gateway 생성

IAM Role 생성

먼저 API Gateway를 사용할 수 있는 IAM Role을 생성한다.

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

API Gateway 생성


크리에이티브 커먼즈 라이선스

HomoEfficio가 작성한 이 저작물은

크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

Lambda 생성

API Gateway - Lambda 연동