AWS Health 알림, 왜 이렇게 시끄러운 걸까?

AWS에서 프로덕션 서비스를 운영하다 보면, 인프라에 문제가 생겼을 때 가장 먼저 확인하는 것이 AWS Health Dashboard입니다. 그런데 문제는 알림이 너무 많이 온다는 거예요. 서비스 장애, 점검, 계정 알림, 지원 중단 공지까지 모든 이벤트가 하나의 채널로 흘러들어옵니다.

여기서 발생하는 딜레마가 있습니다.

  • 모든 알림을 중요한 것처럼 취급하면, 알림이 너무 많아서 정작 중요한 이벤트를 놓칠 수 있어요.
  • 알림을 대충 무시하다간, 치명적인 장애나 지원 중단과 같은 중요한 소식을 놓칠 위험이 있습니다.

결국엔 알림을 제대로 '분류'하는 것이 핵심입니다. 이 글에서는 AWS User Notifications를 활용해 알림을 우선순위에 따라 분리하고, 조직에 필요한 서비스의 이벤트만 골라서 받아보는 방법을 단계별로 소개합니다. 마지막에는 전체 과정을 자동화하는 CloudFormation 템플릿까지 제공하니, 바로 실무에 적용해 보세요.

AWS Cloud architecture diagram showing health event flow through User Notifications to email System Abstract Visual

해결책: '필터링 후 우선순위 분리' 2단계 전략

제안하는 구조는 아주 단순합니다. 1) 필터링을 통해 중요한 서비스의 이벤트만 남기고, 2) 우선순위에 따라 알림을 분리하는 것입니다.

1단계: 알림 필터링 (Filtering)

AWS Health에서 발생하는 모든 이벤트를 받아들이지 않고, 조직이 의존하는 서비스(예: Amazon RDS, AWS Direct Connect)의 이벤트만 매칭하도록 규칙을 만듭니다. 이렇게 하면 관련 없는 서비스의 알림으로 인한 노이즈를 처음부터 차단할 수 있습니다.

2단계: 우선순위 분리 (Priority Separation)

필터링된 이벤트는 다시 두 가지 등급으로 나뉩니다.

  • CRITICAL (중요): 서비스 장애(issue)나 예정된 점검(scheduledChange)과 같이 즉시 대응이 필요한 이벤트. 이메일로 즉시 단독 발송됩니다.
  • INFORMATIONAL (정보): 계정 알림(accountNotification) 등 참고용 이벤트. 5분 동안 모아서 요약본으로 발송됩니다.

이렇게 하면 이메일이 왔을 때, 단독 이메일이면 '지금 당장 확인해야 할 일'이고, 묶음 이메일이면 '나중에 확인해도 되는 공지'라는 것을 바로 알 수 있습니다.

CloudFormation 템플릿으로 한 번에 배포하기

이 모든 과정을 하나의 CloudFormation 템플릿으로 만들었습니다. 템플릿을 배포하면 다음 리소스들이 자동으로 생성됩니다.

  • 모니터링 대상 서비스 지정: 기본적으로 Direct Connect, Connect Customer, RDS가 포함되며, 파라미터를 수정해 원하는 서비스를 추가할 수 있습니다.
  • 두 개의 알림 설정: CRITICAL 이벤트용과 INFORMATIONAL 이벤트용 알림 설정이 자동으로 만들어집니다.
  • 이메일 전송 채널 연결: 배포 시 입력한 이메일 주소가 알림 설정에 자동으로 연결됩니다.

참고: AWS 공식 블로그에서 제공하는 CloudFormation 템플릿과 상세 가이드를 통해 더 자세한 내용을 확인할 수 있습니다.

배포 모드 (Deployment Mode)

템플릿은 배포 범위에 따라 4가지 모드를 지원합니다.

모드적용 범위제공 기능
Linked (기본)단일 계정이메일 연락처, User Notifications 이벤트 규칙 및 채널 연결
Payer전체 조직 또는 OULinked 기능 + 조직 단위 연결
Combined단일 계정Linked 기능 + EventBridge 규칙 및 SNS 사용자 지정 이메일
PayerCombined전체 조직 또는 OUPayer 기능 + EventBridge 규칙 및 SNS 사용자 지정 이메일

나만의 알림 환경 구성하기

CloudFormation 템플릿을 배포한 뒤, 다음 명령어로 알림 설정이 제대로 생성됐는지 확인할 수 있습니다.

# 알림 설정 목록 확인
aws notifications list-notification-configurations --region <리전>

# 특정 알림 설정 상세 정보 확인
aws notifications get-notification-configuration --configuration-arn <설정 ARN>

