IL-0375 MongoDB · 2024-06-03database
MongoDB Atlas 컨트롤 플레인이 느려져 모든 상용 리전에서 클러스터 변경과 알림이 몇 시간씩 늦었다
2024년 6월 3일 18:24 UTC 부터 6월 4일 1:21 UTC 까지 모든 상용 리전의 MongoDB Atlas 고객이 여러 기능 저하를 겪었다. MongoDB 는 Atlas 내부 유지보수로 컨트롤 플레인을 받치는 내부 워크플로 관리 시스템의 메타데이터를 옮기는 계획된 마이그레이션을 하고 있었다. 트래픽을 대상 데이터베이스 클러스터로 돌리자 그 클러스터에 예상하지 못한 자원 혼잡이 생겼다. 이 문제는 프로덕션 전 시험에서는 나타나지 않았다. 이 혼잡 때문에 API 호출과 자동 트리거로 낸 클러스터 설정 변경이 몇 분에서 몇 시간 늦게 실행됐고, 알림 처리도 늦었다. 세밀한 단위의 클러스터 지표와 Data Explorer, Real-Time Performance Panel 이 몇 시간 동안 제대로 동작하지 않았다. 롤백에는 원본과 대상 데이터베이스의 데이터를 맞추는 복잡한 조정 작업이 필요해 복구가 늦어졌다. 21:31 UTC 에 근본 원인을 찾아 복구 절차를 시작했고, 6월 4일 00:09 UTC 에 복구 절차를 마쳤다.
- 심각도
- –
- 영향 범위
- Atlas cluster configuration changes from the API and automated triggers, alert processing and integrations, lower-granularity cluster metrics, Data Explorer, Real-Time Performance Panel and daily cost tabulation
- 영향 사용자
- MongoDB Atlas customers
- 지역
- All commercial regions
- 감지까지
- –
- 복구까지
- 6h 57m
증상
MongoDB Atlas 의 모든 상용 리전에서 클러스터 설정 변경이 몇 분에서 몇 시간까지 늦게 실행됐다. 상태 페이지는 2024년 6월 3일 18:45 UTC 에 모든 클라우드 제공자에서 모든 클러스터 업데이트가 늦어지는 문제를 조사한다고 알렸다.
API 호출로 낸 변경뿐 아니라 자동 확장, 노드 교체 같은 자동 트리거도 늦었다. 알림 처리도 비슷하게 늦어 Atlas 내장 알림과 Datadog, PagerDuty 연동이 영향을 받았다.
Data Explorer 는 늦거나 응답하지 않았고, Real-Time Performance Panel 의 일부 작업이 동작하지 않았다. 최근 시간대의 세밀한 단위의 클러스터 지표를 볼 수 없었고, 이 지표는 6월 4일 1:56 UTC 까지 돌아오지 않았다. 6월 3일 컴퓨트, 스토리지, 데이터 전송의 일일 비용 집계 일부는 6월 6일이나 7일로 미뤄졌다.
21:31 UTC 에 근본 원인을 찾아 복구 절차를 시작했다. 22:11 UTC 에 Data Explorer 와 Real Time Performance Panel 은 정상으로 돌아왔지만 클러스터 작업은 여전히 늦었다. 23:07 UTC 공지는 18:45 UTC 에서 21:55 UTC 사이에 낸 클러스터 작업이 계속 늦거나 뒤따르는 변경을 늦출 수 있다고 했다. 6월 4일 00:09 UTC 에 복구 절차가 끝났다.
원인
- 촉발
- Atlas 컨트롤 플레인을 받치는 내부 워크플로 관리 시스템의 메타데이터를 옮기는 계획된 마이그레이션에서 트래픽을 대상 데이터베이스 클러스터로 돌렸다.
감지
–
조치
- 마이그레이션을 롤백하면서 원본과 대상 데이터베이스의 데이터를 맞추는 복잡한 조정 작업을 했다.
- 6월 4일 00:09 UTC 에 복구 절차를 마치고 상태를 가까이 지켜봤다.
후속 조치
- 앞으로의 유지보수에 쓸 새 메타데이터 마이그레이션 전략을 설계한다. 이 절차는 문제 가능성을 알아챈 뒤 15분 안에 롤백할 수 있게 한다.
- 이 절차를 구현하고 충분히 시험하기 전에는 비슷한 유지보수를 하지 않는다.
교훈
–
출처
- https://status.mongodb.com/incidents/ds8dq4vkp6f9 · official-status · 보관본
관련 사례
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0288CDN77 의 ClickHouse 데이터 파이프라인에서 이중화된 인스턴스 세 곳의 ZooKeeperWait 가 수천 초로 치솟아 복제가 한 시간 넘게 느려졌다CDN77 · 2026같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0305Intercom 의 PlanetScale 샤드 하나에서 복제본이 CPU 100% 로 주 데이터베이스를 따라가지 못해 받은편지함에 최대 2.2시간 전의 데이터가 보였다Intercom · 2026같은 원인 · 공통 데이터베이스
IL-0390PostHog US Cloud 의 Persons Postgres 데이터베이스 쓰기가 크게 느려져 이벤트와 persons 수집이 최대 2일 지연됐다PostHog · 2025같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0287Atlas 와 Cloud Manager 의 모니터링을 받치는 내부 데이터베이스 클러스터의 샤드 하나가 과부하되어 지표 수집과 클러스터 작업이 늦어졌다MongoDB · 2025같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0298Wikimedia sessionstore 의 Cassandra 노드가 디스크가 가득 차 잇따라 죽고 쿼럼을 잃어 편집이 실패했다Wikimedia Foundation · 2025같은 원인 · 공통 데이터베이스
IL-0312max_connections 를 올리려고 재시작한 주 PostgreSQL 데이터베이스가 다시 올라오지 않아 Gadget 의 모든 앱 요청이 멈췄다Gadget · 2024같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0110Grafana Agent 파드가 메모리를 많이 쓰던 노드에 Hangfire 파드가 함께 올라가 시스템 OOM 으로 CrashLoopBackOff 를 반복했고, 노드가 응답을 멈추고 NotReady 가 됐다.DFDS · 2024같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0202갑자기 몰린 쿼리와 데이터베이스 쓰기로 Honeycomb 수집 호스트가 메모리 부족으로 죽었고, 쿠버네티스 CrashLoopBackOff 가 용량 회복을 막아 US1 이벤트 수집이 한 시간 넘게 불안정했다Honeycomb · 2023 · sev1같은 원인 · 공통 데이터베이스
IL-0386Google Cloud 로 옮긴 뒤 GKE 노드에서 Postgres 연결 타임아웃과 memcached i/o timeout 이 간헐적으로 튀었다incident.io · 2023같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0206GKE 파드 안의 Consul 에이전트가 메모리 급증으로 거듭 OOM kill 되어 Rails 파드가 데이터베이스 복제본을 찾지 못했고, 모든 쿼리가 primary 로 몰려 GitLab.com 이 느려졌다.GitLab · 2022같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0496전역 복제 Cassandra 클러스터에서 모든 리전의 인스턴스 CPU 가 100% 로 치솟아 쿼리가 타임아웃됐고, 같은 부하가 이틀 저녁 더 찾아왔다Ably · 2020같은 원인 · 공통 데이터베이스
IL-0443Aurora MySQL reader 가 이유 없이 재시작한 뒤 writer 의 insert latency 가 7배쯤 오르고 replication lag 가 하루 넘게 이어졌다Repro · 2019같은 원인 · 공통 데이터베이스
IL-0037imagePullPolicy가 Always인 DaemonSet이 크래시 루프를 돌며 이미지를 계속 받아, NAT 세 대를 같이 쓰던 리전 전체가 이미지 레지스트리에서 429로 막혔다Datadog · 2019같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0211Mandrill 의 PostgreSQL 샤드 하나가 트랜잭션 ID 랩어라운드를 막으려고 쓰기를 멈춰 약 40시간 동안 메일 발송이 줄었다Mailchimp · 2019같은 원인 · 공통 데이터베이스
IL-0064CPU 를 많이 쓰는 파드가 Google Cloud 노드 하나에 몰려 노드가 커널 패닉으로 죽었고, 다시 배치된 파드가 다음 노드를 또 죽이며 웹사이트와 API 가 멈췄다.Moonlight · 2019같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0334RDS MySQL 의 bookmarks 테이블이 2TB 파일 크기 한도에 닿아 INSERT 가 실패하고 Instapaper 가 31시간 동안 멈췄다Instapaper · 2017같은 원인 · 공통 데이터베이스
IL-0333사양을 낮춘 RDS PostgreSQL 인스턴스가 피크 부하를 못 버텨 헬스 체크가 실패하고 Buildkite 대시보드가 몇 시간 동안 내려갔다Buildkite · 2016같은 원인 · 공통 데이터베이스
IL-0282US-East 리전의 DynamoDB 스토리지 서버들이 멤버십 정보를 받지 못해 스스로 요청 처리에서 빠지면서 고객 요청의 약 55% 가 실패했다Amazon Web Services · 2015같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0375
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0375/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.