米Googleは6月13日午後4時45分(米太平洋時間)、12日の午前10時51分に発生し、同日午後6時18分に収束したGoogle Cloudのサービス障害について、原因と対策を報告した。
今回の障害は、GoogleのAPI管理システムである「Service Control」における新しいクォータポリシーチェック機能のコードの不備が主な原因という。
5月29日にService Controlに追加された新しいクォータポリシーチェック機能のコードに、適切なエラーハンドリングが欠けており、また重要な「機能フラグ」による保護もされておらず、6月12日にService Controlが使用する地域ごとのSpannerテーブルに、意図しない空のフィールドを含むポリシー変更が挿入された。
この誤ったポリシーデータが処理される際、不備のあるコードパスが実行され、nullポインタエラーが発生。これによりService Controlのバイナリが世界中でクラッシュループに陥った。
Site Reliability Engineeringチームは、障害発生から2分以内に対応を開始し、10分以内に根本原因を特定した。
問題のあるAPI提供パスを無効化する「赤ボタン」を導入し、障害発生から40分以内にサービスの回復が始まった。サービス回復後すぐに、Service Conrolシステムのすべての変更と手動でのポリシー更新を一時的に停止した。
Googleは、こうした障害を繰り返さないために以下の対策を優先的に実施すると表明した。
Googleはこの障害報告の冒頭で「この度の障害による影響について深くお詫び申し上げます。Google Cloudのお客様とそのユーザーの皆様は、Googleにビジネスを託してくださっているのですから、私たちは今後、より良いサービスを提供していく所存です。お客様のビジネスとユーザーの皆様だけでなく、弊社のシステムに対する信頼にも影響を与えたことをお詫び申し上げます。今後、このような障害が発生しないよう、改善に努めてまいります」と謝罪した。
Google Cloudが数時間サービス停止 Cloudflareなど多数のサービスに影響
Google Cloudによる「顧客のシステムを間違って全削除」、発生の原因は? 報告記事が公開に
Google Cloud、暑さでダウンか ロンドンのデータセンターで冷却系に障害 Oracle Cloudも【復旧済み】
Googleのサービスが軒並みダウン? 日本以外でも(UPDATE:9月25日午前11時ごろ、ほぼ復旧)Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR