Objectif
L’objectif de ce lab est de déployer un Auto Scaling Group (ASG) couplé à un Application Load Balancer (ALB) afin de répartir la charge entre plusieurs instances EC2 exécutant un serveur web Apache.
1. Architecture du Lab
L’architecture mise en place inclura :
- Un Application Load Balancer (ALB) exposé sur Internet pour la distribution du trafic.
Un Auto Scaling Group (ASG) contenant 2 instances EC2 servant une page web Apache.
2. Déploiement du Auto Scaling Group avec AWS CloudFormation
Étape 1 : Vérifier et mettre à jour l’ID de l’AMI
- Accédez à la console AWS.
- Allez dans EC2 > AMIs.
- Recherchez une AMI Amazon Linux 2023 disponible dans votre région.
- Notez l’ID de l’AMI.
Ouvrez le fichier template-lab-alb.yaml et remplacez l’ID de l’AMI par celui récupéré.
Étape 2 : Créer une pile CloudFormation
- Accédez à la console AWS.
- Allez dans CloudFormation > Créer une pile > Avec de nouvelles ressources (standard).
- Dans Spécifier un modèle, choisissez Charger un fichier de modèle.
- Chargez le fichier template-lab-alb.yaml mis à jour.
Cliquez sur Suivant.
Étape 3 : Configurer la pile
- Indiquez le nom de la pile : LabALBStack.
- Cliquez sur Suivant.
- Laissez les options par défaut et cliquez sur Suivant.
- Vérifiez les paramètres et cliquez sur Soumettre.
Étape 4 : Valider les ressources créées
- Attendez la fin du déploiement de la pile.
- Vérifiez les ressources créées :
- VPC : Un VPC nommé LabVPCALB avec deux sous-réseaux publics.
- EC2 : Un Launch Template et un Auto Scaling Group avec deux instances EC2.
- Vérification du serveur web :
- Allez dans Amazon EC2 > Instances.
- Copiez l’adresse IP publique de chaque instance.
- Ouvrez un navigateur et accédez à http://<IP-Instance>.
- Assurez-vous que le message suivant s’affiche :
Instance ip-10-5-xxx-xxx.eu-west-1.compute.internal is running
3. Création de l’Application Load Balancer (ALB)
Étape 1 : Configurer l’ALB
- Allez dans Amazon EC2 > Load Balancers > Créer un Load Balancer.
- Sélectionnez Application Load Balancer.
- Configurez les paramètres suivants :
- Nom : ASG-ALB
- Scheme : Internet-facing
- Listeners : HTTP (port 80)
- VPC : Sélectionnez le VPC existant LabVPCALB.
- Subnets : Sélectionnez au moins 2 sous-réseaux publics.
- Security Group : Sélectionnez WebSecurityGroupLabALB.
Étape 2 : Créer un groupe cible (Target Group)
- Dans la section Target Groups, cliquez sur Créer un groupe cible.
- Configurez les paramètres suivants :
- Nom : ASG-TargetGroup
- Type de cible : Instances
- Protocole : HTTP
- Port : 80
- Health Check Path : /
- Ajoutez les instances EC2 du Auto Scaling Group.
- Cliquez sur Créer.
Étape 3 : Associer le groupe cible à l’ALB
- Dans la configuration du Load Balancer, assignez ASG-TargetGroup comme cible.
- Cliquez sur Créer et attendez le provisionnement.
- Notez le DNS Name de l’ALB.
4. Tester le Lab
- Accédez à Amazon EC2 > Load Balancers.
- Copiez le DNS Name de l’ALB.
- Ouvrez un navigateur et entrez l’URL http://<DNS-Name-ALB>.
- Vérifiez que les requêtes sont bien distribuées entre les instances EC2 en rafraîchissant la page plusieurs fois.
5. Nettoyage des Ressources
Pour éviter des coûts inutiles, suivez ces étapes pour nettoyer les ressources créées :
- Supprimer l’Application Load Balancer :
- Allez dans EC2 > Load Balancers.
- Sélectionnez ASG-ALB et supprimez-le.
- Supprimer le groupe cible :
- Allez dans EC2 > Target Groups.
- Supprimez ASG-TargetGroup.
- Supprimer la pile CloudFormation :
- Allez dans CloudFormation.
- Sélectionnez LabALBStack et cliquez sur Supprimer.
Une fois la suppression terminée, toutes les ressources associées seront automatiquement supprimées.