gpt4 book ai didi

amazon-web-services - 部署包含全局资源的多区域 CloudFormation 堆栈的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 01:49:53 24 4
gpt4 key购买 nike

我有一个 cloudformation 堆栈模板,其中包括区域资源(lambda、api、主题等)和全局资源(用户、策略、route53、cloudfront、dynamodb 全局表等),并希望将其部署到多个区域在同一个 AWS 账户中。

我无法直接在多个区域部署此堆栈模板,因为全局资源在第一次创建后就已经存在。

我知道我可以将所有内容拆分为两个单独的堆栈模板,但我更愿意避免这种情况并将所有内容保留在同一个堆栈模板中。

我发现我可能可以使用 CF Conditions + 仅在第一次创建时切换全局资源创建的参数,但这看起来不太好......

我想知道是否可以利用 StackSets 等 CloudFormation 功能或其他功能来实现这一目标。

知道执行此操作的正确方法是什么吗?

最佳答案

解决方案就在您手中。我建议您执行以下操作:

  • 为全局资源创建一个单独的模板(是的,我知道您不喜欢它,但根据我的经验,它效果很好)
  • 使用 AWS::SSM::Parameter 在 SSM 中存储对共享全局资源的引用
  • 部署区域堆栈并取消引用全局资源(使用 Parameters ,例如 AWS::SSM::Parameter::Value<String>dynamic reference ,例如 {{resolve:ssm:S3AccessControl:2}} )

您可以使用 StackSets用于您的区域堆栈部署,或创建一个参数化构建脚本,一次部署一个区域堆栈(在本地执行或最好由 CI/CD 服务器执行)。

关于amazon-web-services - 部署包含全局资源的多区域 CloudFormation 堆栈的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com