AWS Health 알림, 왜 이렇게 시끄러운 걸까?
AWS에서 프로덕션 서비스를 운영하다 보면, 인프라에 문제가 생겼을 때 가장 먼저 확인하는 것이 AWS Health Dashboard입니다. 그런데 문제는 알림이 너무 많이 온다는 거예요. 서비스 장애, 점검, 계정 알림, 지원 중단 공지까지 모든 이벤트가 하나의 채널로 흘러들어옵니다.
여기서 발생하는 딜레마가 있습니다.
- 모든 알림을 중요한 것처럼 취급하면, 알림이 너무 많아서 정작 중요한 이벤트를 놓칠 수 있어요.
- 알림을 대충 무시하다간, 치명적인 장애나 지원 중단과 같은 중요한 소식을 놓칠 위험이 있습니다.
결국엔 알림을 제대로 '분류'하는 것이 핵심입니다. 이 글에서는 AWS User Notifications를 활용해 알림을 우선순위에 따라 분리하고, 조직에 필요한 서비스의 이벤트만 골라서 받아보는 방법을 단계별로 소개합니다. 마지막에는 전체 과정을 자동화하는 CloudFormation 템플릿까지 제공하니, 바로 실무에 적용해 보세요.

해결책: '필터링 후 우선순위 분리' 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 | 전체 조직 또는 OU | Linked 기능 + 조직 단위 연결 |
| Combined | 단일 계정 | Linked 기능 + EventBridge 규칙 및 SNS 사용자 지정 이메일 |
| PayerCombined | 전체 조직 또는 OU | Payer 기능 + 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분 동안 모아서 발송되는지 구분할 수 있습니다.
이벤트 발생 테스트
실제로 이벤트가 발생했을 때 알림이 잘 오는지 확인해 보세요.
- AWS Health Dashboard에서 모니터링 중인 서비스에 이벤트가 발생하면, CRITICAL 알림은 즉시 단독 이메일로 수신됩니다.
- INFORMATIONAL 알림은 5분 내에 묶음 요약 이메일로 수신됩니다.
이 패턴만 기억하면 알림을 효율적으로 관리할 수 있습니다.

더 알아두면 좋은 점들 (고려사항 및 주의사항)
이 솔루션은 의도적으로 '가볍게' 설계되었지만, 몇 가지 트레이드오프가 있습니다.
- 이메일 형식 커스터마이징 불가: 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 콘솔에서 리소스를 수동으로 정리해야 합니다.

결론: 이제 알림을 더 똑똑하게 관리하세요
이번 글에서는 AWS Health 알림을 우선순위에 따라 효과적으로 관리하는 방법을 살펴봤습니다. 제안된 솔루션은 별도의 코드나 서버 없이 AWS 네이티브 서비스만으로 구성되며, CloudFormation 템플릿 하나만 배포하면 즉시 사용할 수 있습니다.
이 솔루션은 단순한 알림 도구 그 이상입니다.
- 단독 이메일은 '지금 당장 확인해야 할 일'
- 묶음 이메일은 '나중에 확인해도 되는 공지'
이 두 가지 패턴을 구분하는 것만으로도 운영 효율성이 크게 향상될 것입니다.
다음 단계 학습 방향
- AWS Chatbot 연동: Slack이나 Microsoft Teams로 알림을 보내고 싶다면, AWS Chatbot을 설정해 보세요.
- PagerDuty 연동: 장애 에스컬레이션 및 온콜 관리가 필요하다면, SNS 주제를 PagerDuty에 연결하는 방법을 학습해 보세요.
- AHA (AWS Health Aware) 도입: 더 복잡한 알림 라우팅 및 중복 제거 기능이 필요하다면, AHA 프레임워크를 연구해 보세요.