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,百分之九十的请求失败, 两小时二十八分钟。
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 支持告诉用户没有已知中断 — 尝试清除 你的 Cookie。其他所有地方都在 19:48 之前恢复。
us-central1:羊群效应
1:34 us-central1 没有:重启任务涌入同一个 Spanner 表, 没有随机退避,所以 Google 手动节流它们。 两小时四十分钟。 一:策略检查位于请求路径内;当检查失败时,
机制:请求路径中的检查、全局复制、一个供应商
1:46 API 失败。 二:配额数据全局复制,没有暂存;一个坏行就是全局行。 三:Cloudflare 知道。 Workers KV 正在迁移到自己的 R2,只有一个提供商 — 事后分析称之为覆盖范围的空白。
git blame — 拆分
2:00 git blame。Google,百分之五十五:没有空检查,没有功能标志, 没有退避 — 他们的报告称,如果有一个标志,本可以在暂存阶段发现问题。 全局复制,百分之二十:一行,所有区域, 秒。Cloudflare,百分之二十:一半产品线依赖一个供应商的存储, 以及一份从未提及 Google 的事后分析报告。 状态页面,百分之五,因为它运行在它所报告的服务上。 影响范围:七十个 Google Cloud 产品,十个 Workspace 应用程序,
影响范围
2:23 所有区域。三小时。 在 Cloudflare:Access、WARP、Workers AI、Pages、Stream — 两小时半。 Hacker News,一千四百赞;热门评论:状态页面是绿色的。
裁决 + 星期一热线
2:33 裁决,事后分析:SHIP IT。 两份事后分析报告在三十小时内发布,都归咎于自身, Google 的修复措施是具体的:开放式失败,标志默认关闭, 指数退避。星期一热线:新代码在默认关闭的标志后面发布, 并在数据进入时进行空检查。 把你仍然不被允许谈论的事件发送给我, 在评论中,或者发送到 the daily diff dot dev。 这就是今天的 The Daily Diff。
2:53 我是 Axrisi 的 Niko。 负责任地合并。
来源
- 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



