Tous les guides de déploiement Déploiement

Certificats SSL sur AWS (ACM, EC2, ALB, CloudFront)

AWS propose plusieurs façons d’ajouter HTTPS selon votre architecture. La bonne approche dépend de l’utilisation d’un load balancer, de CloudFront ou d’une instance EC2 autonome.

Arbre de décision

Utilisez-vous un ALB, NLB ou CloudFront ?
├── Oui → Utiliser AWS Certificate Manager (ACM) — gratuit, renouvellement automatique
└── Non (EC2 autonome) ?
    ├── Pouvez-vous installer Certbot ? → Certbot sur EC2 (renouvellement automatique)
    └── Pas de root / configuration rapide ? → GetHTTPS → installation manuelle sur EC2

Option 1 : AWS Certificate Manager (ACM) — pour les load balancers & CloudFront

ACM fournit des certificats SSL gratuits avec renouvellement automatique. Ils ne fonctionnent qu’avec les services AWS (ALB, NLB, CloudFront, API Gateway) — la clé privée ne peut pas être téléchargée.

Demander un certificat

  1. Ouvrez AWS Certificate Manager dans la console
  2. Cliquez sur Demander un certificatDemander un certificat public
  3. Saisissez votre/vos domaine(s) : example.com, *.example.com
  4. Choisissez la validation : Validation DNS (recommandée) ou par e-mail
  5. Cliquez sur Demander

Validation DNS

ACM vous fournit un enregistrement CNAME à ajouter à votre DNS :

  • Nom : _xxxx.example.com
  • Valeur : _yyyy.acm-validations.aws

Si votre DNS est dans Route 53, cliquez sur “Créer des enregistrements dans Route 53” — ACM l’ajoute automatiquement.

Attacher à un ALB

  1. Allez dans EC2 → Load Balancers → sélectionnez votre ALB
  2. Onglet Listeners → Ajouter un listener (ou modifier l’existant)
  3. Protocole : HTTPS, Port : 443
  4. Action par défaut : Transférer vers votre groupe cible
  5. Certificat SSL/TLS par défaut : sélectionnez votre certificat ACM
  6. Enregistrer

Attacher à CloudFront

  1. Allez dans CloudFront → sélectionnez votre distribution
  2. Onglet GénéralModifier
  3. Certificat SSL personnalisé : sélectionnez votre certificat ACM (doit être dans us-east-1)
  4. Enregistrer

Option 2 : Let’s Encrypt sur EC2 (instances autonomes)

Si vous exécutez une seule instance EC2 sans load balancer, installez le certificat directement sur le serveur.

Avec GetHTTPS (aucune installation requise)

  1. Obtenez un certificat depuis GetHTTPS
  2. Téléchargez les fichiers sur votre instance EC2 :
    scp fullchain.pem privkey.pem ec2-user@your-ec2-ip:/etc/ssl/
  3. Configurez Nginx ou Apache sur l’instance

Avec Certbot (renouvellement automatique)

# Amazon Linux 2023
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

# Ubuntu sur EC2
sudo snap install --classic certbot
sudo certbot --nginx -d example.com

Certbot configure le renouvellement automatique automatiquement.

ACM vs Let’s Encrypt sur AWS

ACMLet’s Encrypt (GetHTTPS/Certbot)
CoûtGratuitGratuit
Fonctionne avec ALB/CloudFront❌ (impossible d’importer LE dans ACM facilement)
Fonctionne directement sur EC2
Renouvellement automatique✅ (géré par AWS)✅ (Certbot) ou manuel (GetHTTPS)
Accès à la clé privée❌ (AWS la conserve)✅ (vous l’avez)
Wildcard
Utilisation hors AWS✅ (portable)

Règle générale : Utilisez ACM pour tout ce qui est derrière un ALB ou CloudFront. Utilisez Let’s Encrypt pour les instances EC2 autonomes.

Configuration du groupe de sécurité

Assurez-vous que votre groupe de sécurité EC2 ou ALB autorise le trafic entrant sur les ports 80 et 443 :