get-notification-configuration 명령어를 실행하면 aggregationDuration 값이 NONE (CRITICAL) 또는 SHORT (INFORMATIONAL)으로 표시되는 것을 확인할 수 있습니다. 이를 통해 이벤트가 즉시 발송되는지, 5분 동안 모아서 발송되는지 구분할 수 있습니다.

이벤트 발생 테스트

실제로 이벤트가 발생했을 때 알림이 잘 오는지 확인해 보세요.

  1. AWS Health Dashboard에서 모니터링 중인 서비스에 이벤트가 발생하면, CRITICAL 알림은 즉시 단독 이메일로 수신됩니다.
  2. INFORMATIONAL 알림은 5분 내에 묶음 요약 이메일로 수신됩니다.

이 패턴만 기억하면 알림을 효율적으로 관리할 수 있습니다.

CloudFormation stack deployment console showing CREATE_COMPLETE status Technical Structure Concept

더 알아두면 좋은 점들 (고려사항 및 주의사항)

이 솔루션은 의도적으로 '가볍게' 설계되었지만, 몇 가지 트레이드오프가 있습니다.

  • 이메일 형식 커스터마이징 불가: AWS User Notifications가 생성하는 이메일 본문과 제목은 변경할 수 없습니다. 이메일 본문에 [CRITICAL] 같은 텍스트를 넣고 싶다면, Combined 모드를 사용해 EventBridge와 SNS 계층을 추가해야 합니다. 이 경우 이메일 본문에 [CRITICAL] 또는 [INFORMATIONAL] 접두사가 붙습니다.
  • 중복 제거 기능 없음: AWS Health 이벤트는 '생성 -> 업데이트 -> 해결'의 라이프사이클을 가지며, 각 단계마다 알림이 발송됩니다. 하나의 장애에 대해 2~4개의 이메일을 받을 수 있습니다. 엄격한 중복 제거가 필요하다면, AWS Health Aware(AHA)와 같은 도구를 추가로 고려해야 합니다.
  • 에스컬레이션 및 승인 기능 없음: 알림을 보내는 것에 집중하며, 누군가 알림을 확인했는지 추적하지 않습니다. 온콜(On-Call) 라우팅이나 에스컬레이션이 필요하다면 PagerDuty나 OpsGenie와 같은 도구와 연동하는 것을 권장합니다.
  • 히스토리 저장 기능 없음: 알림은 실시간으로 전달되지만, 나중에 분석할 수 있도록 저장되지는 않습니다. 사후 분석(Post-incident review)이 필요하다면, HEIDI 또는 CID와 같은 대시보드 도구를 함께 사용하는 것이 좋습니다.

한국 개발 생태계에서의 적용 맥락

국내 기업들은 AWS를 사용하더라도 사내 메신저(예: Slack, Microsoft Teams)에 알림을 연동하는 경우가 많습니다. 이 솔루션은 AWS Chatbot을 통해 Slack이나 Teams와 쉽게 연동할 수 있습니다. 또한, 조직의 규모가 크지 않다면 단일 계정에 배포하는 Linked 모드로 시작하여, 인프라가 성장함에 따라 Payer 모드로 전환하는 것을 권장합니다.

이 기술의 한계 또는 주의사항

CloudFormation 템플릿을 삭제하더라도, DeletionPolicy: Retain 옵션으로 인해 알림 설정, 이벤트 규칙, 이메일 연락처 등은 삭제되지 않고 남아있습니다. 스택 삭제 후에는 AWS User Notifications 콘솔에서 리소스를 수동으로 정리해야 합니다.

Developer configuring AWS User Notifications rules for critical and informational alerts IT Technology Image

결론: 이제 알림을 더 똑똑하게 관리하세요

이번 글에서는 AWS Health 알림을 우선순위에 따라 효과적으로 관리하는 방법을 살펴봤습니다. 제안된 솔루션은 별도의 코드나 서버 없이 AWS 네이티브 서비스만으로 구성되며, CloudFormation 템플릿 하나만 배포하면 즉시 사용할 수 있습니다.

이 솔루션은 단순한 알림 도구 그 이상입니다.

  • 단독 이메일은 '지금 당장 확인해야 할 일'
  • 묶음 이메일은 '나중에 확인해도 되는 공지'

이 두 가지 패턴을 구분하는 것만으로도 운영 효율성이 크게 향상될 것입니다.

다음 단계 학습 방향

  • AWS Chatbot 연동: Slack이나 Microsoft Teams로 알림을 보내고 싶다면, AWS Chatbot을 설정해 보세요.
  • PagerDuty 연동: 장애 에스컬레이션 및 온콜 관리가 필요하다면, SNS 주제를 PagerDuty에 연결하는 방법을 학습해 보세요.
  • AHA (AWS Health Aware) 도입: 더 복잡한 알림 라우팅 및 중복 제거 기능이 필요하다면, AHA 프레임워크를 연구해 보세요.

함께 보면 좋은 글

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.