我想使用 AWS CloudFormation 將多個 AWS Certificate Manager (ACM) SSL 和 TLS 憑證與 Application Load Balancer 相關聯。
解決方法
若要為安全接聽程式新增預設 SSL 或 TLS 伺服器,請使用 AWS::ElasticLoadBalancingV2::Listener 的憑證屬性。此資源提供一個憑證。若要新增更多憑證,請使用 AWS::ElasticLoadBalancingV2::ListenerCertificate。AWS::ElasticLoadBalancingV2::ListenerCertificate 包含可接受憑證清單的憑證參數。
若要使用一個預設憑證建立 Application Load Balancer 接聽程式,請使用下列 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
若要將多個憑證新增至 Application Load Balancer 接聽程式,請使用下列 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
注意:在前面的範本中,使用您的 AWS 區域取代 Region,使用 AWS 帳戶取代AccountID。此外,請使用 Application Load Balancer 和憑證 ARN 取代 LoadBalancerARN 和 CertificateARN。