Google Cloudの大規模障害についてGoogleが原因と対策を説明
Googleは6月12日に発生したGoogle Cloudの大規模障害の原因が、API管理システムの新機能におけるコードの不備だったと報告した。エラー処理の欠如で世界的にクラッシュループが発生。同社は謝罪し、アーキテクチャの改善やテスト強化などの再発防止策を表明した。
米Googleは6月13日午後4時45分(米太平洋時間)、12日の午前10時51分に発生し、同日午後6時18分に収束したGoogle Cloudのサービス障害について、原因と対策を報告した。
原因はAPI管理システムの新機能のコード不備
今回の障害は、GoogleのAPI管理システムである「Service Control」における新しいクォータポリシーチェック機能のコードの不備が主な原因という。
5月29日にService Controlに追加された新しいクォータポリシーチェック機能のコードに、適切なエラーハンドリングが欠けており、また重要な「機能フラグ」による保護もされておらず、6月12日にService Controlが使用する地域ごとのSpannerテーブルに、意図しない空のフィールドを含むポリシー変更が挿入された。
この誤ったポリシーデータが処理される際、不備のあるコードパスが実行され、nullポインタエラーが発生。これによりService Controlのバイナリが世界中でクラッシュループに陥った。
障害発生から2分以内に対処開始
Site Reliability Engineeringチームは、障害発生から2分以内に対応を開始し、10分以内に根本原因を特定した。
問題のあるAPI提供パスを無効化する「赤ボタン」を導入し、障害発生から40分以内にサービスの回復が始まった。サービス回復後すぐに、Service Conrolシステムのすべての変更と手動でのポリシー更新を一時的に停止した。
今後の改善アプローチ
Googleは、こうした障害を繰り返さないために以下の対策を優先的に実施すると表明した。
- Service Controlのアーキテクチャのモジュール化
- グローバルに複製されるデータの監査
- 機能フラグによる保護の徹底
- エラーハンドリングとテストの改善
- 指数関数的バックオフの徹底
- 外部コミュニケーションの改善
- 監視および通信インフラストラクチャの継続的な運用
- API管理プラットフォームの堅牢化
- メタデータの伝播保護
Googleはこの障害報告の冒頭で「この度の障害による影響について深くお詫び申し上げます。Google Cloudのお客様とそのユーザーの皆様は、Googleにビジネスを託してくださっているのですから、私たちは今後、より良いサービスを提供していく所存です。お客様のビジネスとユーザーの皆様だけでなく、弊社のシステムに対する信頼にも影響を与えたことをお詫び申し上げます。今後、このような障害が発生しないよう、改善に努めてまいります」と謝罪した。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Google Cloudが数時間サービス停止 Cloudflareなど多数のサービスに影響
Google Cloudで日本時間6月13日未明から大規模な障害が発生し、数時間にわたり一部のサービスが停止している。この影響で、広範囲でCloudflareやSpotifyなど多数のサービスが利用しづらくなっている。Google Cloudによる「顧客のシステムを間違って全削除」、発生の原因は? 報告記事が公開に
米Google Cloudは、同クラウドユーザーであるオーストラリアの年金基金「UniSuper」で発生した大規模障害の原因について報告する記事「Sharing details on a recent incident impacting one of our customers」を公開しました。Google Cloud、暑さでダウンか ロンドンのデータセンターで冷却系に障害 Oracle Cloudも【復旧済み】
Google Cloudの欧州リージョンの一部(europe-west2)で障害が発生している。ロンドンにあるデータセンターの1つで、7月20日午前2時13分ごろ(日本時間)から、冷却関連のトラブルが起きているという。Googleのサービスが軒並みダウン? 日本以外でも(UPDATE:9月25日午前11時ごろ、ほぼ復旧)
Googleの一連のサービスが日本時間の9月25日午前10時ごろからアクセスしにくくなっている。hdowndetector.comによると、主に日本と米国で問題が発生しているようだ。