CloudFormation CREATE_FAILED 错误 "Certificate ARN is not valid"

CloudFormation CREATE_FAILED with error "Certificate ARN is not valid"

我正在尝试使用 https://aws-quickstart.s3.amazonaws.com/quickstart-hashicorp-vault/doc/hashicorp-vault-on-the-aws-cloud.pdf 中提供的针对新 VPC 和工作负载的 CloudFormation 模板来创建保管库集群。但是,我看到了以下内容:

VaultServerListener HTTPS CREATE_FAILED 证书 ARN“”无效(服务:AmazonElasticLoadBalancingV2;状态代码:400;错误代码:ValidationError;请求 ID:650c7ca1-0abe-4bae-9b30- d114c220423d)

仅从错误看来您使用了错误的 cloudformation 资源。应用程序负载均衡器的类型是 AWS::ElasticLoadBalancingV2::LoadBalancer。它的末端有 V2。您可能正在使用的是 AWS::ElasticLoadBalancing::LoadBalancer,它创建了一个经典的负载均衡器。

您收到的错误是由于经典 LB 和应用程序 LB 之间 Ref 函数的 return 值不同所致。但是如果你 post 你的代码我可以帮助更多 :D

根据您的附加信息,错误似乎源于 here:

  VaultServerListenerHTTPS:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      Certificates:
      - CertificateArn: !If [ CreateDns, !GetAtt "ACMCertificate.Outputs.ACMCertificate", !Ref ACMSSLCertificateArn ]

您的评论表明没有 ACM 证书设置。但是,如果您查看上面的代码,必须提供 ACM 证书

您可以创建自己的 ACM 证书 并在 ACMSSLCertificateArn 参数中提供其 arn,或者让模板 创建一个 为您使用 this 模板。

对于 ACM 证书,您需要有一个自定义域,例如在 Route53 中设置。

确保证书 ARN 与负载均衡器位于同一区域。