Je souhaite utiliser AWS CloudFormation pour associer plusieurs certificats SSL et TLS AWS Certificate Manager (ACM) à un Application Load Balancer.
Résolution
Pour ajouter un serveur SSL ou TLS par défaut pour un écouteur sécurisé, utilisez la propriété Certificats pour la ressource AWS::ElasticLoadBalancingV2::Listener. Cette ressource fournit un certificat. Pour ajouter d'autres certificats, utilisez AWS::ElasticLoadBalancingV2::ListenerCertificate. AWS::ElasticLoadBalancingV2::ListenerCertificate inclut un paramètre Certificats qui accepte une liste de certificats.
Pour créer un écouteur Application Load Balancer avec un certificat par défaut, utilisez le modèle CloudFormation suivant :
HTTPlistener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
DependsOn: ApplicationLoadBalancer
Properties:
DefaultActions:
- Type: fixed-response
FixedResponseConfig:
ContentType: text/plain
MessageBody: Success
StatusCode: '200'
LoadBalancerArn: >-
arn:aws:elasticloadbalancing:Region:AccountID:loadbalancer/app/TestACMELB/1032d48308c9b37f
Port: '443'
Protocol: HTTPS
Certificates:
- CertificateArn: >-
arn:aws:acm:Region:AccountID:certificate/cffb8a69-0817-4e04-bfb1-dac7426d6b90
Pour ajouter plusieurs certificats à l'écouteur Application Load Balancer, utilisez le modèle CloudFormation suivant :
AdditionalCertificates:
Type: 'AWS::ElasticLoadBalancingV2::ListenerCertificate'
DependsOn: HTTPlistener
Properties:
Certificates:
- CertificateArn: >-
arn:aws:acm:Region:AccountID:certificate/c71a3c29-e79d-40e6-8834-650fe0d54a3f
- CertificateArn: >-
arn:aws:acm:Region:AccountID:certificate/fff1c1ba-3d97-4735-b3d5-9c5269b75db3
ListenerArn:
Ref: HTTPlistener
Remarque : Dans les modèles précédents, remplacez Région par votre région AWS et AccountID par votre compte AWS. Remplacez également les valeurs de LoadBalancerARN et CertificateARN par celles de l'Application Load Balancer et du certificat ARN.