YouTube 및 Google 캘린더, Gmail 등의 Google 서비스가 약 45분 동안 사용할 수 없게 된 2020년 12월 14일에 발생한 큰 장애에 대해 Google이 원인과 영향범위를 정리한 상세보고서를 공개했습니다.

Google Cloud Status Dashboard
https://status.cloud.google.com/incident/zall/20013#20013004


태평양 표준시 2020년 12월 14일(월), YouTube 및 Google 캘린더 등의 서비스를 이용할 수 없게 되는 대규모 오류가 발생했습니다. 원인은 인증시스템 서비스의 문제로 장애는 약 45분 동안 계속되었습니다.


Google의 장애 보고서의 내용은 다음과 같습니다.

◆ 원인

Google의 사용자ID 서비스는 사용자별로 할당된 식별자 관리, OAuth 인증토큰 및 쿠키제어를 실시합니다. 계정의 데이터는 분산 데이터베이스에 저장되어 있었고, 보안상 오래된 데이터에 대한 요청을 거부하도록 되어 있었습니다.

Google은 서비스별로 할당되는 자원을 quota system을 통해 제한하고 있습니다. 2020년 10월에 quota system의 업데이트가 실시되었는데, 일부 업데이트가 누설되어 기존 quota system이 잔류하고 있었던 것. 기존 시스템은 사용자ID 서비스에 '사용 가능한 용량이 없다'는 잘못된 정보를 전달했습니다. 할당량 유예기간이 설정되어 있었기 때문에 시스템 업데이트 후에도 당분간은 장애도 없었고, 감시 시스템에서도 문제를 감지할 수 없었습니다.

그러나 할당량 유예기간이 끝나 분산 데이터베이스의 업데이트가 제한되었고 계정의 데이터가 오래된 결과, 사용자ID 서비스로부터의 데이터베이스에 대한 요청이 거부되어 버려, 인증기능에 장애가 발생했다고 Google은 설명하고 있습니다.


◆ 영향

현지 시간 2020년 12월 14일 오전 3시 46분부터 4시 33분에 걸쳐 모든 Google 계정인증 및 메타데이터 탐색이 불가능해졌습니다. 그 결과 서비스는 인증된 요청을 제어할 수 없었으며 모든 인증된 트래픽에서 오류가 발생했습니다. 기본적으로 인증을 사용하는 모든 Google 서비스에 영향을 미쳤지만 큰 영향을 받은 서비스는 다음과 같습니다.

· Google Cloud Console : 미로그인 사용자는 로그인이 불가능해졌고, 로그인된 사용자는 일부 기능을 제외하고 서비스의 이용이 가능했습니다.

· Google BigQuery : 오류가 발생하는 동안 BigQuery에 데이터를 로드하는 스트리밍은 전체의 최대 75%에서 오류가 발생했고 BigQuery의 작업은 최대 10%에서 오류가 발생했습니다.

· Google Cloud Storage (GCS) : 특히 OAuth와 HMAC의 이메일인증을 사용했던 경우, 약 15%의 요청이 장애의 영향을 받았습니다. 문제가 해결된 후에도 장애중 업로드를 시작한 사용자 중 최대 1%의 사용자가 업로드를 완료할 수 없는 문제가 발생했습니다.

· Google Cloud Networking : 컨트롤 플레인에서는 2020년 12월 14일 오전 5시 21분까지 오류률의 상승이 계속되었습니다. 데이터 플레인은 VPC 네트워킹 변경 작업에만 영향을 받았습니다.

· Google Kubernetes Engine (GKE) : 장애 중 GKE 컨트롤 플레인 API에 대한 요청 중 최대 4%에 오류가 있었습니다. 또한 거의 모든 서비스가 Cloud Monitoring에 매트릭스를 보낼 수 없게 되어 있었습니다. 장애발생으로부터 1시간 동안 최대 1.9%의 GKE 노드에서 실행하는 사용자의 처리에 문제가 발생했습니다.

· Google Workspace : 모든 Google Workspace 서비스가 장애중 사용할 수 없게 되었습니다. 오전 5시 거의 모든 Google Workspace 서비스가 복구되었고, Google 캘린더 및 관리 콘솔은 복구 직후 트래픽의 급증을 볼 수 있었습니다. Gmail은 장애 복구 후 최대 1시간 동안 오류 데이터의 캐시를 참조하여 문제가 계속되었습니다.

· Cloud Support : Google Cloud Platform 및 Google Workspace 상태 대시보드가 오류의 영향을 받아, 사용자에게의 장애공유가 지연되었습니다. 사용자는 Cloud Console에서 케이스를 만들거나 표시할 수 없었습니다. 오전 5시 34분 이후는 문제가 해결되었습니다.


◆ 대처 방법과 향후 대책

장애는 오전 3시 43분 미국 태평양 지역에서의 용량에 대한 자동 알림, 오전 3시 46분 사용자ID 서비스 오류, 오전 3시 48분 사용자로부터의 통지에 따라 엔지니어에게 통지되었습니다. 오전 4시 8분에 근본적인 원인과 잠재 해결방법이 특정되어, 오전 4시 22분에 어느 데이터센터에서 할당량의 실시를 비활성화했습니다. 그러자 상황은 곧 개선되었고 4시 27분에 모든 데이터센터에 같은 완화 조치가 적용되어 오전 4시 33분에는 오류율이 정상 수준으로 돌아왔습니다.

또한 Google은 다음의 대책을 실시, 장애의 재발 방지에 노력하겠다고 합니다.

· quota system의 재검토
· 장애를 즉시 감지할 수 있도록 감시 시스템을 검토
· 대시보드 등의 내부 도구에 영향을 미치는 장애시 외부에 장해를 통지하는 도구와 절차의 신뢰성을 향상시키는 조치
· 사용자ID 서비스 데이터베이스에 기록 장애의 복구 기능을 평가하고 구현
· GCP 서비스의 복원력을 향상시키고 사용자ID 서비스 장애시 데이터 플레인에 미치는 영향은 더 작도록 조치

Google은 "이번 사고로 사용자와 사업에 영향을 준 것을 사과드립니다"라고 적었습니다.

Posted by 말총머리
,