一个CloudFormation堆栈或使用Export&ImportValue分成多个堆栈?

问题描述 投票:2回答:2

我已经在同一地区为我们的多可用区RDS创建了一个堆栈。堆栈创建VPC,子网,IGW,路由表,SecGroup,EC2,RDS EC2等,目前大约有200多行。

我不知道Export ParameterFn::ImportValue,我们可以在其中进行跨堆栈引用。我还刚刚了解到,如果已导出了某些参数并且其他堆栈正在引用该堆栈,则无法删除该堆栈。

我向CloudFormation专家提出的问题是保留一个堆栈更为实用/专业(因此删除所有资源很容易),或者我们应该将IAC拆分为多个相互关联的堆栈吗?

感谢您为我准备给团队的演示准备此模板时的输入,我应该保留原样或将其拆分。

创建了一个堆栈,用于设置基础结构,并一次创建所有资源。

amazon-cloudformation
2个回答
0
投票

可能有很多正确答案,因此,我将尽力帮助您缩小最适合您的范围。

  1. 您可以删除这样的堆栈,但是会警告您,因为其中包含依赖于将要删除的堆栈中资源的堆栈(但我看不出这样做的原因)
  2. 每个堆栈的最大资源数量为200,与此同时数量可能已更改-我们遇到了这个问题,即资源过多,因此我们拆分为嵌套堆栈体系结构
  3. 手动删除资源会使堆栈漂移-这不是好事
  4. 删除资源应通过从模板中删除资源并相应地更新堆栈来完成,这意味着仅保留一个堆栈更易于维护,但这又取决于您的使用情况。

我希望这可以帮助您做出决定。如果没有,请共享更多信息。


0
投票

[谢谢,我分成了两个堆栈,首先是core-infrastructure,它仅创建Skelton网络,即VPC,IGW,子网,路由。该堆栈发出带有这些资源的每个导出名称的输出参数。

上面刚刚引用的第二个堆栈rds-resources并创建EC2,RDS,SG。

再次感谢您提供有用的信息。

© www.soinside.com 2019 - 2024. All rights reserved.