CalculService régional
EC2 Auto Scaling
Permet d’ajuster automatiquement le nombre d’instances EC2
Principes
- Gestion d’un groupe d’instance (= Auto Scaling Group) qui s’adapte dynamiquement à la charge
- Permet d’arrêter ou de démarrer automatiquement des instances en fonction de différents critères
- Haute disponibilité (répartition multi-AZ)
- Optimisation des coûts (ajustement du nombre d’instances)
- Intégration native avec CloudWatch, ELB, SNS, etc
Configuration
- Choix du modèle de lancement
- Launch template (recommandé) ou Launch configuration (dépréciée)
- Configuration du réseau et des options d’achat
- Spot / On-Demand, Multi-AZ
- Association au load balancer (ELB)
- Définition des capacités
- Minimum, Desired et Maximum capacity
- Configuration des notifications
- Alertes lors de créations, suppressions ou erreurs
Fonctionnement
- Grace Period : délai avant le premier health check (300 s par défaut)
- Default Termination Policy : les instances les plus anciennes (ou utilisant le plus vieux template) sont arrêtées en premier
Launch Template / Configuration
| Launch Template | Launch Configuration | |
|---|---|---|
| Versioning | Oui | Non |
| Support futur | Oui | Non |
| Flexibilité | Élevée (tags, réseau, userdata…) | Limitée |
L’utilisation des launch configuration n’est pas recommandée, il faut préférer les launch templates
Scaling policies
Types de scaling
- Réactif déclenché par métrique
- Planifié adapté à des pics connus
- Prédictif basé sur du machine learning
Paramètres clés
- Cooldown : délai avant un nouveau scaling (300 s par défaut)
- Warm-up : délai avant qu’une instance ne reçoive du trafic (évite les échecs de health check)
- Scale out ajout d’instance
- Scale in suppression d’instance
Configurer des alertes SNS afin de pouvoir suivre le comportement du scaling