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
- Si no quieres gestionar instancias: Fargate, Lambda o Elastic Beanstalk (que usa Auto Scaling por debajo).
- Para escalar otros recursos (tareas de ECS (Elastic Container Service), capacidad de DynamoDB, réplicas de Aurora): Application Auto Scaling o AWS Auto Scaling.
- Para bases de datos con estado en instancias: es mejor un servicio gestionado.
EC2 Auto Scaling frente a AWS Auto Scaling
| Característica | EC2 Auto Scaling | AWS Auto Scaling |
|---|---|---|
| Qué escala | Grupos de instancias EC2 | Varios recursos a la vez (grupos EC2, ECS, DynamoDB, Aurora, Spot Fleet) |
| Crea y gestiona el grupo | Sí | No, configura el escalado de recursos existentes |
| Políticas | Todas (objetivo, pasos, simple, programada, predictiva) | Seguimiento de objetivo y predictiva mediante planes |
| Sustituye instancias no sanas | Sí | 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
- What is Amazon EC2 Auto Scaling?, documentación de AWS (consultada el 26/09/2026).
- Dynamic scaling for Amazon EC2 Auto Scaling, documentación de AWS (consultada el 26/09/2026).
- Predictive scaling for Amazon EC2 Auto Scaling, documentación de AWS (consultada el 26/09/2026).
- Amazon EC2 Auto Scaling lifecycle hooks, documentación de AWS (consultada el 26/09/2026).
- Health checks for instances in an Auto Scaling group, documentación de AWS (consultada el 26/09/2026).