MÓDULO 9 - Auto Scaling
Visión General
Este módulo profundiza en AWS Auto Scaling, el servicio que ajusta automáticamente el número de instancias según la carga. Aprenderá a configurar políticas de scaling eficaces.
Objetivos de Aprendizaje
- Comprender los Auto Scaling Groups (ASG)
- Configurar diferentes políticas de scaling
- Elegir las métricas y umbrales adecuados
- Dimensionar correctamente una aplicación
- Evitar errores comunes
Contenido de la Semana
1. Auto Scaling Group (ASG)
┌─────────────────────────────────────────────────────────────┐
│ AUTO SCALING GROUP │
├─────────────────────────────────────────────────────────────┤
│ │
│ Paramètres de base : │
│ • Minimum : 2 instances (toujours) │
│ • Desired : 2 instances (normal) │
│ • Maximum : 10 instances (pic) │
│ │
│ Charge normale Charge élevée │
│ │
│ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │
│ │ 1 │ │ 2 │ ────► │ 1 │ │ 2 │ │ 3 │ │ 4 │ │
│ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ │
│ Desired: 2 Desired: 4 │
│ │
│ Scale Out (ajout) │
│ ◄──────────────── │
│ Scale In (retrait) │
│ │
└─────────────────────────────────────────────────────────────┘
2. Políticas de Scaling
| Tipo | Descripción | Caso de Uso |
|---|---|---|
| Target Tracking | Mantiene una métrica objetivo | CPU al 70%, el más sencillo |
| Step Scaling | Acciones por escalones | Respuesta gradual |
| Simple Scaling | Una acción a la vez | Casos básicos |
| Scheduled | Horarios programados | Patrones previsibles |
| Predictive | ML predictivo | Cargas previsibles |
3. Target Tracking (Recomendado)
┌─────────────────────────────────────────────────────────────┐
│ TARGET TRACKING │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Mantenga el CPU promedio en 70%" │
│ │
│ CPU% │
│ 100│ │
│ │ ┌────┐ │
│ 90│ │ │ Scale Out │
│ │ │ ▼ │
│ 70│──────┴────────────────── Target: 70% │
│ │ ┌────┐ │
│ 50│ │ │ Scale In │
│ │ │ ▼ │
│ 30│ └───────────── │
│ └────────────────────────────► Temps │
│ │
│ AWS ajusta automáticamente el número de instancias │
│ para mantener el objetivo. │
│ │
└─────────────────────────────────────────────────────────────┘
4. Métricas Comunes
| Métrica | Umbral Típico | Notas |
|---|---|---|
| CPUUtilization | 70% | El más utilizado |
| RequestCountPerTarget | Variable | Para ALB |
| MemoryUtilization | 80% | Requiere agente CloudWatch |
| Custom | Variable | Métricas de aplicación |
5. Errores Comunes
❌ ERRORES A EVITAR
1. Cooldown demasiado corto
→ Oscilaciones (scale up/down repetidos)
→ Solución: Cooldown 300+ segundos
2. Umbrales demasiado cercanos
→ Scale-in inmediato después de scale-out
→ Solución: Mínimo 20% de diferencia entre umbrales
3. Min = Max = Desired
→ ¡Sin scaling en absoluto!
→ Solución: Min < Desired < Max
4. Sin health check
→ Instancias unhealthy permanecen
→ Solución: Configurar los health checks de ASG
5. Instancia demasiado lenta para arrancar
→ Requests perdidas durante scale-out
→ Solución: AMI optimizada, período de warmup
Ejercicio: Configuración ASG
Escenario
Aplicación de e-commerce con:
- Tráfico normal: 100 req/s
- Pico de rebajas: 1000 req/s
- Instancia t3.medium maneja 200 req/s
Preguntas
- ¿Cuántas instancias mínimo?
- ¿Cuántas instancias máximo?
- ¿Qué política de scaling?
- ¿Qué umbrales configuraría?
Entregable
Análisis de Scaling:
- Configuración ASG propuesta
- Justificación de los umbrales
- Simulación de aumento de carga
- Cálculo de costos
Navegación
- Conceptos de Auto Scaling
- Políticas de Scaling
- Quiz de Validación - 30 preguntas para validar sus conocimientos
- Lab: Auto Scaling
Semana siguiente: MÓDULO 10 - DNS y Route 53