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.