Збій Google Cloud через порожнє поле. Три години.
Рядок політики з кількома порожніми полями викликав нульовий вказівник, і Google Cloud одночасно вийшов з ладу в кожному регіоні — потім Cloudflare впав разом з ним.
Рядок політики з кількома порожніми полями викликав нульовий вказівник, і Google Cloud одночасно вийшов з ладу в кожному регіоні — потім Cloudflare впав разом з ним. 12 червня 2025 року, 17:49 UTC: Service Control, бінарний файл, що затверджує кожен запит до Google Cloud API, зчитує зміну політики квот з «ненавмисними порожніми полями», потрапляє в код, випущений двома тижнями раніше без перевірки на нуль і без прапорця функцій, і переходить у цикл збою в кожному регіоні — рядок був реплікований глобально протягом декількох секунд. Зовнішні API повертають 503 протягом трьох годин; us-central1 займає 2 години 40 хвилин, тому що завдання, що перезапускаються, атакують ту ж таблицю Spanner без рандомізованої експоненційної затримки. Через три хвилини після збою Google, Workers KV від Cloudflare — джерело істини якого знаходиться на «сторонньому хмарному провайдері» — втрачає 90% запитів, а Access, WARP, Workers AI, Pages, Stream і Turnstile виходять з ладу разом з ним на 2 години 28 хвилин. Сторінка статусу Google публікує своє перше оновлення на годину пізніше, тому що вона працює на Google Cloud.
Читати письмову версію (англійською) ↗
Що охоплює це відео
- Порожнє поле, нульовий вказівник, кожен регіон
- Хронологія: 29 травня → 17:45 → цикл збою → червона кнопка → 17:52 Cloudflare
- us-central1: ефект стада
- Механізм: перевірка на шляху запиту, глобальна реплікація, один постачальник
- git blame — розділ
Перекладена стенограма
Перекладено з оригінальної англійської розповіді. Доступне аудіо та субтитри контролюються YouTube.
Порожнє поле, нульовий вказівник, кожен регіон
0:00 Рядок політики з порожніми полями викликає нульовий вказівник, і Google Cloud виходить з ладу в кожному регіоні одночасно — і Cloudflare падає разом з ним, потім називає Google «стороннім провайдером». 12 червня 2025 року, 17:49 UTC. Звіт Google: Service Control, бінарний файл, що затверджує кожен запит API, у циклі збою протягом трьох годин. Cloudflare, того ж вечора: Workers KV, дев'яносто відсотків збоїв, дві години двадцять вісім.
0:23 Як це сталося, чому одне порожнє поле стало глобальним за секунди, і хто несе відповідальність. Це The Daily Diff, розбір інциденту. 29 травня. Service Control отримує нову перевірку квоти, яка розгортається регіон за регіоном за допомогою
Хронологія: 29 травня → 17:45 → цикл збою → червона кнопка → 17:52 Cloudflare
0:35 червоної кнопки — але новий шлях коду ніколи не запускається під час розгортання; ніщо не викликає його ще. Без перевірки на нуль. Без прапорця функцій. 17:45. Зміна політики з порожніми полями потрапляє до таблиці Spanner. Квота є глобальною, тому рядок реплікується всюди протягом декількох секунд. Кожен бінарний файл Service Control зчитує його, потрапляє на нульовий вказівник, падає, перезапускається, знову зчитує його. Кожен виклик API: 503.
0:55 Google швидкий: сортування за дві хвилини, першопричина за десять. Червона кнопка вимикається за сорок, і невеликі регіони відновлюються першими. Сторінка статусу публікує своє перше оновлення через годину, тому що вона працює на Google Cloud. 17:52. Команда WARP Cloudflare бачить, що нові пристрої не можуть зареєструватися. Workers KV, сховище, яке Cloudflare використовує для конфігурації та ідентифікації, розташоване на сторонньому хмарному провайдері. Access не проходить жоден вхід — за задумом, він закривається.
1:20 Workers AI не проходить жоден висновок. 19:11, Гергелі Орош: одночасно вийшли з ладу два незалежні хмари, ніколи раніше не бачив такого. 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. І це diff на сьогодні.
2:53 Я Ніко з Axrisi. Зливайте відповідально.
Джерела
- 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



