안녕하세요 Mileage 맥썸입니다.
프로젝트를 진행하면서 팀원들과의 커뮤니케이션과 협업을 위한 "SLACK"을 이용하는경우가 있습니다.
워크스페이스와 채널로 구성된 SLACK은 Monitoring을 효과적으로 Alarm 형태로 받을 수 있으며 Alarm에 대해 대응을 즉각적으로 취할 수 있습니다.
이번 포스팅은 서버가 다운되었을 때 Slack에서 Alarm이 발생하는 환경을 구성하겠습니다.
<< Slack 계정 가입, 워크스페이스, 채널을 개설했다는 조건하에 시작하겠습니다.
1. Slack의 워크스페이스에서 Incoming WebHooks 앱 설치 후 Webhook을 생성합니다.
Channel: #notification-test
웹후크 URL를 Lambda 환경구성에 입력되어야 함으로 메모를 해둡니다.
완료가 되면 채널에 알람이 뜹니다.
2. 서버 2대, Load Balance, LB Target Group 생성
두개의 서버를 생성한 후 LoadBalance를 이용하여 부하분산 시켜줍니다.
생성한 Load Balance의 리스너: HTTP 80 TargetGroup으로 지정
3. CloudWatch 경보 생성
Target: LB TargetGroup
- 임계값 유형: 정적
- 경보 조건: 보다 작거나 같음 (<=임계값)
- 누락된 데이터 처리: 누락된 데이터를 불량 (임계값 위반)으로 처리
Test를 위해
추가 구성의 경보를 알릴 데이터 포인트: 1/1
경보 상태를 정의해줍니다.
- 정상일때
- 경보 상태일때
4. Lambda 구성
기존 코드를 사용하여 구성을 하지만 Webhook을 통해 알람을 받을 Slack 환경변수 수정과 트리거를 추가해줘야 합니다.
환경변수 Webhook 입력 필수!
실행 역할 Policy
- CloudWatchFullAccess
- AWSLabmdaBasicExecutionRole
- AWSLambdaVPCAccessExecutionRole
5. SNS 생성
구독의 엔드포인트는 Lambda를 가르킵니다.
6. TEST
템플릿 유형: Cloudatch-scheduled-event
Server 한 대를 임의로 종료 (접속하여 Stop)
[Slack 알람]
정상에서 경보상태로 변경되었을때 알람이 발생합니다.
경보상태에서 정상으로 상태를 변경하기 위해 서버를 Start하면 다시 한번 Slack으로 Alarm이 오는 것을 확인할 수 있습니다.
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
EC2 인스턴스 EBS 볼륨 확장 (0) | 2022.05.22 |
---|---|
EBS / EFS / S3 비교 (0) | 2022.05.20 |
AWS 2Tier 만들기 No.2 (RDS MySQL) (0) | 2022.05.19 |
[AWS] 인터페이스 엔드포인트 - 실습 (0) | 2022.05.18 |
Spot Instance와 Reserved Instance 비교 (0) | 2022.05.13 |
댓글