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.

En résumé

Les Auto Scaling Groups (ASG) AWS permettent d'ajuster automatiquement le nombre d'instances EC2 en fonction de la charge, via des stratégies de scaling-out (augmentation) et scaling-in (réduction). Les ASG utilisent des configurations de lancement définissant le type d'instance, le volume EBS, les groupes de sécurité, et s'intègrent avec CloudWatch pour surveiller des métriques (CPU, réseau, requêtes personnalisées) et déclencher des actions d'ajustement automatique.

Points clés

  • Scaling out/in : augmenter ou réduire dynamiquement le nombre d'instances selon la demande et la charge
  • Taille min/max/actuelle : définir les limites et la capacité souhaitée pour adapter l'infrastructure au trafic réel
  • Configuration de lancement (AMI) : spécifier le type d'instance, volume EBS, groupes de sécurité, paire de clés SSH et données utilisateur
  • Métriques de scaling : CPU, RAM, réseau, nombre de requêtes, ou métriques personnalisées envoyées par l'application via CloudWatch
  • Intégration CloudWatch + alertes : les règles basées sur des seuils déclenchent automatiquement la création ou suppression d'instances
  • ASG gratuit, rôles IAM attachés : on paye uniquement les ressources réelles (instances, Load Balancer), les règles IAM s'appliquent automatiquement

Questions fréquentes

Qu'est-ce qu'un Auto Scaling Group (ASG) et pourquoi c'est utile ?

Un ASG est un groupe d'instances EC2 qui se redimensionne automatiquement selon la charge. Il augmente les instances quand le trafic monte (scaling-out) et les réduit quand la charge baisse (scaling-in), optimisant les coûts et la disponibilité sans intervention manuelle.

Comment définir les règles de scaling automatique ?

On crée des stratégies basées sur CloudWatch : surveiller une métrique (CPU %, réseau, requêtes par instance, ou métrique personnalisée), définir un seuil (ex. CPU >70%), et décider du nombre d'instances à ajouter ou retirer. Les règles peuvent aussi suivre un calendrier si on connaît les habitudes des visiteurs.

Qu'est-ce qu'une configuration de lancement et pourquoi elle change ?

La configuration de lancement (ou modèle) définit le template des instances : type (t3, m5, etc.), AMI, volume EBS, groupes de sécurité, paire de clés. Pour mettre à jour un ASG (nouvelle version app, patch système), il faut créer une nouvelle configuration/modèle, car les instances existantes ne se mettent pas à jour automatiquement.