Post mortem: Interruzione del servizio di autenticazione Logto
Il 12 giugno 2025, i servizi Logto su `logto.app` sono stati brevemente interrotti da un guasto di Cloudflare che ha influenzato l'instradamento delle richieste. Il problema è stato risolto rapidamente, senza alcun impatto sulla sicurezza dei dati o sui servizi principali.
Riepilogo dell'incidente
Tra le 18:07 e le 18:58 UTC del 12 giugno 2025, gli utenti che accedevano ai servizi Logto tramite il dominio logto.app
(inclusi domini personalizzati) hanno riscontrato errori. L'interruzione è stata causata da un guasto in Cloudflare Workers KV, che ha influenzato il nostro livello di instradamento. I servizi Logto Cloud e Logto Console, che utilizzano la risoluzione DNS diretta e non dipendono dai Cloudflare Workers, non sono stati interessati. Il servizio è stato ripristinato entro un'ora, senza alcun impatto sulla sicurezza dei dati.
Cronologia (UTC)
- 18:07: Le API del servizio di autenticazione Logto hanno iniziato a restituire errori 500 per le richieste tramite
logto.app
. - 18:24: Le verifiche hanno confermato che il backend Azure era operativo e il problema era isolato a Cloudflare Workers e KV.
- 18:48: Cloudflare ha ufficialmente riconosciuto un incidente che coinvolgeva Workers e KV.
- 18:58: Abbiamo implementato una soluzione temporanea rimuovendo la logica di caching, che ha ripristinato il servizio con possibili lievi degradazioni delle prestazioni.
- 21:00: Dopo la stabilizzazione dei servizi Cloudflare, abbiamo ridistribuito la logica di cache con un fallback graduale. Le prestazioni complete sono state ripristinate e il servizio ora è resiliente a simili guasti di KV.
Causa principale
Questo incidente è stato innescato da un periodo di inattività in Cloudflare Workers KV. Il nostro Cloudflare Worker instrada le richieste verso la regione Logto corretta per ogni tenant o dominio, per garantire la corretta residenza e conformità dei dati. Per migliorare le prestazioni, il Worker utilizza KV per memorizzare in cache queste mappature di regione. Quando KV è diventato indisponibile, le operazioni di cache non sono riuscite e il Worker ha generato errori invece di fare un fallback su un comportamento senza cache, causando l'interruzione del servizio.
I servizi Logto Cloud e Logto Console non sono stati influenzati perché si affidano alla risoluzione DNS diretta e non utilizzano i Cloudflare Workers per l'instradamento.
Risoluzione e miglioramenti
- Rimossa la dipendenza dalla cache dal Worker, ripristinando il servizio.
- Dopo il recupero di Cloudflare KV, la logica di cache è stata nuovamente distribuita con un fallback graduale. Se la cache non è disponibile, il servizio continua tramite instradamento diretto senza interruzioni.
- Miglioramenti continui dell'infrastruttura per aumentare ulteriormente la resilienza e la disponibilità.
Impatto
- Gli utenti che accedevano a Logto tramite
logto.app
hanno riscontrato errori per circa 50 minuti. - Nessun dato dei clienti è stato perso o compromesso.
- I servizi Logto Cloud e Logto Console sono rimasti completamente operativi.
Prossimi passi
- Rivedremo e miglioreremo la gestione degli errori nella nostra infrastruttura edge.
- Esploreremo l'utilizzo di più fornitori per l'infrastruttura a monte per evitare punti singoli di fallimento.
Grazie per la tua pazienza e il tuo supporto.