Cours Aws

4.50 Création de groupe ASG

Pour créer un premier Auto Scaling Group, on suppose un load balancer et une instance EC2 déjà en place. Dans la console AWS, on ouvre le service Auto Scaling Groups et on lance Create Auto Scaling group. On nomme l'ASG (par exemple mon-asg) et on cherche un launch template — comme aucun n'existe encore, on en crée un à la volée.

Configurer le launch template

  • Nom : mon-modele-asg, et cocher Auto Scaling guidance.
  • AMI : Amazon Linux 2.
  • Instance type : t2.micro.
  • Key pair : la paire de clés ma-premiere-instance.
  • VPC par défaut, Security Group qui ouvre 22 (SSH) et 80 (HTTP).
  • EBS : volume par défaut.
  • User Data : script qui installe Apache (httpd) et publie une page d'accueil affichant le nom de l'instance.

Une fois le launch template enregistré, on revient sur le wizard de l'ASG et on le sélectionne. Toutes les informations (AMI, type, SG, user data) en sont héritées. On choisit ensuite la stratégie d'achat : ici uniquement des instances On-Demand (sans Spot). Pour le réseau, on prend le VPC par défaut et on coche les trois zones de disponibilité pour répartir les machines.

À l'étape Configure advanced options, on active l'intégration avec le load balancer existant (ALB) et on sélectionne le target group dans lequel l'ASG enregistrera ses instances. On active aussi les health checks du load balancer (en complément du health check EC2). On laisse la surveillance avancée CloudWatch désactivée pour l'instant. Étape suivante, on règle la capacité : taille désirée = 1, minimum = 1, maximum = 3. On ignore pour l'instant la stratégie de scaling auto (vu dans une autre leçon), la protection contre la mise à l'échelle, les notifications SNS et les tags. On valide la création.

Sur l'écran de l'ASG, l'onglet Activity montre la première instance qui est lancée pour respecter la capacité désirée. Dans le target group du load balancer, on voit la nouvelle instance s'enregistrer puis passer healthy. En ouvrant l'URL du load balancer, on tombe sur la page personnalisée injectée par le user data. Pour tester le scale-out, on édite la capacité de l'ASG : capacité désirée = 2. L'ASG lance immédiatement une seconde instance, l'enregistre dans le target group, et le load balancer commence à dispatcher les requêtes entre les deux machines à chaque rafraîchissement. L'ASG permet bien d'ajuster automatiquement le nombre d'instances derrière l'ELB en fonction des règles définies.

En résumé

Le tutoriel montre comment créer un groupe Auto Scaling (ASG) sur AWS avec un modèle de lancement pré-configuré. On configure une instance Amazon Linux 2 t2.micro avec un script utilisateur qui installe Apache et l'intègre à un équilibreur de charge (ALB) avec health checks activés. La leçon démontre ensuite la mise à l'échelle automatique en modifiant la capacité désirée du groupe, illustrant comment AWS lance automatiquement de nouvelles instances pour atteindre le nombre cible.

Points clés

  • Un groupe ASG nécessite un Launch Template contenant la configuration des instances (AMI, type, clés SSH, données utilisateur)
  • L'intégration avec un load balancer (ALB) et un target group permet la distribution du trafic et les health checks
  • La capacité souhaitée, minimale et maximale définissent le comportement de mise à l'échelle du groupe
  • Les données utilisateurs (user data) permettent d'exécuter automatiquement des scripts au démarrage de chaque instance
  • La mise à l'échelle est visible en temps réel via l'onglet Activité qui montre le lancement de nouvelles instances
  • Les health checks du load balancer garantissent que seules les instances saines reçoivent du trafic

Questions fréquentes

Pourquoi avons-nous besoin d'un Launch Template pour créer un ASG?

Le Launch Template contient toute la configuration requise pour créer les instances (AMI, type d'instance, clés SSH, groupes de sécurité, données utilisateur), ce qui permet à l'ASG de lancer automatiquement de nouvelles instances avec les mêmes paramètres.

Comment la mise à l'échelle automatique se déclenche-t-elle dans cet exemple?

La mise à l'échelle est déclenchée en changeant la capacité souhaitée du groupe ASG. Dans la démo, on passe de 1 à 2 instances, ce qui force AWS à lancer une nouvelle instance pour atteindre le nombre désiré.

Quel est le rôle du load balancer dans la configuration de l'ASG?

Le load balancer (ALB) distribue le trafic entre les instances et effectue des health checks pour vérifier que les instances sont opérationnelles. Seules les instances saines reçoivent du trafic.