배달의민족이 Amazon Aurora DB를 관리하는 핵심 모니터링 비법 공개
배달의민족은 단순한 음식 배달 앱을 넘어 AI 추천, 생필품 배송, 배달로봇 ‘딜리’까지 다양한 서비스를 운영하고 있습니다. 이 모든 플랫폼의 중심에는 대규모 트래픽을 처리하는 Amazon Aurora 데이터베이스가 있습니다. 배달의민족이 안정적인 서비스를 위해 Aurora DB를 어떻게 모니터링하고 있을까요? 실무에 도움이 될 포인트를 중심으로 정리했습니다.
Amazon Aurora와 배달의민족: 고성능 데이터베이스 선택 이유
배달의민족은 서비스의 안정성과 빠른 처리 능력을 위해 Amazon Aurora MySQL 호환 데이터베이스를 사용하고 있습니다. Aurora는 MySQL 및 PostgreSQL과 호환되며, 기존 대비 처리량과 안정성을 한층 높여줍니다. 기존 환경에서 쓰던 애플리케이션과 거의 변경 없이 DB를 마이그레이션할 수 있고, 자동화된 클러스터링과 복제 기능 덕에 대용량 데이터 트래픽에도 문제없이 대응할 수 있습니다.
효과적인 데이터베이스 모니터링의 3대 축
안정적인 대국민 서비스를 위해서는 DB 모니터링이 필수적입니다. 배달의민족은 데이터베이스 감시를 아래 세 가지 축으로 철저하게 관리합니다.
로그: 서비스 및 운영 현황을 파악할 수 있는 로그를 수집하고 분석해 의미 있는 정보를 도출합니다.
알람: 장애나 이상 상황 발생 시 즉각 담당자와 개발팀에 통보해 신속 대응이 가능합니다.
메트릭 대시보드: 시스템 성능을 수시로 시각화해서 문제 발생 가능성을 사전에 점검하고, 장애 발생 시 원인 추적에 활용합니다.
CloudWatch 메트릭으로 알람 체계를 구축하는 방법
AWS CloudWatch는 Aurora 인스턴스별 상세 메트릭을 제공합니다. 배달의민족은 임계치 초과 시 알람을 자동으로 발생시켜, ‘워닝’과 ‘크리티컬’로 대응 채널을 명확히 구분합니다.
워닝 알람: 데이터베이스 엔지니어가 우선 대응, 필요시 개발팀과 협업
크리티컬 알람: 즉시 개발팀과 연계해 적극적으로 이슈 해결
주요 모니터링 항목에는 CPU 사용률, DML/Select/Commit 지연 시간, Buffer Cache hit Ratio, Blocked Transactions, Rollback Segment 등이 포함됩니다. 예를 들어, Rollback Segment history length를 통해 오래 실행되는 쿼리를 실시간 파악하고, 서비스 장애 예방에 활용하고 있습니다.
Performance Insight로 쿼리 단위 상세 분석
AWS Performance Insight는 Aurora의 성능을 SQL/호스트/데이터베이스/대기 항목별로 깊이 분석할 수 있는 도구입니다. 문제를 유발하는 Top Query, 대기 유형을 확인하고, 병목 현상이나 성능 저하의 원인을 명확하게 진단할 수 있습니다.
최근에는 DevOps Guru가 추가되어, ML 기반으로 데이터베이스의 성능 문제를 자동 감지·분석해 수분 내로 병목현상을 파악할 수 있습니다. 배달의민족 역시 기본적으로 Performance Insight를 활성화하여 실시간 모니터링에 활용합니다.
MySQL Exporter와 Grafana로 모니터링 고도화
배달의민족은 AWS의 기본 모니터링 툴 외에 자체적으로 MySQL Exporter를 활용해 DB 상태 정보를 세밀하게 수집합니다. 수집된 데이터는 Prometheus와 Grafana 등 오픈소스 툴과 연계해 추가적인 메트릭 시스템을 구축했습니다.
MySQL Exporter는 Aurora 버전, 롱 트랜잭션 갯수/계정·호스트별 정보, DB 전체 사이즈 등 주요 현황을 실시간 파악할 수 있게 해줍니다. 이를 통해 트래픽 변화나 쿼리 지연 등 잠재적 이슈를 미리 확인할 수 있습니다.
CloudWatch Logs와 Loki 를 활용한 실시간 알람 시스템
배달의민족은 CloudWatch 로그를 Grafana Loki로 연동하여, 30초 초과 Slow Query, Signal 6, Deadlock, 복제 오류 등 4가지 주요 이벤트에 대한 알람을 자동으로 발생시킵니다. 담당자는 실시간으로 로그를 확인하고, 즉각적으로 장애 대처에 나설 수 있습니다.
Slow Query 통계 자동화로 장애 실시간 분석
대규모 서비스 장애 상당수는 느린 쿼리에서 비롯됩니다. 배달의민족은 Slow Query 로그를 집계·시각화하여, 쿼리별 수행 인스턴스, 실행 계정, 시간별 쌓임 현황 등을 즉시 파악할 수 있도록 체계화했습니다. 장애 발생 시 즉각 근본 원인 분석과 조치가 가능해졌습니다.
마무리하며
배달의민족은 Amazon Aurora와 다양한 모니터링 도구를 결합해 매일 수백만 명이 사용하는 서비스를 안정적으로 운영하고 있습니다. 로그, 알람, 대시보드의 조화로운 관리가 실무에서 얼마나 큰 차이를 만드는지 실감할 수 있습니다. 만약 여러분의 서비스도 대규모 트래픽과 장애 위험에 노출되어 있다면, 배달의민족처럼 체계적인 모니터링 전략을 세워 꼭 실행해 보시기 바랍니다. 데이터베이스의 작은 지표 하나가 사용자 경험 전체를 좌우할 수 있음을 잊지 마세요.