Postmortem: Logto-Authentifizierungsdienst-Ausfall
Am 12. Juni 2025 wurden die Logto-Dienste auf `logto.app` kurzzeitig durch einen Cloudflare-Ausfall beeinträchtigt, der das Routing der Anfragen beeinflusste. Das Problem wurde schnell behoben und hatte keine Auswirkungen auf Datensicherheit oder Kerndienste.
Zusammenfassung des Vorfalls
Zwischen 18:07 und 18:58 UTC am 12. Juni 2025 traten bei Nutzern, die über die Domain logto.app
(einschließlich benutzerdefinierter Domains) auf Logto-Dienste zugriffen, Fehler auf. Die Störung wurde durch einen Ausfall bei Cloudflare Workers KV verursacht, der unsere Routing-Schicht beeinträchtigte. Logto Cloud-Dienste und Logto Console, die eine direkte DNS-Auflösung nutzen und nicht von Cloudflare Workers abhängen, waren nicht betroffen. Der Dienst wurde innerhalb einer Stunde wiederhergestellt, ohne Auswirkungen auf die Datensicherheit.
Zeitlinie (UTC)
- 18:07: Die APIs des Logto-Authentifizierungsdienstes begannen, 500-Fehler für Anfragen über
logto.app
zurückzugeben. - 18:24: Die Untersuchung bestätigte, dass das Azure-Backend fehlerfrei funktionierte und das Problem auf Cloudflare Workers und KV beschränkt war.
- 18:48: Cloudflare bestätigte offiziell eine Störung, die Workers und KV betraf.
- 18:58: Wir haben eine temporäre Umgehungslösung implementiert, indem wir die Caching-Logik entfernten. Damit wurde der Dienst wiederhergestellt, wobei es zu geringfügigen Leistungseinbußen kommen konnte.
- 21:00: Nachdem sich die Cloudflare-Dienste stabilisierten, haben wir die Caching-Logik mit einem abgestuften Fallback erneut implementiert. Die volle Leistung wurde wiederhergestellt und der Dienst ist nun widerstandsfähiger gegenüber ähnlichen KV-Ausfällen.
Grundursache
Dieser Vorfall wurde durch einen Ausfall bei Cloudflare Workers KV ausgelöst. Unser Cloudflare Worker leitet Anfragen zur jeweils korrekten Logto-Region für jeden Mandanten oder jede Domain weiter, um die Einhaltung von Datenresidenz-Anforderungen zu gewährleisten. Um die Leistung zu verbessern, nutzt der Worker KV, um diese Regionszuordnungen zwischenzuspeichern. Als KV nicht verfügbar war, schlugen die Cache-Operationen fehl und der Worker warf Fehler, anstatt auf einen No-Cache-Modus zurückzufallen, was zur Dienstunterbrechung führte.
Logto Cloud-Dienste und Logto Console waren nicht betroffen, da sie auf direkte DNS-Auflösung setzen und Cloudflare Workers nicht für das Routing nutzen.
Lösung und Verbesserungen
- Entfernen der Caching-Abhängigkeit aus dem Worker und Wiederherstellung des Dienstes.
- Nach Wiederherstellung von Cloudflare KV wurde die Caching-Logik mit einem abgestuften Fallback erneut eingeführt. Sollte der Cache nicht verfügbar sein, erfolgt das Routing weiterhin direkt, ohne den Dienst zu beeinträchtigen.
- Laufende Verbesserungen an der Infrastruktur, um Ausfallsicherheit und Verfügbarkeit weiter zu erhöhen.
Auswirkungen
- Nutzer, die Logto über
logto.app
aufriefen, erlebten etwa 50 Minuten lang Fehler. - Es wurden keine Kundendaten verloren oder kompromittiert.
- Logto Cloud-Dienste und Logto Console blieben durchgehend voll funktionsfähig.
Nächste Schritte
- Wir werden unsere Fehlerbehandlung in der Edge-Infrastruktur überprüfen und verbessern.
- Wir prüfen den Einsatz mehrerer Anbieter für Infrastrukturkomponenten, um Single Points of Failure zu vermeiden.
Vielen Dank für deine Geduld und Unterstützung.