Ich möchte AWS CloudFormation verwenden, um mehrere AWS Certificate Manager (ACM) SSL- und TLS-Zertifikate mit einem Application Load Balancer zu verknüpfen.
Lösung
Um einen standardmäßigen SSL- oder TLS-Server für einen sicheren Listener hinzuzufügen, verwenden Sie die Eigenschaft Zertifikate für die Ressource AWS::ElasticLoadBalancingV2::Listener. Diese Ressource stellt ein Zertifikat bereit. Um weitere Zertifikate hinzuzufügen, verwenden Sie AWS::ElasticLoadBalancingV2::ListenerCertificate. AWS::ElasticLoadBalancingV2::ListenerCertificate enthält einen Zertifikat-Parameter, der eine Liste von Zertifikaten akzeptiert.
Verwenden Sie die folgende CloudFormation-Vorlage, um einen Application Load Balancer-Listener mit einem Standardzertifikat zu erstellen:
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
Verwenden Sie die folgende CloudFormation-Vorlage, um dem Application Load Balancer-Listener mehrere Zertifikate hinzuzufügen:
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
Hinweis: Ersetzen Sie in den vorherigen Vorlagen Region durch Ihre AWS-Region und AccountID durch Ihr AWS-Konto. Ersetzen Sie außerdem die Werte für LoadBalancerARN und CertificateARN durch den Application Load Balancer und den Zertifikat-ARN.