Cours > Module > Chapitre

Lab : Déployer un flux HTTPs avec ALB et ACM

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.
    Un Auto Scaling Group contenant des instances EC2 exécutant un serveur web Apache ou Nginx.

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

  1. Accédez à la console AWS.
  2. Allez dans EC2 > AMIs.
  3. Recherchez une AMI Amazon Linux 2023 disponible dans votre région.
  4. Notez l’ID de l’AMI.
  5. 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

  1. Accédez à la console AWS.
  2. Allez dans CloudFormation > Créer une pile > Avec de nouvelles ressources (standard).
  3. Dans Spécifier un modèle, choisissez Charger un fichier de modèle.
  4. Chargez le fichier template-lab-alb.yaml mis à jour.
  5. Cliquez sur Suivant.

Étape 3 : Configurer la pile

  1. Indiquez le nom de la pile : LabALBStack.
  2. Cliquez sur Suivant.
  3. Laissez les options par défaut et cliquez sur Suivant.
  4. Vérifiez les paramètres et cliquez sur Soumettre.

Étape 4 : Valider les ressources créées

  1. Attendez la fin du déploiement de la pile.
  2. 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

  1. Accéder à AWS Certificate Manager (ACM) :
    • Allez dans la console AWS.
    • Accédez à AWS Certificate Manager.
    • Cliquez sur Request a certificate.
  2. Sélectionner le type de certificat :
    • Choisissez Public certificate (Certificat public).
    • Cliquez sur Next.
  3. 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.
  4. Sélectionner la validation du certificat :
    • Choisissez DNS validation (recommandé).
    • Cliquez sur Next.
  5. 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

  1. Accéder à l’ALB :
    • Allez dans Amazon EC2 > Load Balancers.
    • Sélectionnez votre Application Load Balancer.
  2. 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.
  3. 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é)

  1. 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é

  1. Vérifier l’URL HTTPS :
    • Allez dans Amazon EC2 > Load Balancers.
    • Copiez le DNS Name de l’ALB.
    • Dans votre navigateur, ouvrez :

https://<DNS-Name-ALB>

  • Vous devriez voir la page web hébergée sur les instances EC2.
  1. 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 :

  1. Supprimer le listener HTTPS :
    • Allez dans EC2 > Load Balancers.
    • Sélectionnez l’ALB et supprimez le listener HTTPS.
  2. Révoquer le certificat ACM :
    • Allez dans AWS Certificate Manager.
    • Sélectionnez le certificat et supprimez-le.
  3. Supprimer l’ALB et le groupe cible (si non utilisé ailleurs).
  4. Supprimer la pile CloudFormation (si l’ALB a été créé via une pile).
×

Panier