이메일 시스템 #2] AWS SES 기반 트랜잭션 이메일부터 통계 추적
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
프론트엔드 개발자, 백엔드 개발자, DevOps 엔지니어, 이메일 시스템 구축을 고려하는 개발자
난이도: 중급 이상 (AWS, GraphQL, MongoDB, Node.js 사용 경험 필요)
핵심 요약
- AWS SES를 기반으로 트랜잭션 이메일 및 대량 발송 시스템을 구축
- GraphQL, MongoDB, Kubernetes, ArgoCD 등으로 구성된 확장 가능한 이메일 인프라 제공
- 이메일 오픈, 클릭, 재시도, 수신 거부 등 이벤트 추적을 통한 통계 분석 및 로그 관리 구현
섹션별 세부 요약
1. 시스템 개요 및 배경
- 이메일 시스템은 트랜잭션 이메일, 정기 리포트, 타겟팅 발송 등의 요구사항에 대응
- MailChimp, SendGrid 등 SaaS 서비스 대신 직접 구축 선택 (비용 절감, 커스터마이징, 추적 가능성 확보)
- AWS SES, GraphQL, MongoDB, Node.js, ArgoCD + Kubernetes, AWS SNS + CloudWatch 등으로 구성
2. 이메일 발송 플로우
- 대상자 필터링 → 워크플로우 트리거 → 배치 발송 컨트롤러 → GraphQL API → AWS SES 발송
- 이메일 이벤트 (Open, Click, Bounce)는 SNS → public_listener → MongoDB로 수집 및 저장
3. 기능 및 구현 사항
- 동적 필터링, 언어 분기 자동화, 3회 재시도 로직, 이메일 오픈/클릭 추적, 수신 거부 처리
- MongoDB에 모든 발송 이력 저장, 사용자/메시지별 발송 이력 조회 가능
- 워크플로우를 통해 1,000명 단위로 분리 후 50명 단위로 배치 발송
4. 이메일 이벤트 추적
- AWS SES는 1x1 픽셀 GIF 이미지를 통해 Open 이벤트 추적
- 12초 이내의 Open 이벤트는 필터링 처리 및 비정상 이벤트 대응 방안 고려
- Bounce 이벤트는 수신 거부 처리 및 이력 기록으로 관리
5. AWS SES 활용 및 시스템 효과
- 이벤트 추적, 통계 분석, 수신 거부 처리, 대량 발송 제어 등 통합 관리 가능
- 마케팅, 프로덕트, 운영 부서 모두 신뢰하고 관리 가능한 이메일 인프라 구축
결론
- AWS SES + GraphQL + MongoDB + Kubernetes 기반의 확장 가능하고 추적 가능한 이메일 시스템 구축 가능
- 이메일 오픈, 클릭, 재시도, 수신 거부 이벤트를 통한 통계 분석 및 로그 관리가 핵심
- 이메일 발송 플로우의 자동화 및 워크플로우 기반의 배치 발송 관리가 실무 적용에 유리함