AWS Auto Scaling のアイコン

AWS Auto Scaling Essential2009年〜

Un servicio que escala automáticamente EC2, ECS, DynamoDB y otros recursos según la demanda

Qué hace

AWS Auto Scaling ajusta automáticamente el número de recursos, como instancias EC2, tareas ECS, tablas DynamoDB y réplicas Aurora, según la demanda de la aplicación. Estableces políticas de escalado basadas en métricas como utilización de CPU o número de solicitudes, y agrega recursos cuando la carga es alta y los elimina cuando es baja. Esto te permite mantener el rendimiento mientras optimizas los costos.

Casos de uso

Se utiliza para manejar picos de tráfico durante eventos de ventas de comercio electrónico, variar el número de servidores entre horario laboral y nocturno para optimización de costos, y ajustar automáticamente recursos para mantener tiempos de respuesta consistentes en aplicaciones web. Con el escalado predictivo, incluso puedes prever la demanda a partir de patrones de tráfico históricos y escalar con anticipación.

Analogía cotidiana

Imagínalo como las cajas de un supermercado. Durante las horas tranquilas, solo 2 cajas (servidores) están abiertas. Cuando hay mucha gente, se abren automáticamente más cajas hasta 5. Cuando el tráfico disminuye, vuelve a 2. El gerente de la tienda (Auto Scaling) monitorea constantemente las filas (carga) y ajusta automáticamente el número de cajas abiertas.

¿Qué es Auto Scaling?

AWS Auto Scaling es un servicio que aumenta o disminuye automáticamente el número de recursos según la carga de tu aplicación. Uno de los mayores beneficios de la nube es la capacidad de usar solo los recursos que necesitas, cuando los necesitas. Auto Scaling automatiza este beneficio, eliminando la necesidad de agregar o eliminar servidores manualmente. Previene tanto el desperdicio de costos por sobreaprovisionamiento como la degradación del rendimiento por infraaprovisionamiento.

Políticas de escalado

Auto Scaling ofrece tres enfoques principales de escalado. El escalado por seguimiento de objetivo es el más simple: solo estableces un valor objetivo, como mantener la utilización de CPU al 70%. El escalado por pasos te permite configurar diferentes cantidades de escalado para diferentes niveles de carga. El escalado programado permite configuraciones basadas en tiempo, como aumentar instancias cada mañana a las 9 AM.

Escalado predictivo

El escalado predictivo usa machine learning para analizar patrones de tráfico históricos y prever la demanda futura, escalando proactivamente. Por ejemplo, si el tráfico aumenta consistentemente a las 10 AM todos los días, incrementa las instancias justo antes de las 10 AM. Esto maneja aumentos repentinos de carga que el escalado reactivo no puede seguir. Para casos de estudio y mejores prácticas sobre escalado predictivo, libros técnicos en Amazon son una referencia útil.

Cómo empezar

Para EC2, comienza definiendo la configuración de tu instancia en una plantilla de lanzamiento, luego crea un grupo de Auto Scaling. Establece los números mínimo, máximo y deseado de instancias, y agrega una política de escalado. La forma más fácil de comenzar es con una política de seguimiento de objetivo apuntando al 70% de utilización de CPU. Puedes monitorear la actividad de escalado a través de métricas de CloudWatch.

Aspectos a tener en cuenta

  • Auto Scaling itself is free, but you pay standard rates for resources added through scale-out (such as EC2 instances)
  • Since instances are terminated during scale-in, your application must be designed to be stateless. Externalize session data to ElastiCache or DynamoDB
  • If cooldown periods are not configured properly, frequent scale-out and scale-in cycles (known as flapping) may occur
共有するXB!