Астрономічні суми з’являлися навіть у малоактивних або фактично неактивних акаунтах, які зазвичай коштували своїм власникам лише кілька центів . Водночас це були саме помилкові прогнози на екрані, а не реальні нарахування.
AWS повідомила про проблему приблизно о 01:30 17 липня за PDT і протягом дня публікувала оновлення щодо перебігу розслідування .
AWS підтвердила, що причиною стала помилка в одиницях тарифікації в підсистемі розрахунку прогнозованого білінгу . Алгоритм, який оцінює майбутню вартість використаних ресурсів, застосував неправильні — радикально завищені — тарифні одиниці.
Важливо, що проблема виникла саме в логіці розрахунку оцінки, а не у фактичних даних про використання ресурсів . Тобто система могла правильно фіксувати роботу сервісів, але неправильно перетворювала ці дані на прогнозовану суму.
Деякі користувачі повідомляли навіть про суми у квадрильйонах доларів . В інших випадках на екрані з’являлися прогнози на мільярди або трильйони, хоча реальне споживання хмарних ресурсів не змінювалося.
Найпомітнішим наслідком став шок клієнтів. У соцмережах користувачі жартували, що після відкриття консолі в них «душа покинула тіло», побачивши трильйонні баланси . Для компаній, які щодня контролюють хмарні витрати, це також означало серйозний операційний збій.
Помилка зачепила не лише візуалізацію даних. AWS Budgets і Cost Anomaly Detection — інструменти для контролю бюджетів та пошуку аномальних витрат — почали масово генерувати сповіщення про надзвичайно високі суми .
Реальних фінансових втрат AWS не зафіксувала: неправильні оцінки не стали рахунками й не були списані з клієнтів . Проте інцидент вдарив по довірі до систем керування витратами та змусив команди витрачати час на перевірку очевидно абсурдних сигналів.
| Час (PDT) | Дата | Подія |
|---|---|---|
| 19:38 | 16 липня | AWS починає показувати некоректні дані про прогнозовані витрати |
| Близько 01:30 | 17 липня | AWS виявляє проблему та повідомляє: «Ми розслідуємо проблеми з відображенням неточних даних про прогнозований білінг у Cost Explorer» |
| Близько 03:03 | 17 липня | Компанія визначає першопричину: помилка в одиницях тарифікації підсистеми розрахунку прогнозованого білінгу |
| Близько 12:00 | 17 липня | Розгорнуто перше виправлення, але воно не усуває проблему повністю; у багатьох клієнтів дані залишаються неправильними |
| Близько 14:12 | 17 липня | AWS повідомляє про застосування другого виправлення та повторний розрахунок прогнозованих даних |
| Пізно 17 липня — на початку 18 липня | — | Дані поступово повертаються до нормальних значень у різних акаунтах |
Для більшості клієнтів неправильне відображення тривало приблизно 16–18 годин, хоча повний повторний розрахунок даних зайняв більше часу.
AWS Budgets і Cost Anomaly Detection використовують дані з тієї самої оцінювальної інфраструктури, де виникла помилка. Якщо базовий розрахунок пошкоджений, усі залежні інструменти починають продукувати шум . Це показує: надійність сповіщення про витрати не може бути вищою за надійність системи, яка формує його основу.
Коли тисячі клієнтів одночасно отримують повідомлення про фантастичні витрати, команди можуть почати менш серйозно ставитися до таких сигналів. У майбутньому це здатне сповільнити реакцію на справжню аномалію або реальний стрибок витрат .
Хмарним системам білінгу потрібні додаткові запобіжники — своєрідний «автоматичний вимикач», який не дозволяє показувати оцінку, що у сотні чи тисячі разів перевищує історичний рівень. Незалежний розрахунковий контур міг би перевіряти такі значення до їх появи в консолі.
Інцидент показав комунікаційний недолік: у клієнтів не було очевидного механізму, який би в реальному часі позначив цифри як недійсні або тимчасово приховав їх. Багато хто дізнавався про проблему лише зі сторінки статусу AWS чи соціальних мереж .
Якщо прогноз раптом перевищує фактичні витрати попереднього періоду в заздалегідь визначену кількість разів, система не повинна одразу показувати його користувачу. Безпечнішим варіантом було б повідомлення на кшталт «дані ще обробляються» до завершення перевірки.
Липневий збій AWS не став фінансовою катастрофою: клієнтам не виставили трильйонні рахунки. Але він став серйозним випробуванням для довіри та архітектури хмарного білінгу. Одна помилка в одиницях тарифікації виявилася здатною одночасно спотворити прогнози, запустити масові хибні сповіщення й створити глобальну паніку.
Головний урок для постачальників хмарних сервісів — відокремлювати розрахунок оцінок від їх відображення, запроваджувати незалежні перевірки та не показувати користувачам значення, які очевидно виходять за межі реальності.