Quero usar o AWS CloudFormation para associar vários certificados SSL e TLS do AWS Certificate Manager (ACM) a um Application Load Balancer.
Resolução
Para adicionar um servidor SSL ou TLS padrão para um receptor seguro, use a propriedade Certificados para o recurso AWS::ElasticLoadBalancingV2::Listener. Esse recurso fornece um certificado. Para adicionar mais certificados, use AWS::ElasticLoadBalancingV2::ListenerCertificate. O AWS::ElasticLoadBalancingV2::ListenerCertificate inclui um parâmetro Certificados que aceita uma lista de certificados.
Para criar um receptor do Application Load Balancer com um certificado padrão, use o seguinte modelo do 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 adicionar vários certificados ao receptor do Application Load Balancer, use o seguinte modelo do 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
Observação: Nos modelos anteriores, substitua Região pela sua região da AWS e AccountID pela sua conta da AWS. Além disso, substitua os valores de LoadBalancerARN e CertificateARN pelo Application Load Balancer e pelo certificado ARN.