← Volver al catálogo

AWS Auto Scaling

En una frase: Plan de escalado único para instancias, tablas NoSQL, réplicas y otros recursos
Certificaciones: SAA-C03 SAP-C02 CLF-C02
Documentación oficial: Documentación de AWS Auto Scaling ↗

Qué es

La idea de "Auto Scaling" en AWS abarca varias piezas. AWS Auto Scaling es el servicio que permite descubrir los recursos escalables de una aplicación y configurar su escalado de forma conjunta con planes de escalado, eligiendo si priorizar disponibilidad, coste o un equilibrio entre ambos. Por debajo se apoya en dos motores:

En la práctica, conviene saber qué motor escala cada cosa y qué tipo de política usar.

Conceptos clave

  • Plan de escalado: agrupa los recursos de una aplicación (por etiquetas o por una pila de CloudFormation) y les aplica una estrategia: optimizar la disponibilidad, el coste o ambas.
  • Seguimiento de objetivo: la política que usan los planes; mantiene una métrica (CPU (Central Processing Unit: procesador), utilización de capacidad de DynamoDB, conexiones de Aurora…) en un valor.
  • Escalado predictivo: para grupos EC2, anticipa la carga según el historial.
  • Recursos compatibles: grupos de EC2 Auto Scaling, servicios de ECS, tablas e índices de DynamoDB, réplicas de Aurora y Spot Fleet.
  • Lo que no hace: no crea grupos de Auto Scaling ni sustituye instancias no sanas; eso sigue siendo cosa de EC2 Auto Scaling. Para políticas por pasos o programadas se va directamente a cada servicio.

Casos de uso típicos

  • Una aplicación de tres capas cuyo frontal (grupo EC2), servicio de contenedores (ECS) y base de datos (réplicas de Aurora o DynamoDB) deben escalar de forma coherente.
  • Aplicar la misma estrategia de coste o disponibilidad a todos los recursos de una pila.
  • Activar el escalado predictivo en los grupos EC2 de una aplicación.

Cuándo NO usarlo

  • Si solo tienes un grupo de instancias o necesitas políticas por pasos o programadas: directamente EC2 Auto Scaling.
  • Si solo escalas un tipo de recurso: su configuración propia (por ejemplo, el escalado automático de la tabla de DynamoDB o el modo bajo demanda).
  • Si la carga es impredecible y quieres pagar por uso sin planificar: servicios sin servidores o modos bajo demanda.

¿Qué escala cada cosa?

RecursoMotor
Instancias EC2EC2 Auto Scaling
Tareas de un servicio de ECSApplication Auto Scaling (Service Auto Scaling)
Capacidad aprovisionada de DynamoDBApplication Auto Scaling
Réplicas de AuroraApplication Auto Scaling
Varios de los anteriores con una estrategia comúnAWS Auto Scaling (planes de escalado)
Nodos de EKS (Elastic Kubernetes Service)Karpenter o Cluster Autoscaler (o EKS Auto Mode)

Modelo de precios

AWS Auto Scaling y Application Auto Scaling no tienen coste propio. Se pagan los recursos que se añaden al escalar y las alarmas de CloudWatch que se crean.

Seguridad y alta disponibilidad

  • Usa roles vinculados a servicios para modificar la capacidad de cada recurso.
  • La estrategia "optimizar disponibilidad" deja más margen de capacidad para absorber picos.
  • La alta disponibilidad de cada recurso (varias zonas, sustitución de instancias) depende del propio servicio escalado.

Trampas de examen

  • "Escalar varios recursos de distintos servicios de una aplicación desde un solo sitio": AWS Auto Scaling.
  • "Escalar el número de tareas de ECS" o "la capacidad de DynamoDB": Application Auto Scaling.
  • "Sustituir instancias no sanas" o "crear un grupo": EC2 Auto Scaling, no AWS Auto Scaling.
  • "Escalado programado": se configura en EC2 Auto Scaling o Application Auto Scaling; los planes solo usan seguimiento de objetivo y predictivo.

Preguntas de práctica

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

Fuentes