Avec la validation DNS, ACM fournit pour chaque nom un CNAME (_4a7c….www.darsakan.ma →
_9d2e….acm-validations.aws) et attend de le trouver dans le DNS public, preuve que vous contrôlez
le domaine. ACM ne l'écrit jamais tout seul dans Route 53, même si la zone est dans le même
compte : il faut cliquer sur « Créer des enregistrements dans Route 53 » dans la console, ou les
créer soi-même. Ici, la zone ne contient aucun _4a7c… ni _7e2b… : le certificat reste
PENDING_VALIDATION (et passera en échec au bout de 72 h).
Le CAA autorise amazon.com, la délégation NS correspond à la zone Route 53, et une validation DNS
aboutit en général en quelques minutes une fois le CNAME publié.
Incident résolu
Analyse et correction
Correction : publier les deux CNAME indiqués par describe-certificate :
aws route53 change-resource-record-sets --hosted-zone-id Z05829174MBNQ3XKT6W1E --change-batch file://validation-acm.json.
Après quelques minutes, le certificat passe ISSUED ; ajouter alors l'écouteur HTTPS :
aws elbv2 create-listener --load-balancer-arn … --protocol HTTPS --port 443 --certificates CertificateArn=arn:aws:acm:eu-west-3:451093827164:certificate/9b2d4f6a-8c1e-4a3b-b5d7-e9f1a3c5b7d2 --default-actions Type=forward,TargetGroupArn=…,
puis rediriger HTTP vers HTTPS.
Pour que cela ne recommence pas :
- laisser les CNAME de validation en place : ACM s'en sert pour renouveler le certificat automatiquement chaque année ;
- créer certificat et CNAME ensemble en infrastructure as code (Terraform
aws_acm_certificate_validation, CloudFormation avecHostedZoneId) ; - demander le certificat plusieurs jours avant un lancement, et vérifier son statut dans la liste de contrôle de mise en ligne ;
- alarme sur les certificats ACM qui approchent de leur expiration (
DaysToExpiry).