Clément Schanen

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

  1. Choix du modèle de lancement
    • Launch template (recommandé) ou Launch configuration (dépréciée)
  2. Configuration du réseau et des options d’achat
    • Spot / On-Demand, Multi-AZ
  3. Association au load balancer (ELB)
  4. Définition des capacités
    • Minimum, Desired et Maximum capacity
  5. 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