Русский
  • postmortem

Постмортем: Сбой сервиса аутентификации Logto

12 июня 2025 года сервисы Logto на `logto.app` были кратковременно недоступны из-за сбоя Cloudflare, затронувшего маршрутизацию запросов. Проблема была быстро устранена, не затронув безопасность данных или основные сервисы.

Gao
Gao
Founder

Хватит тратить недели на аутентификацию пользователей
Запускайте безопасные приложения быстрее с Logto. Интегрируйте аутентификацию пользователей за считанные минуты и сосредоточьтесь на вашем основном продукте.
Начать
Product screenshot

Сводка инцидента

Между 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-инфраструктуры.
  • Мы рассмотрим вариант использования нескольких поставщиков для инфраструктуры верхнего уровня, чтобы избежать единичных точек отказа.

Спасибо за терпение и поддержку.