IL-0325 DigitalOcean · 2017-04-05database
주 데이터베이스가 지워져 DigitalOcean 제어판과 API 가 4시간 56분 동안 멈췄다
2017-04-05 10:24 EDT 에 DigitalOcean 은 공개 서비스가 동작하지 않는다는 알림을 받았고, 3분 안에 주 데이터베이스가 지워진 것을 알았다. 원인은 엔지니어의 설정 오류였다. 자동 테스트를 돌리는 프로세스가 운영 환경 자격 증명을 쓰도록 잘못 설정돼 있었다. 제어판과 API 는 4시간 56분 동안 쓸 수 없었다. 그동안 돌고 있던 Droplet 은 계속 동작했지만 새 Droplet 이나 다른 자원을 만들거나 관리할 수 없었다.
10:34 에 시간 지연 데이터베이스 레플리카 하나에서 복구를 시작했다. 11:53 에 그 레플리카의 백업이 끝났다. 12:34 에 백업을 마스터로 복사해 복원을 시작했고, 13:31 에 마스터 복구를 마쳤다. 레플리카로 백업을 복사하는 일은 그 뒤에도 이어졌고 15:20 에 모든 시스템이 복원됐다. 잃은 데이터는 없었다. 장애가 길어진 것은 레플리카 사이에 데이터를 복사해 활성 서버에 복원하는 데 걸린 시간 때문이었다. 그 시간은 주로 네트워크 속도가 좌우했다.
- 심각도
- –
- 영향 범위
- Control panel and API unavailable; running Droplets continued to function but no Droplets or other resources could be created or managed
- 영향 사용자
- –
- 지역
- –
- 감지까지
- –
- 복구까지
- 4h 56m
증상
2017-04-05 10:24 EDT 에 공개 서비스가 동작하지 않는다는 알림이 들어왔다. 제어판과 API 를 쓸 수 없었다. 돌고 있던 Droplet 은 계속 동작했지만, 새 Droplet 이나 다른 자원을 만들거나 관리할 수는 없었다.
첫 알림 3분 뒤인 10:27 에 마스터에서 운영 데이터베이스가 지워진 것을 확인했다.
시간 지연 레플리카에서 데이터를 백업해 마스터와 레플리카로 복사하고 복원하는 데 4시간 넘게 걸렸다. 데이터를 데이터베이스에 다시 싣는 데 걸린 시간은 네트워크 속도가 좌우했다.
증상 서비스 중단
원인
원인 설정 변경
- 촉발
- 자동 테스트를 돌리는 프로세스가 운영 환경 자격 증명을 쓰도록 잘못 설정돼 있었고, 그 결과 주 데이터베이스가 지워졌다.
감지
10:24 EDT 에 공개 서비스가 동작하지 않는다는 알림이 들어왔고, 3분 뒤 마스터의 운영 데이터베이스가 지워진 것을 확인했다.
조치
- 10:34 EDT 에 시간 지연 레플리카에서 복구를 시작했다.
- 11:53 에 시간 지연 레플리카의 백업을 마쳤다.
- 12:34 에 백업을 마스터로 복사하고 복원을 시작했다.
- 13:31 에 마스터 복구를 마쳤고 레플리카로 백업을 복사하는 일을 이어 갔다. 15:20 에 모든 시스템이 복원됐다.
후속 조치
- 같은 일이 다시 없도록 특정 작업에서 주 시스템에 접근할 수 있는 권한을 크게 줄인다.
- 데이터베이스 서버 사이의 네트워크 연결을 업그레이드한다.
- 복구 속도를 높이도록 하드웨어를 바꾼다.
- 개발자 실수를 막는 안전장치를 더 검토한다.
- 데이터 복구 절차를 개선한다.
- 고객에게 영향을 주는 장애가 날 때 실시간 정보를 더 잘 전할 방법을 찾는다.
교훈
–
출처
관련 사례
같은 원인 · 공통 데이터베이스 복제, 데이터베이스, 데이터베이스 백업과 스냅숏
IL-0392데이터센터 전환을 앞두고 원형 복제를 설정하던 중 Wikimedia x1 섹션의 eqiad·codfw 사이 MariaDB 복제가 6분 멈췄다Wikimedia Foundation · 2024같은 원인 · 공통 데이터베이스 복제, 데이터베이스
IL-0574운영 환경의 DB 접속 경로를 Amazon RDS Proxy로 바꾼 지 몇 분 만에 Aurora MySQL writer CPU가 100%에 이르고 에러가 났다Safie · 2026같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0179DEBUG 로그가 쏟아지자 동기 로깅을 하던 요청 스레드들이 가득 찬 stdout 파이프에서 멈춘 채 DB 커넥션을 쥐고 있어, HikariCP 커넥션 풀이 고갈되고 요청이 30초 주기로 한꺼번에 실패했다.MUSINSA · 2026같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
IL-0283Cloudflare 네트워크 전체에서 코어 프록시가 Bot Management 피처 파일을 읽다 실패해 사이트 방문자들이 HTTP 5xx 오류 페이지를 받았다Cloudflare · 2025같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스 복제
IL-0367Central US 의 Azure Storage 가 VM 디스크 요청을 거부해 VM 과 그 위의 SQL Database, Cosmos DB 가 멈췄다Microsoft Azure · 2024같은 원인 · 공통 데이터베이스
IL-0511Vault 가 새로 발급한 데이터베이스 자격 증명이 SCRAM 으로 만들어져 pgbouncer 가 RDS 에 로그인하지 못하고 xPro 운영 사이트가 멈췄다MIT Open Learning · 2023같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스 복제
같은 원인 · 공통 데이터베이스
같은 원인 · 공통 데이터베이스 복제
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0325
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0325/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.