Google Cloudの障害はコード更新ミスと保護機能の欠如が原因
Google Cloudは先週の大規模障害が、サービスコントロールシステムのコード更新ミスと、エラー処理や機能フラグ保護の欠如に起因したことを明らかにした
最新の更新
Google Cloudは、先週発生した広範囲なサービス障害が、サービスコントロールシステムのコード更新ミスによるものであることを認め、その結果、エラー処理が不足し、機能フラグ保護が欠如していたため、グローバルなクラッシュループを引き起こしたと説明しています。
同社の報告によると、Google CloudのAPIやGoogleのAPIは、Google API管理および制御プレーンを通じて提供されており、これらのプレーンは地域ごとに分散しており、各APIリクエストが承認されているか、ポリシーや適切なチェック(クオータなど)が満たされているかを確認する責任を担っています。
問題となったのは「サービスコントロール」と呼ばれるポリシーチェックシステムのコアバイナリで、5月29日に新機能が追加され、追加のクオータポリシーチェックを有効にするためのコード変更が行われました。このコード変更とバイナリのリリースは、地域ごとに展開されましたが、失敗したコードパスは、ポリシー変更が必要であり、そのコードをトリガーする変更が行われるまで実行されることはありませんでした。
Googleは、この障害の原因としてコード更新の不備と、通常の保護機能(エラー処理や機能フラグ)が欠如していたことを挙げ、今後の改善策を講じると述べています。