MODULE 9 - Auto Scaling
Vue d'Ensemble
ce module approfondit AWS Auto Scaling, le service qui ajuste automatiquement le nombre d'instances en fonction de la charge. Vous apprendrez à configurer des politiques de scaling efficaces.
Objectifs d'Apprentissage
- Comprendre les Auto Scaling Groups (ASG)
- Configurer différentes politiques de scaling
- Choisir les bonnes métriques et seuils
- Dimensionner correctement une application
- Éviter les erreurs courantes
Contenu de la Semaine
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. Politiques de Scaling
| Type | Description | Cas d'Usage |
|---|---|---|
| Target Tracking | Maintient une métrique cible | CPU à 70%, le plus simple |
| Step Scaling | Actions par paliers | Réponse graduée |
| Simple Scaling | Une action à la fois | Cas basiques |
| Scheduled | Horaires planifiés | Patterns prévisibles |
| Predictive | ML prédictif | Charges prévisibles |
3. Target Tracking (Recommandé)
┌─────────────────────────────────────────────────────────────┐
│ TARGET TRACKING │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Maintiens le CPU moyen à 70%" │
│ │
│ CPU% │
│ 100│ │
│ │ ┌────┐ │
│ 90│ │ │ Scale Out │
│ │ │ ▼ │
│ 70│──────┴────────────────── Target: 70% │
│ │ ┌────┐ │
│ 50│ │ │ Scale In │
│ │ │ ▼ │
│ 30│ └───────────── │
│ └────────────────────────────► Temps │
│ │
│ AWS ajuste automatiquement le nombre d'instances │
│ pour maintenir la cible. │
│ │
└─────────────────────────────────────────────────────────────┘
4. Métriques Courantes
| Métrique | Seuil Typique | Notes |
|---|---|---|
| CPUUtilization | 70% | Le plus utilisé |
| RequestCountPerTarget | Variable | Pour ALB |
| MemoryUtilization | 80% | Nécessite agent CloudWatch |
| Custom | Variable | Métriques applicatives |
5. Erreurs Courantes
❌ ERREURS À ÉVITER
1. Cooldown trop court
→ Oscillations (scale up/down répétés)
→ Solution : Cooldown 300+ secondes
2. Seuils trop proches
→ Scale-in immédiat après scale-out
→ Solution : Écart min 20% entre seuils
3. Min = Max = Desired
→ Pas de scaling du tout !
→ Solution : Min < Desired < Max
4. Pas de health check
→ Instances unhealthy gardées
→ Solution : Configurer les health checks ASG
5. Instance trop lente à démarrer
→ Requests perdues pendant scale-out
→ Solution : AMI optimisée, warmup period
Exercice : Configuration ASG
Scénario
Application e-commerce avec :
- Trafic normal : 100 req/s
- Pic soldes : 1000 req/s
- Instance t3.medium gère 200 req/s
Questions
- Combien d'instances minimum ?
- Combien d'instances maximum ?
- Quelle politique de scaling ?
- Quels seuils configurez-vous ?
Livrable
Analyse de Scaling :
- Configuration ASG proposée
- Justification des seuils
- Simulation de montée en charge
- Calcul de coûts
Navigation
- Concepts Auto Scaling
- Politiques de Scaling
- Quiz de Validation - 30 questions pour valider vos connaissances
- Lab : Auto Scaling
Semaine suivante : MODULE 10 - DNS et Route 53