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. Además de EC2 Auto Scaling, 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, lo que lo hace apropiado para cargas de trabajo con tráfico que aumenta a la misma hora cada día.

Configuración de flota mixta con instancias Spot

Una de las opciones de optimización de costos 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 reducir costos respecto a bajo demanda (las tasas de descuento se indican en la página oficial de precios de instancias Spot). Azure Virtual Machine Scale Sets también soporta Spot VM; en EC2 Auto Scaling, la proporción entre Spot y bajo demanda, la prioridad de múltiples tipos de instancia y la distribución entre zonas de disponibilidad se controlan en la configuración de un mismo grupo de Auto Scaling.

Errores comunes en health checks y warm-up

Un punto de atención en la operación de Auto Scaling es la 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 puede entrar 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. Un enfoque 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.

Referencias (recursos oficiales de AWS)

Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.

Si esta página y la documentación oficial difieren, prevalece la documentación oficial.

Compartir