쿠키런: 킹덤, AWS AZ 장애를 딛고 일어서다!
by DD
3년 전
조회수 2
AWS 도쿄 리전 데이터센터 냉각 시스템 고장으로 CockroachDB 노드 장애 발생
CockroachDB의 분산 아키텍처에도 불구하고 데이터 손실 위험 직면
멀티 AZ 전략 부재로 인한 문제점을 인지하고, Locality 설정을 통해 개선
CockroachDB 아키텍처와 장애 대응
CockroachDB는 Raft 알고리즘을 기반으로 분산 데이터베이스를 구축하여, 일부 노드 장애에도 데이터 가용성을 유지한다. 구체적으로, 3중 레플리카를 구성하여 데이터 손실을 방지한다. 따라서 AZ 장애와 같은 상황에서도 데이터 복구를 시도할 수 있었다.
AZ 장애 대비: Locality 설정의 중요성
쿠키런: 킹덤은 Kubernetes 환경에서 CockroachDB를 운영하며, Multi-AZ 배포를 위한 Locality 설정을 간과했다. 반면, Locality 설정을 통해 Region 장애 발생 시에도 데이터 유실을 방지할 수 있다. 결과적으로, AZ 장애 발생 시 데이터 복구에 어려움을 겪었다.
흑마법(?) 명령어와 데이터 복구 과정
장애 발생 후, 데브시스터즈는 CockroachDB의 debug unsafe-remove-dead-replicas 명령어를 활용하여 데이터 복구를 시도했다. 구체적으로, Quorum이 깨진 레플리카에서 데이터를 복구하는 데 성공했다. 따라서, 데이터 유실 최소화 및 서비스 안정성 확보라는 결과를 얻었다.
댓글 0
첫 번째 댓글을 남겨보세요!