최근 전 세계에서 발생한 유튜브, G메일 먹통 사고의 원인이 '사용자ID 서비스' 작동에 필요한 컴퓨팅 자원이 제대로 할당되지 않은 탓으로 밝혀졌다. 구글이 스토리지 자원할당 시스템을 새롭게 도입하는 과정에서 의도치 않게 사용자ID 서비스의 사용량이 0으로 입력된 것이 문제가 됐다. '입력값 0'이 전 세계 구글 서비스를 마비시키는 어이없는 실수가 발생한 셈이다.
구글은 23일(현지시간) 구글클라우드 상태 대시보드 사이트(☞링크)를 통해 최근 전세계에서 발생한 구글 서비스 먹통 사고에 대한 보고서를 공개했다.
앞서 태평양시(PDT) 기준으로 지난 14일 새벽4시부터 약 1시간 동안 전세계적으로 유튜브, G메일, 구글 캘린더, 구글홈 등 대다수 구글 서비스에 로그인 되지 않는 장애가 발생했다. G메일이나 구글 캘린더 같이 로그인이 반드시 필요한 서비스는 서비스 자체가 먹통된 것이나 다름 없는 상태가 됐다. 유튜브도 자동로그인 기능을 설정해 놨던 이용자들이 서비스 접속에 불편함을 겪었다.
사고 직후 구글은 "자동화된 스토리지 할당 관리 시스템에서 문제가 발생하면서, 중앙 ID관리 시스템의 용량을 줄였고, 그로 인해 로그인이 필요한 많은 구글 서비스 접근이 불가능해졌다"고 대략적인 사고 경위를 밝힌 바 있다.
이번에 공개된 사고 보고서에 따르면 장애는 사용자ID서비스의 스토리지 할당 시스템 마이그레이션(교체) 과정에서 발생했다. 사용자ID서비스는 모든 계정의 고유 식별자를 가지고 있으면서 인증 자격을 처리하는 역할을 한다.
구글은 사용자ID서비스에 새로운 자동 스토리지 할당 시스템을 도입하는 중이다. 지난 10월 새로운 시스템을 도입했는데 기존 시스템의 일부는 여전히 남아 있는 상태다. 문제는 이 기존 시스템이 사용자ID 서비스의 사용량을 0으로 잘못 보고하면서 시작됐다.
이미 10월부터 사용량은 0으로 잘못 보고되고 있었다. 구글이 할당량을 제한하는 시점에 유예기간을 두고 있어서 문제가 즉시 드러나진 않았다.
유예기간이 끝나는 시점부터는 사용자ID서비스의 스토리지 할당량이 줄어들기 시작했다. 사용자ID 서비스 내에서 계정 데이터의 유효기간을 업데이트 하는 팍소스리더도 더 이상 작업을 할 수 없게 됐다. 이에 데이터베이스에 저장된 계정 데이터들은 모두 유효기간이 만료됐고, 이용자 계정의 인증요청을 모두 거부하는 문제로 이어졌다.
구글 측은 "의도하지 않은 할당량 변경을 방지하기 위해 안전 점검 체계를 갖추고 있지만 단일 서비스에서 사용량이 0으로 보고되는 시나리오는 대비하지 못하고 있었다"고 시스템 상 허점을 인정했다.
관련기사
- 구글 "유튜브 장애, 내부 저장공간 할당오류 때문"2020.12.15
- 유튜브 등 구글 서비스 1시간 먹통 후 복구..."보상 없을 듯"2020.12.14
- 유튜브 한 달만에 또 먹통…공식설명 없어2020.12.14
- 구글, 또 반독점 피소…"혼자 투수·타자·심판 역할"2020.12.17
구글은 이번 사고가 구글클라우드 플랫폼 내 다양한 서비스에도 영향을 미쳤다고 밝혔다. 클라우드 콘솔, 빅쿼리, 클라우드스토리지, 클라우드네트워킹, 쿠버네티스엔진, 구글워크스페이스, 클라우드서포트가 영향을 받았다.
구글은 근본적인 원인을 수정하는 동시에 이런 유형의 오류를 방지하기 위한 대책을 수립한다는 방침이다. 그 일환으로 할당량 관리 자동화 시스템의 변화가 전 세계에 빠르게 적용되지 않도록 검토하고, 잘못된 구성을 보다 빠르게 알아차릴 수 있도록 모니터링 및 알람 시스템을 개선할 계획이다.