Un error en DNS derribó la mitad de Internet: Amazon revela detalles del mayor fallo en la historia de AWS

Un error en DNS derribó la mitad de Internet: Amazon revela detalles del mayor fallo en la historia de AWS

Una sola línea en blanco provoca cientos de miles de millones en pérdidas a las principales empresas.

image

Amazon publicó un informe técnico detallado sobre una falla que paralizó grandes plataformas en línea y provocó una cadena de fallos en cascada por toda la nube de AWS. El problema surgió en una de las partes más críticas de la infraestructura — el sistema de gestión DNS del servicio DynamoDB. Debido a un error en el mecanismo de automatización, el servicio perdió los registros de sus propias direcciones, lo que provocó fallas masivas en numerosos componentes dependientes — desde EC2 y Lambda hasta las plataformas de contenedores ECS y EKS. Las consecuencias del incidente afectaron a decenas de empresas y organismos gubernamentales, y el daño económico, según estimaciones de analistas, podría ascender a cientos de miles de millones de dólares.

La falla comenzó a las 23:48 hora del Pacífico del 19 de octubre (07:48 UTC del 20 de octubre), cuando los clientes empezaron a registrar un porcentaje elevado de errores de la API de DynamoDB en la región Norte de Virginia (US-EAST-1). La causa raíz fue una carrera de estados —un error de sincronización poco frecuente— que apareció en el sistema DNS automatizado de DynamoDB. Como resultado, uno de sus componentes dejó un registro DNS vacío para el punto final regional del servicio, lo que impidió al sistema resolver correctamente los nombres y redirigir las solicitudes.

El sistema de gestión DNS de DynamoDB está construido en dos partes independientes para aumentar la tolerancia a fallos. La primera es DNS Planner, que supervisa el estado de los balanceadores de carga y genera planes DNS. La segunda es DNS Enactor, que aplica esos cambios a través del servicio Amazon Route 53. Durante el incidente, Planner siguió generando nuevas configuraciones, mientras que uno de los Enactor experimentó retrasos. Cuando el segundo Enactor empezó a ejecutar planes más recientes, este casi al mismo tiempo inició el procedimiento de limpieza de datos obsoletos — y fue precisamente en ese momento cuando el primer Enactor completó la actualización retrasada. El sistema erróneamente consideró el plan anterior como "expirado" y eliminó todas las direcciones IP del nodo regional, dejando la infraestructura en un estado no concordante en el que ya no se aplicaban las actualizaciones automáticas.

Antes de la intervención de los ingenieros, la conexión a DynamoDB dejó de funcionar no solo para los clientes sino también para los servicios internos de AWS. El informe señala que entre los afectados estuvieron los procesos de inicio de instancias EC2 y el mecanismo de configuración de redes. La falla afectó de manera especial a Droplet Workflow Manager (DWFM) — el componente que gestiona el alquiler de servidores físicos para instancias virtuales EC2. Dado que DWFM depende de DynamoDB, los errores de DNS le impidieron realizar comprobaciones de estado: los droplets no pudieron renovar los alquileres ni iniciar cambios de estado, y el servicio quedó prácticamente paralizado.

Tras lograr restaurar DynamoDB a las 2:25 hora del Pacífico (09:25 UTC), DWFM comenzó a restablecer los contratos de alquiler para todo el parque de servidores EC2. La escala fue tan grande que el proceso llevó horas, y parte de los alquileres expiró antes de que pudiera renovarse. El sistema entró en un estado que los ingenieros describieron como "colapso por congestión" — una sobrecarga causada por avalanchas de tiempos de espera — que solo pudo resolverse manualmente a las 5:28 hora del Pacífico (12:28 UTC).

A continuación, la restauración de DynamoDB desencadenó una avalancha de operaciones de red aplazadas. Network Manager empezó a aplicar los cambios de configuración acumulados, lo que provocó retrasos en la configuración de redes para las instancias EC2 que se estaban lanzando. Estos retrasos, a su vez, afectaron al funcionamiento de Network Load Balancer: el sistema de comprobación de estado marcaba las nuevas instancias como "defectuosas" y las eliminaba del grupo hasta que una comprobación posterior las devolvía. Como resultado, se vieron afectados todos los servicios dependientes de EC2 — AWS Lambda, Elastic Container Service, Elastic Kubernetes Service y Fargate — donde el despliegue de contenedores y funciones falló o sufrió retrasos.

Amazon declaró que desactivó temporalmente la automatización de DNS Planner y DNS Enactor a nivel mundial hasta que se implementen mecanismos de protección que eviten la repetición de la carrera de estados. La compañía pidió disculpas a los clientes, señalando que continúa analizando los detalles del incidente en todos los servicios afectados de AWS y que planea revisar los procedimientos de recuperación para reducir el tiempo de respuesta ante fallas similares.

El incidente, que se prolongó casi un día, interrumpió el funcionamiento de sitios, plataformas en línea y sistemas gubernamentales en todo el mundo. Según estimaciones de analistas, el daño agregado — desde la paralización de los servicios en la nube y la pérdida de transacciones hasta alteraciones en las cadenas de suministro y los sistemas de pago — podría alcanzar cientos de miles de millones de dólares. Este caso mostró cuán frágil puede ser la infraestructura digital, incluso si está construida por el mayor proveedor de nube del planeta, y cómo una sola falla en el mecanismo DNS puede propagarse en cuestión de minutos por todo el panorama tecnológico.

¿Estás cansado de que Internet sepa todo sobre ti?

¡Únete a nosotros y hazte invisible!