Cours Aws

4.49 Vue d'ensemble AWS ASG

Un Auto Scaling Group (ASG) gère automatiquement le nombre d'instances EC2 derrière une application en fonction de la charge ou d'événements liés à l'utilisation des machines. Quand le trafic monte, l'ASG fait du scale-out en ajoutant des instances ; quand le trafic baisse, il fait du scale-in en en retirant. On lui fixe un nombre minimum, désiré et maximum d'instances pour borner la facture et garantir un socle de capacité.

Particularité très utile : l'ASG peut enregistrer/déregistrer automatiquement les instances qu'il crée auprès d'un load balancer (ELB). Sur le schéma, l'ASG opère entre une taille minimale, une capacité actuelle (souhaitée) et une taille maximale, et fait varier le nombre d'instances en fonction des règles définies.

Attributs d'un ASG

  • Launch configuration ou launch template : AMI, type d'instance, user data, EBS, security groups, paire de clés SSH.
  • Taille : minimale, maximale, désirée / capacité initiale.
  • Informations réseau (VPC, subnets) et association ELB.
  • Stratégies de mise à l'échelle : règles de scale-out/scale-in.
  • Alarmes CloudWatch : déclencheurs basés sur des métriques.

Les alertes CloudWatch permettent de redimensionner l'ASG en utilisant des métriques agrégées : CPU moyen, RAM, nombre d'utilisateurs connectés ou trafic réseau entrant/sortant — calculées sur l'ensemble des instances du groupe. Sur la base de ces alarmes, on définit une politique d'augmentation (scale-out) ou de réduction (scale-in) du nombre d'instances.

Les nouvelles règles AWS rendent ces stratégies plus simples : on peut directement cibler une moyenne d'utilisation CPU, un nombre moyen de requêtes par target sur l'ELB ou une moyenne de trafic réseau. On peut aussi remonter des métriques personnalisées depuis l'application via l'API CloudWatch — par exemple un nombre d'utilisateurs métier — et déclencher l'ASG dessus.

Récapitulatif : les stratégies de scaling peuvent reposer sur CPU/réseau, sur métriques personnalisées ou sur une planification horaire. Les ASG utilisent des launch configurations ou launch templates versionnés (pour mettre à jour un ASG, on crée une nouvelle version). Les rôles IAM attachés à l'ASG s'appliqueront à toutes les instances créées. Les ASG sont gratuits : on ne paie que les ressources EC2 sous-jacentes. Enfin, si une instance dans un ASG devient défaillante (ou est marquée unhealthy par le load balancer), elle est arrêtée et automatiquement remplacée par une nouvelle. Le prochain lab montrera comment créer concrètement un ASG et y attacher des règles.