AWS ha presentado el análisis detallado del incidente significativo ocurrido entre el 19 y 20 de octubre, que afectó a su región de N. Virginia (us-east-1). La causa principal fue un fallo de carrera en la automatización del DNS de DynamoDB, que aplicó un plan vacío al endpoint regional, impidiendo la resolución de dynamodb.us-east-1.amazonaws.com. Esto provocó un efecto dominó, afectando a servicios como IAM, STS, EC2, Lambda y otros que dependen de DynamoDB.
Respuesta de AWS
AWS detuvo la automatización globalmente y restauró manualmente el estado correcto del DNS, recuperando gradualmente los servicios afectados.
Cronología de los eventos
-
20/10, 08:48–11:40 CEST: Fallos en las APIs de DynamoDB debido a problemas de resolución DNS. La conectividad se restableció hacia las 11:40.
-
10:25–19:36 CEST: El lanzamiento de nuevas instancias EC2 falló debido al colapso del gestor de flota física. Se realizaron reinicios selectivos para normalizar la situación.
-
14:30–23:09 CEST: Errores en los Network Load Balancer por flapping en los health checks. AWS gestionó esto desactivando temporalmente la conmutación automática.
Otros servicios como Lambda, ECS/EKS/Fargate también sufrieron restricciones y fallos.
Causas y Soluciones
El incidente surgió cuando los Enactors del DNS de DynamoDB aplicaron planes antiguos y nuevos simultáneamente, dejando el endpoint sin direcciones IP. AWS planea deshabilitar globalmente esta automatización y fortalecer sus protecciones.
Medidas Futuras de AWS
-
DNS de DynamoDB: Automatización deshabilitada y revisión de condiciones de carrera.
-
NLB: Implementación de control de velocidad para evitar failovers excesivos.
-
EC2: Mejoras en el flujo de recuperación y testing.
Consejos para Equipos en AWS
- Diseñar para pérdida de región y dependencias internas.
- Cache de DNS sensata.
- Health checks consistentes.
- Funcionalidad degradada disponible.
- Manejo adecuado de las credenciales y STS.
- Runbooks y simulacros preparados.
Opinión y Comunicación Post-Incidente
Us-east-1, siendo una de las regiones más grandes y antiguas, es propensa a eventos de gran impacto. No es cuestión de evitarla, sino de no depender exclusivamente de ella.
Los equipos deben comunicar qué servicios fueron afectados, riesgos residuales, y los próximos pasos a seguir, incluyendo cambios hacia una infraestructura multi-región y mejoras en la gestión de la cache y los health checks.
Checklist de Mitigación
- Multi-AZ y multi-región.
- TTL de DNS razonables.
- Uso cuidadoso del backoff y circuit breakers.
- Control de throttling para evitar colapsos.
- AJUSTAR los health checks durante picos.
Este incidente destaca la importancia de la preparación y la redundancia en la gestión de plataformas en AWS.
