← Volver al catálogo

Amazon EC2 Auto Scaling

En una frase: Añade o quita servidores de un grupo según la demanda y reemplaza los que fallan
Certificaciones: SAA-C03 SAP-C02

Qué es

Amazon EC2 Auto Scaling gestiona grupos de Auto Scaling: conjuntos de instancias EC2 (Elastic Compute Cloud) iguales que el servicio mantiene en un tamaño entre un mínimo y un máximo. Hace dos cosas: sustituye automáticamente las instancias que no están sanas (alta disponibilidad) y ajusta el número de instancias a la demanda (escalabilidad y ahorro). Suele trabajar junto a un balanceador de carga, que reparte el tráfico entre las instancias del grupo.

Conceptos clave

  • Plantilla de lanzamiento (launch template): define qué instancia lanzar (AMI (Amazon Machine Image: plantilla con el sistema operativo para arrancar instancias), tipo, security groups, rol, user data). Sustituye a las antiguas launch configurations, que ya no reciben funciones nuevas.
  • Capacidad mínima, deseada y máxima: el grupo nunca baja del mínimo ni pasa del máximo; la deseada es la que intenta mantener ahora.
  • Varias zonas de disponibilidad: el grupo reparte las instancias entre las subredes de varias zonas y las reequilibra.
  • Comprobaciones de estado: las de EC2 (la instancia funciona) y, opcionalmente, las del balanceador (la aplicación responde). Una instancia marcada como no sana se termina y se sustituye.
  • Políticas de escalado:
    • Seguimiento de objetivo (target tracking): mantiene una métrica en un valor, por ejemplo CPU (Central Processing Unit: procesador) media al 50 % o peticiones por instancia. La más recomendada.
    • Por pasos (step): añade más o menos instancias según cuánto se supera una alarma.
    • Simple: un ajuste por alarma con periodo de espera (cooldown); heredada.
    • Programada: cambia la capacidad a horas fijas (por ejemplo, más instancias en horario laboral).
    • Predictiva: aprende los patrones diarios y semanales y lanza instancias antes del pico.
  • Grupos mixtos: varios tipos de instancia y combinación de bajo demanda y Spot en el mismo grupo.
  • Lifecycle hooks: pausan una instancia al arrancar o terminar para ejecutar acciones (instalar software, copiar registros).
  • Warm pools: instancias ya preparadas y paradas para escalar más rápido cuando el arranque es lento.
  • Instance refresh: sustituye las instancias por tandas para desplegar una nueva AMI o plantilla.

Casos de uso típicos

  • Flotas web detrás de un Application Load Balancer que crecen en los picos.
  • Trabajadores que procesan una cola SQS (Simple Queue Service) y escalan según los mensajes pendientes.
  • Mantener siempre al menos N instancias sanas repartidas en varias zonas.
  • Adelantarse a picos predecibles (lunes por la mañana) con escalado predictivo o programado.

Cuándo NO usarlo

EC2 Auto Scaling frente a AWS Auto Scaling

CaracterísticaEC2 Auto ScalingAWS Auto Scaling
Qué escalaGrupos de instancias EC2Varios recursos a la vez (grupos EC2, ECS, DynamoDB, Aurora, Spot Fleet)
Crea y gestiona el grupoSíNo, configura el escalado de recursos existentes
PolíticasTodas (objetivo, pasos, simple, programada, predictiva)Seguimiento de objetivo y predictiva mediante planes
Sustituye instancias no sanasSíNo

Modelo de precios

EC2 Auto Scaling no tiene coste propio: se pagan las instancias EC2 que lanza, sus volúmenes y las alarmas y métricas detalladas de CloudWatch que se usen.

Seguridad y alta disponibilidad

  • Instancias repartidas en varias zonas y sustitución automática de las que fallan.
  • Comprobaciones de estado del balanceador para detectar fallos de la aplicación, no solo de la máquina.
  • Rol de IAM (Identity and Access Management) en la plantilla de lanzamiento e IMDSv2 (Instance Metadata Service versión 2: con token de sesión) exigido desde la plantilla.
  • Protección frente a reducción (scale-in protection) para instancias que no deben terminarse a mitad de un trabajo.

Trampas de examen

  • "Mantener la CPU media en torno al 50 %": política de seguimiento de objetivo.
  • "Picos cada lunes a las 9:00": escalado programado o predictivo.
  • "La instancia responde a EC2 pero la aplicación está caída y no se sustituye": activar las comprobaciones de estado del balanceador en el grupo.
  • "El arranque tarda 10 minutos y el escalado llega tarde": warm pool o escalado predictivo.
  • "Ejecutar un script antes de que se termine una instancia": lifecycle hook.
  • "Alta disponibilidad": grupo con mínimo de 2 instancias en al menos dos zonas.
  • "Desplegar una nueva AMI por tandas": instance refresh.

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes