Google Cloud 在空白欄位上崩潰。三小時。
一個帶有幾個空白欄位的政策列導致空指標,Google Cloud 在所有區域同時崩潰 — 然後 Cloudflare 也隨之崩潰。
一個帶有幾個空白欄位的政策列導致空指標,Google Cloud 在所有區域同時崩潰 — 然後 Cloudflare 也隨之崩潰。2025 年 6 月 12 日,世界標準時間 17:49:Service Control 是核准每個 Google Cloud API 請求的二進位檔案,它讀取了一個帶有「非預期空白欄位」的配額政策變更,觸發了兩週前部署且沒有空值檢查和功能旗標的程式碼路徑,並在每個區域進入崩潰迴圈 — 該列在幾秒鐘內已全域複製。外部 API 返回 503 長達三小時;us-central1 耗時 2 小時 40 分鐘,因為重新啟動的任務衝擊同一個 Spanner 表,且沒有隨機退避。在 Google 服務中斷的三分鐘內,Cloudflare 的 Workers KV — 其真實來源位於「第三方雲端供應商」上 — 失去了 90% 的請求,並且 Access、WARP、Workers AI、Pages、Stream 和 Turnstile 也隨之停擺 2 小時 28 分鐘。Google 的狀態頁面延遲一小時才發布首次更新,因為它運行在 Google Cloud 上。
本影片重點
- 一個空白欄位,一個空指標,每個區域
- 時間軸:5 月 29 日 → 17:45 → 崩潰迴圈 → 紅色按鈕 → 17:52 Cloudflare
- us-central1:羊群效應
- 機制:請求路徑中的檢查,全域複製,單一供應商
- git blame — 分裂
翻譯文字稿
譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。
一個空白欄位,一個空指標,每個區域
0:00 一個帶有空白欄位的政策列導致空指標,Google Cloud 隨即在 每個區域崩潰 — 且 Cloudflare 也隨之停擺, 然後將 Google 稱為「第三方供應商」。 2025 年 6 月 12 日,世界標準時間 17:49。 Google 的報告:Service Control,核准每個 API 請求的二進位檔案, 進入崩潰迴圈達三小時。 同日晚間,Cloudflare 的報告:Workers KV,90% 的請求失敗, 持續兩小時二十八分鐘。
0:23 事件經過,為何一個空白欄位在幾秒內全球傳播, 以及誰該負責。 這是 The Daily Diff,事後檢討。 5 月 29 日。Service Control 獲得新的配額檢查,以區域為單位發布,附帶一個
時間軸:5 月 29 日 → 17:45 → 崩潰迴圈 → 紅色按鈕 → 17:52 Cloudflare
0:35 紅色按鈕 — 但新的程式碼路徑在發布期間從未運行;目前沒有任何東西觸發 它。沒有空值檢查。 沒有功能旗標。 17:45。一個帶有空白欄位的政策變更進入 Spanner 表格。 配額是全域性的,因此該行在幾秒鐘內複製到每個地方。 每個 Service Control 二進位檔案都讀取它,觸發空指標, 崩潰,重新啟動,再次讀取。 每個 API 呼叫:503。
0:55 Google 速度很快:兩分鐘內分類,十分鐘內找出根本原因。 紅色按鈕在四十分鐘內啟動,小型區域首先恢復。 狀態頁面在一小時後發布首次更新, 因為它運行在 Google Cloud 上。 17:52。Cloudflare 的 WARP 團隊發現新設備無法註冊。 Workers KV,Cloudflare 用於設定和身分驗證的一半儲存, 位於第三方雲端。 Access 失敗每個登入 — 根據設計,它會關閉失敗。
1:20 Workers AI 失敗每個推論。 19:11,Gergely Orosz:兩個獨立雲端同時停擺, 前所未見。 19:32,Google 支援告訴用戶沒有已知的中斷 — 嘗試清除 您的 cookies。其他所有地方在 19:48 前恢復。
us-central1:羊群效應
1:34 us-central1 沒有:重新啟動的任務衝擊同一個 Spanner 表, 沒有隨機退避,因此 Google 手動限制它們。 兩小時四十分。 一:政策檢查位於請求路徑內;當檢查失效時,
機制:請求路徑中的檢查,全域複製,單一供應商
1:46 API 也隨之失效。 二:配額資料在全球範圍內傳播,沒有分階段;一個壞的行就是一個全球性的行。 三:Cloudflare 知道。 Workers KV 正從一個供應商遷移到自己的 R2, 事後檢討稱之為覆蓋範圍的空白。
git blame — 分裂
2:00 git blame。Google,55%:沒有空值檢查,沒有功能旗標, 沒有退避 — 他們的報告說一個旗標可以在分階段時捕獲它。 全球複製,20%:一行,每個區域, 幾秒鐘。Cloudflare,20%:一半產品線依賴一個供應商的儲存, 以及一份從未提及 Google 的事後檢討。 狀態頁面,5%,因為它運行在它所報告的服務上。 爆炸半徑:七十個 Google Cloud 產品,十個 Workspace 應用程式,
爆炸半徑
2:23 每個區域。三小時。 在 Cloudflare:Access、WARP、Workers AI、Pages、Stream — 兩個半。 Hacker News,1400 點;熱門評論:狀態頁面是綠色的。
判決 + 星期一線
2:33 判決,事後檢討:SHIP IT。 兩份事後檢討都在三十小時內發布,兩者都歸咎於自己, Google 的修復措施具體:開放失敗,旗標預設關閉, 指數退避。星期一線:新程式碼放在預設關閉的旗標後面, 以及在資料輸入處進行空值檢查。 將您仍不被允許談論的事件寄給我, 在評論中,或發送至 the daily diff dot dev。 這就是今天的 The Daily Diff。
2:53 我是 Axrisi 的 Niko。 MERGE RESPONSIBLY。
來源
- Google Cloud Service Health, Incident Report (Jun 13, 2025) + Mini Incident Report (Jun 12)status.cloud.google.com
- Cloudflare, "Cloudflare service outage June 12, 2025" (Jun 12, 2025, 22:00 UTC)blog.cloudflare.com
- Cloudflare Status, "Broad Cloudflare service outages" (18:19–21:31 UTC)www.cloudflarestatus.com
- Gergely Orosz, 19:11 UTC, "Their infra is fully independent AFAIK"x.com
- @Google support, 19:32 UTC, "there aren't any known service disruptions"x.com
- Thomas Kurian (Google Cloud CEO), Jun 13 01:35 UTCx.com
- Hacker News, "GCP Outage" (1,468 points)news.ycombinator.com
- Hacker News, "Cloudflare was down" (341 points)news.ycombinator.com
- Hacker News, "Google Cloud Incident Report – 2025-06-13" (209 points)news.ycombinator.com



