Resiliencia · AWS

Diseño de recuperación ante desastres para Amazon EKS en AWS

Traducción al español del artículo original. Mantiene su estructura, descripción de arquitectura y alcance.

Por Jorge Lozano · 21 abr 2025 · Amazon EKS

Descripción general

Garantizar la disponibilidad y la continuidad del negocio es fundamental para las aplicaciones cloud-native modernas. Este artículo explora una arquitectura integral de plan de recuperación ante desastres para Amazon Elastic Kubernetes Service (EKS), que aprovecha Route 53 para el failover de DNS, CloudWatch para la monitorización y Karpenter para el aprovisionamiento dinámico de nodos. El objetivo es construir un sistema automatizado y resiliente, capaz de gestionar fallos de forma controlada y con un tiempo de inactividad mínimo.

Diseño de la arquitectura

1. Configuración multirregión

  • Región primaria (us-east-1): región activa que atiende el tráfico de producción.
  • Región secundaria (us-east-2): entorno en espera activa (warm standby), con un clúster EKS listo para activarse.

Cada región contiene:

  • Una VPC con subredes públicas y privadas.
  • Las subredes públicas se usan para el ingreso de tráfico mediante balanceadores de carga de aplicaciones (ALB).
  • Las subredes privadas alojan los nodos de trabajo de EKS.

2. Clústeres de Amazon EKS

Cada región ejecuta un clúster EKS compuesto por:

  • Grupos de nodos administrados (Managed Node Groups) para la capacidad base.
  • Karpenter, que administra y escala dinámicamente los nodos según la programación de los Pods.

3. Balanceadores de carga

Cada clúster de EKS expone sus aplicaciones mediante un balanceador de carga de aplicaciones de AWS (ALB) desplegado en las subredes públicas. Estos ALB se someten a comprobaciones de estado y monitorización.

4. Conmutación por error de DNS (Route 53)

Route 53 se configura en modo de conmutación por error:

  • El registro primario apunta al ALB de la región activa.
  • El registro secundario apunta al ALB de la región en espera.

Las comprobaciones de estado se asocian al ALB primario. Si falla, Route 53 dirige el tráfico a la región en espera.

5. Monitorización y mecanismo de activación

AWS CloudWatch monitoriza las métricas del plano de control y activa una alarma cuando detecta errores 500. Al activarse, la alarma publica un mensaje en un tema de SNS, que invoca una función de AWS Lambda suscrita. La función ejecuta la conmutación por error y complementa las comprobaciones de estado del ALB para facilitar una transición fluida ante una falla.

Beneficios principales

  • Alta disponibilidad: la redundancia entre regiones ayuda a mantener las aplicaciones en línea.
  • Recuperación automática: conmutación por error basada en activadores mediante DNS y Lambda.
  • Eficiencia operativa: Karpenter aprovisiona dinámicamente los tipos de instancia adecuados.
  • Menor tiempo de inactividad: con copias de seguridad y restauración mediante Velero, las cargas de trabajo que no usan GitOps se pueden recuperar rápidamente.

Próximos pasos

Métricas personalizadas para el estado de los nodos

  • Implementar una métrica personalizada de CloudWatch para seguir el porcentaje de nodos de EKS en estado Ready.
  • Activar alertas si se supera un umbral (por ejemplo, menos del 70 %) e iniciar la conmutación por error.

Implementar copias de seguridad con Velero

  • Programar copias de seguridad periódicas para los namespaces que no administra Flux.
  • Configurar Velero en ambos clústeres para que compartan el acceso al mismo bucket de S3.
  • Validar los escenarios de restauración para asegurar una recuperación rápida en la región en espera.

Conclusión

Crear un plan de recuperación ante desastres para EKS requiere más que desplegar en varias regiones. Con la combinación adecuada de monitorización, automatización y estrategias de respaldo, es posible lograr una alta resiliencia y minimizar el tiempo de inactividad. La arquitectura presentada permite que, incluso ante una falla parcial o total de una región, las aplicaciones sigan atendiendo a los usuarios de forma confiable.

Esta implementación del plan de recuperación permite que los equipos de ingeniería se concentren en innovar, con estrategias sólidas de continuidad operativa.