【问题标题】:How to create and erify a cross region public certificate through CloudFormation?如何通过 CloudFormation 创建和验证跨区域公共证书?
【发布时间】:2020-11-09 20:48:37
【问题描述】:

我正在尝试通过 CloudFormation 实现以下目标。

由于使用 Cloudfront,我想从在欧盟地区创建的堆栈创建(并验证)针对 US-EAST-1 中的 Route53 的公共证书。旨在在控制台或 AWS CLI 中执行零操作。

上周对 ACM 的新 CloudFormation 支持有点粗略,但现在似乎正在发挥作用。

证书

Resources:

    Certificate:
        Type: AWS::CertificateManager::Certificate
        Properties:
            DomainName: !Sub "${Env}.domain.cloud"
            ValidationMethod: DNS
            DomainValidationOptions:
                -
                    DomainName: !Sub "${Env}.domain.cloud"
                    HostedZoneId: !Ref HostedZoneId

我需要做的就是使用 Cloudformation 将其从不同区域的堆栈部署到 US-EAST-1 区域。其他一切都准备好了。

我认为使用 Codepipeline 的跨区域支持会很棒,所以在我的模板中进行设置后,我开始研究 [本文档][1],我遇到了以下错误消息... An error occurred while validating the artifact bucket {...} The bucket named is not located in the us-east-1 AWS region.

对我来说,这没有任何意义,因为您似乎已经在目标区域中至少需要一些资源才能使其工作。本末倒置的那种行为。为了测试这一点,我在目标区域手动创建了一个工件桶,一切正常,但是当我针对基于 CloudFormation 的解决方案时需要使用 CLI 或控制台。

注意:我写这篇文章的时间不多了,所以我会在几个小时后更新它。不过,在我能做到这一点之前,任何帮助都会很棒

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-route53 aws-certificate-manager aws-regions


    【解决方案1】:

    很遗憾,这是跨区域 CodePipeline 所必需的。来自docs

    当您创建或编辑管道时,您必须在管道区域中有一个工件存储桶,然后您必须每个区域有一个工件存储桶您计划在其中执行一个动作。

    如果您想通过 CloudFormation 完全自动化此操作,您要么必须使用自定义资源提前在所有区域中创建存储桶,要么查看堆栈集以在多个区域中部署一个模板存储桶。

    附言

    您的链接无效,因此我不确定您是否引用了相同的文档页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-20
      • 2012-09-06
      • 2016-01-27
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多