잡동사니
카카오 판교 데이터센터 화재 장애회고 후기 (22-10-15) 본문
안녕하세요. yeTi입니다.
오늘은 지난 2022년 10월 15일
에 판교 데이터센터의 화재를 시작으로 카카오의 서비스들이 장애
가 발생한것에 대한 회고를 보고 느낀점을 공유해보려고 합니다.
사고 발생
2022년 10월 15일 오후 3시 19분경 SK C&C 판교 DC(Data Center) 화재 사로고 인해 카카오의 3.2만대의 서버가 작동 불능 상태가 되었다고 합니다. (3.2만대는 카카오 전체 서버의 1/3의 규모)
이후 10월 20일 오후 11시가 되어서야 카카오의 모든 서비스가 복구되었습니다.
자세한 경위는 다음과 같습니다.
- 10월 15일 15시 19분경 데이터 센터의 화재에 따른 카카오 서버 전체의 전원 공급 차단
1-1. UPS의 배터리에서 스파크가 일어나 화재 발생
1-2. 자동소화 설비 작동했으나 화재진화 실패
1-3. 소방관의 진화 참여 및 물을 사용하지 않는 방식으로 2차 진화를 시도하였으나 실패
1-4. 최종적으로 10월 15일 16시 58분 건물 전원 차단 후 물을 사용하는 방식으로 진화 시작 - 10월 15일 23시 45분경 화재 진화 완료
- 10월 16일 1시 41분경 전력 공급 일부 재개
- 10월 19월 5시경 데이터 센터 전체 상면 전원 공급 시작
원인 분석
데이터 센터간 이중화의 미흡
- 캐시 서버, 오브젝트 스토리지 (카카오 로그인, 카카오톡 사진전송 시스템), 데이터 센터 이상시 다른 데이터 센터로 전환해주는 시스템
운영 관리 도구
- Github
- CI/CD
- 넥서스 레포지토리
모니터링 시스템의 이중화 부재
판교 데이터 센터의 트래픽에 대한 다른 데이터 센터의 가용자원의 부족
사내 커뮤니케이션의 혼선
- 카카오톡와 카카오 워크의 사용으로 사내 서비스 장애시 커뮤니케이션 채널이 무력화됨
장애 대응을 위한 컨트롤 타워의 부재
현장 조치를 위한 설정 정보 유실
- 서버 이동 및 재설치에 필요한 환경 구성 정보
재발방지 대책
데이터 센터 측면
- 모니터링 시스템 다중화
- 메인 백본 센터 확장 (현재 두곳 -> 세곳)
- 데이터 센터간 삼중화를 위한 별도 전용망 구성
데이터 측면
- 다중 복제 구조 구성 (데이터 센터 세곳을 활용한 HA 구성)
- 장애조치 즉각 실시 환경 구축
운영관리 도구 측면
- 사내 계정 인증 서비스 이중화
- 소스 관리/앱 배포 도구 이중화
- 협업 도구 (위키, 지라, ... ) 이중화
플랫폼 측면
- 데이터 센터 단위 삼중화로 전면 장애 대비 (엘라스틱서치, 레디스, 카프카)
- 각 도구의 목적, 영향도 및 중요도 파악 프로세스 도입
카카오 클라우드 측면
- 메타정보 저장소, 보안 키 저장소, 오브젝트 스토리지, 클러스터 모니터링 도구 들의 데이터 센터 단위 삼중화
서비스 측면
- 서비스간 의존성 최소화
- 페일오버 구성 문제점 개선
- 장애대응 시나리오 재검토
- 서버 구성정보, 배포설정 이중화
데이터 센터의 화재 대응 측면
- 전력 이중화
- 냉방 이중화
- 통신 이중화
- UPS실과 배터리실 분리
- 삼중 진화 대책
느낀점
2022년 카카오 개발자 컨퍼런스를 본후 대표적인 키워드를 선택한다면 다음 문장이라고 생각합니다.
전체 시스템의 이중화 수준은 가장 약한 시스템의 이중화 수준을 따라간다.
대부분의 주요 서비스들은 이중화가 잘 되어있지만 그 외의 신경을 쓰지 않는 서비스들의 이중화에 소홀히 했던 부분들이 이번 장애의 원인이었다고 느껴졌습니다.
그러면서 특정 서버의 이중화는 어려운 문제는 아니지만 서비스의 이중화
및 지속가능한 서비스
를 만들어가는 것은 굉장히 디테일을 요구한다고 느꼈던 시간이었습니다.
그러면서 지속가능한 서비스를 만들기 위해서는 이상만으로 되는 것이 아니고 현실적으로 비용이 들어가는 부분이라, 모든 서비스가 지속가능한 서비스를 만들기 위해 최고의 수준을 지향하기 보다는 현실에 맞게 적절히 설정하여 유효한 범위에서 구성하는것이 좋지 않을까?
라는 생각도 했습니다.
아무튼 카카오의 장기간 서비스 장애는 아쉽지만 이번 장애에 대한 활발한 리뷰가 IT 생태계에 유의미한 자료를 남기는 초석이 되었으면 하는 바람입니다.
깨알지식
서버의 메모리는 0.02초의 순간 정전까지는 영향을 받지 않는다.
관련 자료
'IT' 카테고리의 다른 글
개발자로써 오픈소스를 사용한다는 의미 (0) | 2022.12.20 |
---|---|
개발자로써 시야, 통찰 그리고 업(業) (2) | 2022.12.19 |
좋은 설계하기 (feat. 의사소통) (0) | 2022.10.25 |
개발자 스킬 UP 목표 설정하기 (0) | 2022.07.12 |
인증 서비스에 필요한 암복호화 지식 (0) | 2022.03.17 |