【问题标题】:Importing existing resources with multiple accounts使用多个帐户导入现有资源
【发布时间】:2020-04-15 15:37:51
【问题描述】:

我们有四个 AWS 账户用于定义不同的环境:dev、sqe、stg、prd。我们现在才使用 CF,我想将现有资源导入堆栈。当我们推出这个时,每个环境都会获得新的堆栈,我想知道是否有更简单的方法可以在每个环境中导入资源。而不是在添加堆栈时最初通过控制台导入资源(如果我们可以通过我们的部署系统进行部署,那就太好了。)

我希望的是我可以在堆栈定义本身中指定的东西(例如,“这是一个已经存在的存储桶,获取所有权”),但我什么也没找到。目前,似乎最简单的方法是在每个导入资源的环境中创建一个空堆栈,然后正常部署。

此外,当/如果更新失败并且堆栈卡在 ROLLBACK_COMPLETE 时会发生什么?删除堆栈后是否必须再次执行此操作?

【问题讨论】:

  • 没有可以简单地通过指向资源来导入现有资源的能力。相反,需要更新堆栈模板,然后可以将现有资源“作为”模板中定义的资源引入。

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

您所描述的内容听起来与您在持续集成/持续部署 (CICD) 管道之后的情况完全一样。与其尝试将现有资源导入您的帐户,不如设计 cloudformation 模板,然后通过代码管道将它们部署到每个环境。这也将在帐户之间提供清晰的分离,而不是将 stg 资源导入 prd

serverless-cicd-for-enterprise 是一个很好的示例和快速入门,它应该是您的一个很好的起点。

您不能停留在“回滚完成”上,因为这是失败的更改集执行的最后一个操作。这意味着它试图更新,不能并且已经恢复到最后一次成功的部署。如果这是第一次部署(没有成功部署),您将需要删除堆栈并重试。但是,如果您已成功部署,则可以运行更新堆栈。

【讨论】:

    猜你喜欢
    • 2020-04-30
    • 2020-04-29
    • 2021-10-15
    • 2020-08-27
    • 2018-05-06
    • 2020-04-10
    • 2023-01-02
    • 2021-05-02
    • 2020-08-16
    相关资源
    最近更新 更多