SES 일일 할당량 초과로 메일 발송 서비스 장애조치

0

문제

SES의 일일 할당량이 초과되어, 메일 발송이 안되는 이슈


원인

SES Key노출로 인하여 악의적인 유저가 해당 Key로 SES 할당량을 모두 소진


분석

Sentry 알림을 통해 Daily message quota exceeded 에러 메시지를 통한 메일 서비스 장애 인지


해결

1. AWS Console을 통해 할당량이 꽉찬 SES 리즌 확인
2. SES 발송 통계에서 특정 IP로 발송된 흔적 확인
3. 해당 IP는 사내 서비스에 대한 IP가 아니기에 봇공격은 아니라고 판단 및 Key 노출에 대한 의심
4. 서비스에 지장이 없도록 빠르게 복구하기 위해 기존 Key 삭제 후 신규 Key 발급 하여, 사용 서비스들 전부 교체 후 재배포
5. SES 할당량을 증가시켜, 서비스에 문제 없도록 조치

개선

1. Key 인증 방식 → Role 방식으로 변경
2. 단일 발송 SDK 모듈 개발하여, 모든 SES 사용 서비스 적용하여, 단일화
3. 이러한 장애에 대한 부가조치로, 여러개의 리즌을 사용하여 발송할 수 있도록 로직 변경 (할당량, 발송속도에 대한 문제 없도록 처리)

Etc

할당량 혹은 발송 속도에 대한 에러 핸들링은 해당 Git Source에서 확인 가능합니다.

profile
어제보다 오늘이 더 나은 개발자

0개의 댓글