Dans ce tutoriel, vous apprendrez comment installer un certificat SSL dans AWS (Amazon Web Services). Sur AWS, vous n’installez pas de certificat sur un seul serveur comme vous le feriez avec Apache ou Nginx. Au lieu de cela, vous importez le certificat une fois dans un magasin de certificats, puis vous l’attachez à un service géré (un load balancer, CloudFront ou API Gateway) qui termine la connexion TLS pour vous. Ce guide couvre AWS Certificate Manager (ACM), l’ancien magasin de certificats IAM, et Elastic Load Balancing (ELB).
Avant l’installation, vous devez générer une demande de signature de certificat (CSR) et l’envoyer à l’autorité de certification pour approbation. Si vous n’avez pas encore effectué cette étape, commencez par la première partie de ce tutoriel. Si vous disposez déjà de vos fichiers de certificat SSL, passez directement au guide d’installation ci-dessous.
Comment générer un code CSR dans AWS
Lorsque vous demandez un certificat SSL, une étape essentielle consiste à soumettre le code CSR à votre fournisseur SSL, également appelé autorité de certification. Le CSR contient des informations codées sur votre nom de domaine et votre organisation. Vous ne pouvez pas obtenir de certificat SSL signé sans fournir ce bloc de code. Vous avez deux options :
- Utilisez notre Générateur CSR pour créer le CSR automatiquement.
- Générez le CSR manuellement. La meilleure option est de créer le CSR sur le même serveur où votre certificat SSL sera exécuté. Choisissez le tutoriel correspondant à votre plateforme :
Si vous disposez uniquement d’un load balancer et d’aucun serveur web d’origine sur lequel exécuter la commande, vous pouvez créer votre CSR et votre clé privée avec l’outil OpenSSL :
openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr
Remarque : remplacez yoursite par le nom de domaine que vous souhaitez sécuriser. Cette commande écrit également votre clé privée (yoursite.key) ; conservez-la précieusement, car vous en aurez besoin plus tard pour importer le certificat.
Après avoir exécuté la commande, OpenSSL écrit le CSR dans example.csr. Ouvrez ce fichier et copiez l’intégralité du bloc, y compris les lignes —–BEGIN CERTIFICATE REQUEST—– et —–END CERTIFICATE REQUEST—–. Vous collerez ce code lors de l’activation de votre certificat SSL.
Préparer tous les fichiers du certificat
Avant de commencer l’installation, assurez-vous de disposer de tous les fichiers de certificat nécessaires. Une fois que l’autorité de certification a signé votre certificat SSL, elle envoie les fichiers d’installation à votre boîte de réception. Voici ce dont vous avez besoin :
- Votre fichier de certificat principal, émis pour le nom de domaine que vous souhaitez sécuriser.
- Le bundle CA (la chaîne de certificats intermédiaires) de votre autorité de certification.
- Votre clé privée.
Votre certificat SSL et le bundle CA arrivent dans l’archive ZIP que la CA vous a envoyée. La clé privée est celle que vous avez générée avec votre code CSR ; elle reste à l’endroit où vous avez créé le CSR.
Un dernier point à vérifier est le format de vos fichiers. ACM et IAM n’acceptent que les fichiers encodés en PEM, alors assurez-vous que votre certificat, votre chaîne et votre clé privée sont au format PEM. PEM est un format texte qui peut porter plusieurs extensions de fichier (.pem, .key, .cer, .crt, et d’autres) ; un fichier PEM commence par une ligne telle que —–BEGIN CERTIFICATE—–. La clé privée doit être non chiffrée : ACM rejette une clé protégée par un mot de passe ou une phrase secrète.
Si vous avez reçu vos fichiers dans un autre format, comme PFX/PKCS#12, convertissez-les d’abord en PEM. Vous pouvez le faire avec des commandes OpenSSL. Une fois vos fichiers au format PEM, vous êtes prêt à installer votre certificat.
Installer un certificat SSL dans AWS Certificate Manager (ACM)
ACM est l’endroit recommandé pour stocker les certificats destinés aux services gérés AWS. Vous pouvez importer votre certificat tiers via la console ou le CLI.
Option A : importer depuis la console ACM
- Ouvrez la console AWS et accédez à Certificate Manager. Vérifiez que vous êtes dans la bonne Région (en haut à droite). Importez le certificat dans la même Région que le service qui l’utilisera. Pour CloudFront, utilisez US East (N. Virginia), us-east-1.
- Choisissez Importer un certificat.
- Dans Corps du certificat, collez votre certificat principal (le bloc commençant par —–BEGIN CERTIFICATE—–).
- Dans Clé privée du certificat, collez votre clé privée non chiffrée (le bloc commençant par —–BEGIN PRIVATE KEY—– ou —–BEGIN RSA PRIVATE KEY—–).
- Dans Chaîne de certificats, collez votre bundle CA (les certificats intermédiaires).
- Choisissez Suivant, ajoutez d’éventuelles balises, puis choisissez Importer.
Option B : importer avec l’AWS CLI
Exécutez la commande ci-dessous pour téléverser votre certificat dans ACM. Notez le préfixe fileb:// : il indique au CLI de lire chaque fichier comme des octets bruts, ce qu’ACM attend.
aws acm import-certificate
--certificate fileb://example.crt
--private-key fileb://example.key
--certificate-chain fileb://example-bundle.crt
Remarque : remplacez chaque nom de fichier example par le nom réel de votre fichier. Si l’importation réussit, le CLI renvoie l’ARN (Amazon Resource Name) du certificat. Vous avez besoin de cet identifiant pour attacher le certificat à un service. Voici la liste complète des commandes ACM pour gérer davantage votre certificat.
Mises en garde importantes :
- Les certificats importés ne se renouvellent pas automatiquement. ACM ne renouvelle automatiquement que les certificats qu’il émet lui-même. Vous êtes responsable du suivi de la date d’expiration d’un certificat importé et de sa réimportation avant son expiration (AWS recommande au moins 24 heures avant l’expiration). Réimporter dans le même certificat ACM préserve les associations de service existantes, de sorte que le load balancer ou la distribution continue de l’utiliser sans autre modification.
- La Région compte. Un certificat ACM est régional. Importez-le dans la même Région que le load balancer ou le service qui l’utilisera. CloudFront n’accepte que les certificats provenant de us-east-1.
Installer un certificat SSL dans AWS IAM (méthode héritée)
Le magasin de certificats IAM est l’ancienne méthode et AWS recommande ACM pour les nouveaux déploiements. Utilisez IAM uniquement lorsqu’un service ou une Région ne prend pas en charge ACM, ou lorsque vous avez spécifiquement besoin du magasin IAM (par exemple, certaines configurations CloudFront, où le chemin doit commencer par /cloudfront/). Téléversez le certificat dans IAM avec :
aws iam upload-server-certificate
--server-certificate-name certificate-name
--certificate-body file://example.crt
--certificate-chain file://example-bundle.crt
--private-key file://example.key
Remplacez les valeurs comme indiqué ci-dessous :
- –server-certificate-name : un nom personnalisé facile à retenir, par exemple votre nom de domaine. Utilisez uniquement des caractères alphanumériques en majuscules et minuscules ; les espaces ne sont pas autorisés.
- –certificate-body : le nom de fichier de votre certificat SSL principal.
- –certificate-chain : le nom de fichier de votre bundle CA.
- –private-key : le nom de fichier de votre clé privée.
Le certificat, la clé privée et la chaîne doivent tous être encodés en PEM, et la clé privée doit correspondre au certificat. Si le téléversement réussit, le CLI renvoie les métadonnées du certificat de serveur, y compris son chemin, son nom, son ID, son ARN, sa date de téléversement et sa date d’expiration. Pour plus d’aide sur la gestion et le dépannage SSL, consultez le guide officiel d’Amazon.
Attacher le certificat dans ELB (Elastic Load Balancing)
L’importation du certificat dans ACM ou IAM ne le sert pas encore. Le certificat devient actif uniquement lorsque vous attachez son ARN à un service. Cette section suppose que vous avez déjà importé le certificat et souhaitez créer ou mettre à jour des écouteurs HTTPS sur un load balancer existant. Vous aurez besoin de l’ARN de votre certificat et du nom ou de l’ARN du load balancer.
Classic Load Balancer
Utilisez la commande ci-dessous pour créer un écouteur HTTPS sur un Classic Load Balancer et lui attribuer le certificat :
aws elb create-load-balancer-listeners
--load-balancer-name my-load-balancer
--listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"
Remplacez ARN par l’ARN de votre certificat provenant d’ACM ou d’IAM. Si vous disposez déjà d’un écouteur HTTPS et souhaitez simplement remplacer le certificat par un nouveau, utilisez :
aws elb set-load-balancer-listener-ssl-certificate
--load-balancer-name my-load-balancer
--load-balancer-port 443
--ssl-certificate-id NewARN
Remplacez NewARN par l’ARN du nouveau certificat. Voici l’éventail complet des commandes ELB, ainsi que le guide officiel d’Amazon sur les écouteurs HTTPS pour Classic Load Balancer.
Application Load Balancer
Exécutez la commande suivante pour créer un écouteur HTTPS sur un Application Load Balancer. La valeur –ssl-policy ci-dessous sélectionne une politique de sécurité qui prend en charge TLS 1.3 et TLS 1.2 :
aws elbv2 create-listener
--load-balancer-arn my-load-balancer-arn
--protocol HTTPS
--port 443
--certificates CertificateArn=my-certificate-arn
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06
--default-actions Type=forward,TargetGroupArn=my-target-group-arn
Vous pouvez trouver les valeurs my-load-balancer-arn et my-target-group-arn en exécutant :
aws elbv2 describe-target-groups
Cela révèle les load balancers et groupes cibles pertinents dans votre compte. Pour ajouter un nouveau certificat à un écouteur HTTPS existant, utilisez :
aws elbv2 modify-listener
--listener-arn my-https-listener-arn
--certificates CertificateArn=my-new-certificate-arn
Vous pouvez trouver la valeur my-https-listener-arn avec :
aws elbv2 describe-listeners
--load-balancer-arn my-load-balancer-arn
Consultez la référence des commandes elbv2 pour gérer davantage votre Application Load Balancer.
Tester votre installation SSL
Naviguez vers la version HTTPS de votre domaine et vérifiez la présence du cadenas. Cliquez dessus pour inspecter les détails du certificat. Pour un test plus approfondi, utilisez notre SSL Checker : il analyse votre installation et génère un rapport instantané. Vous pouvez également confirmer le certificat depuis la ligne de commande :
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Cela affiche l’émetteur et les dates de validité du certificat servi par le load balancer. Si vous avez importé un nouveau certificat mais que vous voyez toujours l’ancien, vérifiez que l’écouteur pointe vers le nouvel ARN et que vous testez la bonne Région et le bon point de terminaison.
Questions fréquemment posées
Vous ne l’installez pas sur un seul serveur. Vous importez le certificat dans AWS Certificate Manager (ACM), puis vous attachez l’ARN résultant à un service géré qui termine la connexion TLS, comme un Application ou Classic Load Balancer, une distribution CloudFront, ou un domaine personnalisé d’API Gateway.
Non. ACM ne renouvelle automatiquement que les certificats qu’il émet lui-même. Un certificat tiers importé doit être réémis et réimporté avant son expiration. Réimporter dans le même certificat ACM conserve ses associations de service, de sorte que le load balancer continue de servir le certificat renouvelé sans modification supplémentaire.
Utilisez ACM. Le magasin de certificats IAM est une méthode héritée qu’AWS conserve principalement pour la compatibilité ascendante et pour les cas non couverts par ACM. Pour la plupart des configurations, y compris les load balancers et CloudFront, ACM est l’option recommandée.
La raison la plus courante est que la clé est chiffrée. ACM n’accepte qu’une clé privée non chiffrée, encodée en PEM, correspondant au certificat. Retirez d’abord la phrase secrète, puis importez. Assurez-vous que les trois parties (certificat, chaîne et clé) sont encodées en PEM.
Importez-le dans la même Région que le load balancer ou le service qui l’utilisera, car les certificats ACM sont régionaux. CloudFront fait exception : il n’accepte que les certificats importés dans US East (N. Virginia), us-east-1.
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10