Type        Protocole  Port  Source
HTTP        TCP        80    0.0.0.0/0
HTTPS       TCP        443   0.0.0.0/0

Le port 80 est nécessaire pour les redirections HTTP→HTTPS et pour les challenges HTTP-01 de Let’s Encrypt.

Questions fréquemment posées

Puis-je utiliser des certificats ACM directement sur EC2 ?

Non. Les certificats ACM ne peuvent être attachés qu’aux services gérés par AWS (ALB, NLB, CloudFront, API Gateway). La clé privée ne peut pas être exportée. Pour une EC2 autonome, utilisez GetHTTPS ou Certbot.

Puis-je importer un certificat Let’s Encrypt dans ACM ?

Techniquement oui (aws acm import-certificate), mais il ne se renouvellera pas automatiquement via ACM. Vous devriez réimporter tous les 90 jours. Il est plus simple d’utiliser les certificats natifs d’ACM pour les services AWS et Let’s Encrypt pour EC2.

Quelle région AWS pour les certificats ACM ?

Pour ALB/NLB : demandez le certificat dans la même région que votre load balancer. Pour CloudFront : le certificat doit être dans us-east-1 (Virginie du Nord), quelle que soit la localisation de votre origine.

ACM est-il vraiment gratuit ?

Oui. Les certificats SSL/TLS publics d’ACM sont gratuits. Il n’y a aucun frais par certificat ni pour le renouvellement. Vous ne payez que les ressources AWS qui utilisent le certificat (ALB, CloudFront, etc.).

Comment gérer SSL pour un service ECS/Fargate ?

Placez un ALB devant votre service ECS et attachez un certificat ACM au listener de l’ALB. L’ALB termine TLS et transfère le HTTP à vos conteneurs. C’est le modèle standard pour ECS.

Comment gérer SSL pour un site web statique S3 ?

L’hébergement de site web statique S3 ne prend pas en charge les certificats SSL personnalisés directement. Placez CloudFront devant S3 et attachez un certificat ACM (depuis us-east-1) à la distribution CloudFront.

Qu’en est-il d’API Gateway ?

AWS API Gateway inclut du SSL gratuit par défaut sur *.execute-api.region.amazonaws.com. Pour un domaine personnalisé (par ex. api.example.com), créez un certificat ACM et configurez un nom de domaine personnalisé dans API Gateway.

Dois-je utiliser ACM ou GetHTTPS sur AWS ?

ScénarioUtiliser
ALB / NLB / CloudFrontACM — gratuit, renouvellement automatique, intégration native
EC2 autonomeGetHTTPS ou Certbot — ACM ne peut pas exporter les clés vers EC2
EC2 derrière ALBACM sur ALB — EC2 n’a pas besoin de son propre certificat
ECS / FargateACM sur ALB — modèle standard
LightsailLightsail intégré — inclut Let’s Encrypt gratuit

Si vous êtes sur une EC2 sans load balancer, GetHTTPS est le moyen le plus rapide d’obtenir un certificat — aucun AWS CLI requis.

Articles connexes

Premiers pas 2026-05-08
Comment obtenir un certificat SSL gratuit (guide étape par étape)
Obtenez un certificat SSL gratuit de Let's Encrypt en 5 minutes — aucun logiciel à installer, aucun compte à créer. Guide complet couvrant 4 méthodes, les deux types de challenge, l'installation sur 6 plateformes et le dépannage.
Déploiement 2026-05-08
Comment installer un certificat SSL sur Nginx
Guide étape par étape pour installer un certificat SSL sur Nginx. Couvre l'upload des fichiers, la configuration complète du bloc serveur, les bonnes pratiques TLS, HTTP/2, HSTS, la configuration des redirections, les tests et le dépannage de 6 erreurs courantes.
Déploiement 2026-05-08
Certificats SSL avec Docker et les reverse proxies
Configurez HTTPS pour les conteneurs Docker en utilisant un reverse proxy Nginx, Traefik avec Let's Encrypt automatique, ou le montage manuel de certificats.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat