AWS Auto Scaling
Servicio que ajusta automáticamente la cantidad de recursos como instancias EC2 o tareas ECS según la demanda, equilibrando disponibilidad y eficiencia de costos
Descripción general
AWS Auto Scaling es un servicio que escala automáticamente los recursos de cómputo hacia afuera (aumento) y hacia adentro (reducción) según la carga de la aplicación. Aunque EC2 Auto Scaling es el más utilizado, también soporta servicios ECS, tablas DynamoDB, réplicas Aurora y concurrencia de Lambda, entre otros tipos de recursos. Combinando políticas de escalado por seguimiento de objetivo (basado en métricas como uso de CPU), escalado programado y escalado predictivo, es posible responder tanto a picos de tráfico como evitar el sobreaprovisionamiento.
Cómo elegir entre las 3 políticas de escalado
La elección de política de Auto Scaling varía según el patrón de tráfico. El escalado por seguimiento de objetivo solo requiere especificar un valor meta como "mantener el uso de CPU al 60%", y Auto Scaling ajusta automáticamente el número de instancias. Es fácil de configurar y adecuado para la mayoría de cargas de trabajo, aunque puede retrasarse ante picos repentinos. El escalado por pasos permite controlar con detalle cuántas instancias agregar por cada umbral de métrica, siendo adecuado para aumentos graduales de carga, pero con una configuración más compleja. El escalado predictivo analiza los patrones de métricas de los últimos 14 días mediante aprendizaje automático y escala anticipadamente, siendo ideal para cargas de trabajo con tráfico que aumenta a la misma hora cada día.
Configuración de flota mixta con instancias Spot
La optimización de costos más efectiva en Auto Scaling es la política de instancias mixtas. Asignando instancias reservadas para la carga base y utilizando instancias Spot para las instancias agregadas por Auto Scaling, es posible lograr una reducción de costos del 60-90% respecto a bajo demanda. Azure Virtual Machine Scale Sets también soporta Spot VM, pero EC2 Auto Scaling controla de forma nativa la proporción entre Spot y bajo demanda, la prioridad de múltiples tipos de instancia y la distribución entre zonas de disponibilidad, ofreciendo mayor flexibilidad para asegurar capacidad ante interrupciones de Spot. Libros sobre diseño de infraestructura AWS (Amazon) permiten aprender técnicas de optimización de costos en detalle.
Errores comunes en health checks y warm-up
Los problemas más frecuentes en la operación de Auto Scaling son los errores de configuración del health check y el periodo de cooldown. Al habilitar el health check de ELB, las instancias detectadas como anómalas a nivel de aplicación se reemplazan automáticamente, pero es necesario asegurar un periodo de gracia (Health Check Grace Period) suficiente para evitar que se juzguen como anómalas durante el warm-up posterior al despliegue. Si el periodo de gracia es demasiado corto, se entra en un bucle de detección de anomalía → terminación → nuevo lanzamiento cada vez que se inicia una nueva instancia. Además, es importante configurar un periodo de cooldown durante el escalado hacia adentro para evitar la eliminación excesiva de instancias antes de que las métricas se estabilicen. El enfoque más seguro es conocer el tiempo de ejecución del script de datos de usuario en la plantilla de lanzamiento y configurar un periodo de gracia acorde.