如何在 Cloudformation 模板中指定区域以通过 DNS 验证 ACM 证书

fra*_*ong 5 ssl ssl-certificate amazon-web-services aws-cloudformation aws-certificate-manager

我正在编写一个 Cloudformation 模板来请求 ACM 证书,以便 Cloudfront 通过 DNS 获得 SSL

我的模板:

ACMCertificate: 
  Type: "AWS::CertificateManager::Certificate"
  Properties: 
    DomainName: mywebsite.com
    SubjectAlternativeNames:
      - www.mywebsite.com
    DomainValidationOptions:
          - DomainName: mywebsite.com
            HostedZoneId: !Ref MyHostedZoneId
          - DomainName: www.mywebsite.com
            HostedZoneId: !Ref MyHostedZoneId
    ValidationMethod: DNS

Outputs:
  ACMCertificateArn:
    Value: !Ref ACMCertificate
Run Code Online (Sandbox Code Playgroud)

问题:证书是在 AWS 帐户的区域中创建的,在我的例子中是eu-west-1. 您知道该证书不能用于 SSL,需要在us-east-1

如何在Cloudformation模板中指定用于验证ACM证书的区域?

任何建议表示赞赏。

Mar*_*cin 1

遗憾的是,您无法在模板中执行此操作。您必须“手动”创建堆栈us-east-1。这意味着,如果您为此使用 AWS 控制台,则必须更改控制台中的区域,并使用 CloudFormation 控制台在该区域中创建堆栈。

如果您使用 AWS CLI 的create-stack命令,则可以添加--region us-east-1作为其参数之一。对于AWS SDK等boto3可以进行类推操作。

您还可以查看StackSets,它允许您从一个中心位置跨多个账户和区域部署模板。