Un único punto de falla desencadenó la interrupción de Amazon que afectó a millones
A su vez, el retraso en las propagaciones del estado de la purple se extendió a un equilibrador de carga de purple del que dependen los servicios de AWS para su estabilidad. Como resultado, los clientes de AWS experimentaron errores de conexión en la región US-East-1. Las funciones de purple de AWS afectadas incluyeron la creación y modificación de clústeres de Redshift, invocaciones de Lambda y lanzamientos de tareas de Fargate, como flujos de trabajo administrados para Apache Airflow, operaciones del ciclo de vida de Outposts y el Centro de soporte de AWS.
Por el momento, Amazon ha deshabilitado el planificador de DNS de DynamoDB y la automatización de DNS Enactor en todo el mundo mientras trabaja para corregir la condición de carrera y agregar protecciones para evitar la aplicación de planes de DNS incorrectos. Los ingenieros también están realizando cambios en EC2 y su equilibrador de carga de purple.
Un cuento con moraleja
Ookla describió un issue contribuyente que Amazon no menciona: una concentración de clientes que enrutan su conectividad a través del punto ultimate US-East-1 y la incapacidad de realizar rutas alrededor de la región. Okla explicó:
El US-EAST-1 afectado es el centro más antiguo y más utilizado de AWS. La concentración regional significa que incluso las aplicaciones globales a menudo anclan allí flujos de identidad, estado o metadatos. Cuando una dependencia regional falla, como fue el caso en este evento, los impactos se propagan por todo el mundo porque muchas pilas “globales” pasan por Virginia en algún momento.
Las aplicaciones modernas encadenan servicios administrados como almacenamiento, colas y funciones sin servidor. Si DNS no puede resolver de manera confiable un punto ultimate crítico (por ejemplo, la API de DynamoDB involucrada aquí), los errores se propagan en cascada a través de las API ascendentes y causan fallas visibles en las aplicaciones que los usuarios no asocian con AWS. Eso es precisamente lo que Downdetector registró en Snapchat, Roblox, Sign, Ring, HMRC y otros.
El evento sirve como advertencia para todos los servicios en la nube: más importante que prevenir condiciones de carrera y errores similares es eliminar puntos únicos de falla en el diseño de la purple.
«El camino a seguir», dijo Ookla, «no es falla cero sino falla contenida, lograda a través de diseños multirregionales, diversidad de dependencia y preparación disciplinada ante incidentes, con una supervisión regulatoria que avance hacia el tratamiento de la nube como componentes sistémicos de la resiliencia nacional y económica».