Objectif
L’objectif de ce lab est de configurer un Application Load Balancer (ALB) acceptant les connexions HTTPS en utilisant un certificat SSL/TLS géré par AWS Certificate Manager (ACM).
1. Prérequis
- Un nom de domaine enregistré (ex. : example.com) géré via Route 53 ou un autre fournisseur DNS.
- Un VPC avec deux sous-réseaux publics.
- Un Application Load Balancer (ALB) configuré avec un groupe cible.
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. Demander un certificat SSL/TLS dans ACM
- Accéder à AWS Certificate Manager (ACM) :
- Allez dans la console AWS.
- Accédez à AWS Certificate Manager.
- Cliquez sur Request a certificate.
- Sélectionner le type de certificat :
- Choisissez Public certificate (Certificat public).
- Cliquez sur Next.
- Ajouter votre domaine :
- Dans Domain name, entrez votre domaine (example.com).
- Ajoutez un sous-domaine générique (*.example.com) si vous souhaitez sécuriser plusieurs sous-domaines.
- Cliquez sur Next.
- Sélectionner la validation du certificat :
- Choisissez DNS validation (recommandé).
- Cliquez sur Next.
- Valider le certificat :
- AWS générera un CNAME à ajouter dans votre gestionnaire DNS.
- Si vous utilisez Route 53, cliquez sur Create record in Route 53.
- Sinon, ajoutez manuellement le CNAME dans votre fournisseur DNS.
- Attendez la validation du certificat (cela peut prendre quelques minutes à quelques heures).
4. Configurer l’Application Load Balancer pour HTTPS
Étape 1 : Modifier l’ALB pour ajouter un listener HTTPS
- Accéder à l’ALB :
- Allez dans Amazon EC2 > Load Balancers.
- Sélectionnez votre Application Load Balancer.
- Ajouter un listener HTTPS (port 443) :
- Dans l’onglet Listeners, cliquez sur Add listener.
- Sélectionnez HTTPS (port 443).
- Dans SSL/TLS Certificate, sélectionnez From ACM.
- Choisissez le certificat ACM validé précédemment.
- Sélectionnez le Security Policy (ex. : ELBSecurityPolicy-2016-08).
- Cliquez sur Next.
- Configurer le routing :
- Sélectionnez le Target Group existant.
- Cliquez sur Next et Save.
Étape 2 : Forcer la redirection HTTP vers HTTPS (optionnel mais recommandé)
- Modifier le listener HTTP (port 80) :
- Dans l’onglet Listeners, sélectionnez le listener HTTP (80).
- Cliquez sur Edit.
- Ajoutez une règle de redirection vers HTTPS (443).
- Enregistrez les modifications.
5. Tester l'accès sécurisé
- Vérifier l’URL HTTPS :
- Allez dans Amazon EC2 > Load Balancers.
- Copiez le DNS Name de l’ALB.
- Dans votre navigateur, ouvrez :
- Vous devriez voir la page web hébergée sur les instances EC2.
- Vérifier le certificat SSL :
- Cliquez sur le cadenas dans la barre d’adresse du navigateur.
- Assurez-vous que le certificat est bien émis par Amazon et qu’il est valide.
6. Nettoyage des ressources
Pour éviter des coûts inutiles, supprimez les ressources créées :
- Supprimer le listener HTTPS :
- Allez dans EC2 > Load Balancers.
- Sélectionnez l’ALB et supprimez le listener HTTPS.
- Révoquer le certificat ACM :
- Allez dans AWS Certificate Manager.
- Sélectionnez le certificat et supprimez-le.
- Supprimer l’ALB et le groupe cible (si non utilisé ailleurs).
- Supprimer la pile CloudFormation (si l’ALB a été créé via une pile).