Alert Webhook

Overview

AWS CloudWatch Alarm 을 CloudOps 로 보내려면 SNS Topic 을 생성하고, CloudOps webhook URL 을 구독(Subscription)으로 등록한 뒤, CloudWatch Alarm 의 알림 대상으로 해당 Topic 을 지정합니다.

필요 정보:

  • CloudOps webhook URL — CloudOps 콘솔에서 AWS SNS webhook source 를 등록할 때 발급되는 엔드포인트. 먼저 CloudOps 에 AWS SNS 연동하기 단계로 이 값을 확보하세요.
  • SNS Topic, Subscription, CloudWatch Alarm 을 생성할 수 있는 AWS 콘솔 권한.

설정은 아래 순서로 진행합니다.

  1. SNS Topic 생성
  2. SNS Subscription 생성 (CloudOps webhook URL 연결)
  3. CloudWatch Alarm 생성 및 SNS Topic 연결
  4. 연동 테스트

1. SNS Topic 생성

AWS 콘솔에서 SNS 서비스 이동

AWS 콘솔 에 로그인 한 뒤, 검색창에 SNS 를 입력하여 Simple Notification Service 로 이동합니다.

Topic 생성

좌측 메뉴에서 [Topics] 를 클릭한 뒤, [Create topic] 을 클릭합니다.

  • Type: Standard 선택 (FIFO 는 HTTPS 구독을 지원하지 않습니다)
  • Name: 식별 가능한 이름 입력 (예: cloudops-alarm-topic)

나머지 설정은 기본값으로 두고 [Create topic] 을 클릭합니다.

2. SNS Subscription 생성

생성한 Topic 에 CloudOps webhook URL 을 구독으로 등록합니다.

Subscription 생성

Topic 상세 페이지에서 [Create subscription] 을 클릭합니다.

구독 설정

  • Protocol: HTTPS 선택
  • Endpoint: CloudOps 에서 발급받은 Webhook URL 을 붙여넣습니다.

[Create subscription] 을 클릭합니다.

Subscription 확인 (Confirmation)

SNS 는 등록된 endpoint 로 SubscriptionConfirmation 요청을 전송합니다. CloudOps 가 자동으로 확인(Confirm)을 처리합니다.

Subscription 목록에서 StatusConfirmed 로 변경되었는지 확인하세요.

⚠️
Status 가 PendingConfirmation 상태로 유지되면 CloudOps webhook URL 이 올바른지 확인하세요. URL 이 잘못된 경우 Subscription 을 삭제하고 다시 생성합니다.

3. CloudWatch Alarm 생성

CloudWatch Alarm 이 발화할 때 위에서 생성한 SNS Topic 으로 알림을 전송하도록 설정합니다.

CloudWatch 서비스 이동

AWS 콘솔 검색창에 CloudWatch 를 입력하여 이동합니다.

Alarm 생성

좌측 메뉴에서 [Alarms > All alarms] 를 클릭한 뒤, [Create alarm] 을 클릭합니다.

메트릭 선택

[Select metric] 을 클릭하여 모니터링할 메트릭을 선택합니다.

예시:

  • EC2 > Per-Instance Metrics > CPUUtilization
  • 대상 인스턴스 선택 후 [Select metric] 클릭

조건 설정

  • Threshold type: Static
  • Whenever CPUUtilization is…: Greater than 선택
  • than…: 임계값 입력 (예: 80)

[Next] 를 클릭합니다.

알림 설정

  • Alarm state trigger: In alarm 선택
  • Select an SNS topic: Select an existing SNS topic 선택
  • Send a notification to…: 위에서 생성한 Topic (예: cloudops-alarm-topic) 선택

ℹ️
OK 상태 전환 시에도 알림을 보내려면 [Add notification] 으로 OK 트리거도 같은 Topic 에 추가하세요. CloudOps 는 이를 RECOVERY 이벤트로 처리합니다.

[Next] 를 클릭합니다.

이름 및 설명 입력

  • Alarm name: 식별 가능한 이름 입력 (예: cpu-high-alarm)
  • Alarm description: 선택

[Next][Create alarm] 을 클릭하여 완료합니다.

4. 연동 테스트

Alarm 강제 발화

생성한 Alarm 을 즉시 테스트하려면 AWS CLI 로 상태를 강제 변경합니다:

aws cloudwatch set-alarm-state \
  --alarm-name "cpu-high-alarm" \
  --state-value ALARM \
  --state-reason "CloudOps integration test"

CloudOps 측 확인

CloudOps 콘솔에서 등록한 webhook source 의 Requests (24h) 카운트가 증가하는지 확인합니다.

수신되지 않은 경우:

  • SNS Subscription 의 StatusConfirmed 인지 확인.
  • SNS Topic 의 Subscriptions 탭에서 endpoint URL 이 CloudOps 가 발급한 값과 정확히 일치하는지 확인.
  • CloudWatch Alarm 의 Actions 에 해당 SNS Topic 이 지정되어 있는지 확인.

상태 복구

테스트 후 Alarm 상태를 정상으로 복구합니다:

aws cloudwatch set-alarm-state \
  --alarm-name "cpu-high-alarm" \
  --state-value OK \
  --state-reason "Test completed"
v1.1.0