日本語
  • ポストモーテム

ポストモーテム:Logto認証サービスの障害

2025年6月12日、リクエストルーティングに影響を及ぼした Cloudflare の障害により、`logto.app` 上の Logto サービスが一時的に中断されました。問題は速やかに解決され、データセキュリティやコアサービスへの影響はありませんでした。

Gao
Gao
Founder

ユーザー認証に何週間も費やすのはもうやめましょう
Logto でより速く安全なアプリをリリース。数分で認証を統合し、コア製品に集中できます。
始めましょう
Product screenshot

インシデントまとめ

2025年6月12日 18:07 から 18:58 (UTC)の間、logto.app ドメイン(カスタムドメインを含む)経由で Logto サービスへアクセスしたユーザーがエラーを経験しました。この障害は Cloudflare Workers KV の停止が原因で、当社のルーティングレイヤーに影響を及ぼしました。Cloudflare Workers を使用していない Logto Cloud サービスや Logto Console(直接 DNS 解決が利用されている)は影響を受けませんでした。サービスは1時間以内に復旧し、データセキュリティへの影響はありませんでした。

タイムライン(UTC)

  • 18:07: logto.app 経由のリクエストに対して Logto 認証サービス API が 500 エラーを返し始める。
  • 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.app 経由で Logto にアクセスしたユーザーは約50分間エラーが発生しました。
  • 顧客データの損失や漏洩はありません。
  • Logto Cloud サービスと Logto Console は完全に稼働していました。

今後の対応

  • エッジインフラストラクチャのエラーハンドリングを見直し、改善します。
  • アップストリームインフラストラクチャに複数ベンダーを検討し、単一障害点を回避します。

ご理解とご支援に感謝いたします。