Quiero usar AWS CloudFormation para asociar varios certificados SSL y TLS de AWS Certificate Manager (ACM) a un equilibrador de carga de aplicación.
Resolución
Para añadir un servidor SSL o TLS predeterminado para un agente de escucha seguro, utiliza la propiedad Certificates para el recurso AWS::ElasticLoadBalancingV2::Listener. Este recurso proporciona un certificado. Para añadir más certificados, utiliza AWS::ElasticLoadBalancingV2::ListenerCertificate. AWS::ElasticLoadBalancingV2::ListenerCertificate incluye un parámetro Certificates que acepte una lista de certificados.
Para crear un agente de escucha del equilibrador de carga de aplicación con un certificado predeterminado, utiliza la siguiente plantilla de CloudFormation:
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
Para añadir varios certificados al agente de escucha del equilibrador de carga de aplicación, utiliza la siguiente plantilla de CloudFormation:
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
Nota: En las plantillas anteriores, sustituye Region por tu región de AWS y AccountID por tu cuenta de AWS. Además, sustituye los valores de LoadBalancerARN y CertificateRN por el equilibrador de carga de aplicación y el ARN del certificado.