Постмортем: Сбой сервиса аутентификации Logto
12 июня 2025 года сервисы Logto на `logto.app` были кратковременно недоступны из-за сбоя Cloudflare, затронувшего маршрутизацию запросов. Проблема была быстро устранена, не затронув безопасность данных или основные сервисы.
Сводка инцидента
Между 18:07 и 18:58 по UTC 12 июня 2025 года пользователи, обращавшиеся к сервисам Logto через домен logto.app
(включая кастомные домены), сталкивались с ошибками. Перебои были вызваны сбоем в Cloudflare Workers KV, что затронуло наш маршрутизирующий слой. Сервисы Logto Cloud и Logto Console, использующие прямое DNS-разрешение и не зависящие от Cloudflare Workers, не пострадали. Работоспособность была восстановлена в течение часа, безопасность данных не была нарушена.
Хронология событий (UTC)
- 18:07: API сервисов аутентификации Logto начали возвращать ошибки 500 для запросов через
logto.app
. - 18:24: Расследование подтвердило, что инфраструктура Azure работоспособна, проблема локализована в Cloudflare Workers и KV.
- 18:48: Cloudflare официально подтвердили инцидент, влияющий на Workers и KV.
- 18:58: Мы внедрили временное решение — отключили логику кеширования, что восстановило работу сервиса с возможным незначительным ухудшением производительности.
- 21:00: После стабилизации сервисов Cloudflare мы повторно внедрили логику кеша с корректным аварийным резервированием. Производительность полностью восстановлена, теперь сервис более устойчив к подобным сбоям KV.
Причина
Инцидент был вызван недоступностью Cloudflare Workers KV. Наш Cloudflare Worker направляет запросы в нужный регион Logto для каждого клиента или домена с целью соблюдения требований по хранению данных. Для повышения производительности Worker использует KV для кеширования этих соответствий регионов. Когда KV стал недоступен, операции кеша начали завершаться с ошибкой, и Worker выбрасывал ошибку вместо перехода к работе без кеша, что и вызвало сбой сервиса.
Сервисы Logto Cloud и Logto Console не пострадали, так как используют прямое DNS-разрешение и не применяют Cloudflare Workers при маршрутизации.
Решение и улучшения
- Удалена зависимость от кеширования в Worker, сервис восстановлен.
- После восстановления работоспособности Cloudflare KV кеширование было повторно внедрено с корректным резервированием. При недоступности кеша сервис продолжает работать через прямую маршрутизацию без перебоев.
- Идёт дальнейшая работа по улучшению инфраструктуры для повышения отказоустойчивости и доступности.
Влияние
- Пользователи, обращавшиеся к Logto через
logto.app
, сталкивались с ошибками около 50 минут. - Потерь или компрометации данных клиентов не произошло.
- Сервисы Logto Cloud и Logto Console оставались полностью работоспособными.
Дальнейшие шаги
- Мы проведём аудит и усовершенствуем обработку ошибок на уровне edge-инфраструктуры.
- Мы рассмотрим вариант использования нескольких поставщиков для инфраструктуры верхнего уровня, чтобы избежать единичных точек отказа.
Спасибо за терпение и поддержку.