MÓDULO 9 - Auto Scaling
Visão Geral
Este módulo aprofunda o AWS Auto Scaling, o serviço que ajusta automaticamente o número de instâncias conforme a carga. Você aprenderá a configurar políticas de scaling eficazes.
Objetivos de Aprendizagem
- Compreender os Auto Scaling Groups (ASG)
- Configurar diferentes políticas de scaling
- Escolher as métricas e limites corretos
- Dimensionar corretamente uma aplicação
- Evitar erros comuns
Conteúdo da 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 | Descrição | Caso de Uso |
|---|---|---|
| Target Tracking | Mantém uma métrica alvo | CPU em 70%, o mais simples |
| Step Scaling | Ações em etapas | Resposta gradual |
| Simple Scaling | Uma ação por vez | Casos básicos |
| Scheduled | Horários programados | Padrões previsíveis |
| Predictive | ML preditivo | Cargas previsíveis |
3. Target Tracking (Recomendado)
┌─────────────────────────────────────────────────────────────┐
│ TARGET TRACKING │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Mantenha o CPU médio em 70%" │
│ │
│ CPU% │
│ 100│ │
│ │ ┌────┐ │
│ 90│ │ │ Scale Out │
│ │ │ ▼ │
│ 70│──────┴────────────────── Target: 70% │
│ │ ┌────┐ │
│ 50│ │ │ Scale In │
│ │ │ ▼ │
│ 30│ └───────────── │
│ └────────────────────────────► Tempo │
│ │
│ A AWS ajusta automaticamente o número de instâncias │
│ para manter o alvo. │
│ │
└─────────────────────────────────────────────────────────────┘
4. Métricas Comuns
| Métrica | Limite Típico | Observações |
|---|---|---|
| CPUUtilization | 70% | O mais utilizado |
| RequestCountPerTarget | Variável | Para ALB |
| MemoryUtilization | 80% | Requer agente CloudWatch |
| Custom | Variável | Métricas de aplicação |
5. Erros Comuns
❌ ERROS A EVITAR
1. Cooldown muito curto
→ Oscilações (scale up/down repetidos)
→ Solução: Cooldown 300+ segundos
2. Limites muito próximos
→ Scale-in imediato após scale-out
→ Solução: Diferença mínima de 20% entre limites
3. Min = Max = Desired
→ Sem scaling algum!
→ Solução: Min < Desired < Max
4. Sem health check
→ Instâncias unhealthy mantidas
→ Solução: Configurar health checks do ASG
5. Instância muito lenta para iniciar
→ Requests perdidas durante scale-out
→ Solução: AMI otimizada, período de warmup
Exercício: Configuração ASG
Cenário
Aplicação de e-commerce com:
- Tráfego normal: 100 req/s
- Pico de promoções: 1000 req/s
- Instância t3.medium suporta 200 req/s
Perguntas
- Quantas instâncias mínimas?
- Quantas instâncias máximas?
- Qual política de scaling?
- Quais limites você configura?
Entregável
Análise de Scaling:
- Configuração ASG proposta
- Justificativa dos limites
- Simulação de aumento de carga
- Cálculo de custos
Navegação
- Conceitos de Auto Scaling
- Políticas de Scaling
- Quiz de Validação - 30 questões para validar seu conhecimento
- Lab: Auto Scaling
Próxima semana: MÓDULO 10 - DNS e Route 53