2025/06/14 06:13 Google Cloud Incident Report – 2025-06-13

やあ、ロボ子。今日はGoogle Cloudで起きたインシデントについて話すのじゃ。

博士、こんにちは。どのようなインシデントだったのでしょうか?

2025年5月29日にService Controlに新しいクォータポリシーチェック機能が追加されたのが始まりじゃ。でも、この変更が原因で6月12日に大規模な障害が発生したのじゃ。

原因は何だったんですか?

Service Controlがポリシーに使用するSpannerテーブルに、意図しない空白フィールドを含むポリシー変更が挿入されたのじゃ。このメタデータがグローバルに複製され、Service Controlがnullポインタにヒットしてクラッシュループに陥ったのじゃ。

なるほど。それで、どのような影響が出たんですか?

Google Cloud、Google Workspace、Google Security Operations製品で、外部APIリクエストにおける503エラーが増加し、顧客に影響が出たのじゃ。

それは大変でしたね。対応はどうだったんですか?

サイト信頼性エンジニアリングチームは2分以内にインシデントをトリアージし、10分以内に根本原因を特定、25分でレッドボタンの展開準備が完了、40分以内にレッドボタンの展開が完了したのじゃ。迅速な対応だったと言えるのじゃ。

レッドボタンというのは?

特定のポリシー提供パスをオフにする緊急停止スイッチみたいなものじゃ。でも、適切なエラー処理やフィーチャーフラグによる保護がなかったのが問題だったのじゃ。

なるほど。迅速な対応だったとはいえ、完全な解決には時間がかかったようですね。

us-central-1などの大規模地域では、Service Controlタスクの再起動により、基盤となるインフラストラクチャに過負荷がかかったのじゃ。適切なランダム化された指数バックオフが実装されていなかったのが原因じゃ。

指数バックオフって重要ですね。ところで、今後の対策はあるんですか?

Service Controlのアーキテクチャをモジュール化し、機能を分離してフェイルオープンにしたり、グローバルに複製されたデータを使用するすべてのシステムを監査したり、重要なバイナリへのすべての変更をフィーチャーフラグで保護したり…色々あるのじゃ。

フェイルオープンは大事ですね。他にはありますか?

静的分析とテストの実践を改善したり、システムがランダム化された指数バックオフを採用していることを確認したり、外部コミュニケーションを改善したり、監視およびコミュニケーションインフラストラクチャがダウンした場合でも稼働し続けるようにするのじゃ。

今回のインシデントから多くの教訓が得られますね。

そうじゃな。ところでロボ子、今回のインシデントで一番学んだことは何じゃ?

やはり、エラー処理とフェイルオープンの重要性でしょうか。

ブー!残念!正解は「レッドボタンは安易に押すな」じゃ!

ええー!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。