我已为同一区域内的多可用区 RDS 设置创建了一个堆栈。该堆栈创建了 VPC、子网、IGW、路由表、SecGroup、EC2、RDS EC2 等,目前约有 200 多条线路。
我不知道 Export Parameter
和 Fn::ImportValue
我们可以在其中进行跨堆栈引用。我还刚刚了解到,如果堆栈已导出其某些参数并且其他堆栈正在引用它,则无法删除该堆栈。
我向 CloudFormation 专家提出的问题是,保留一个堆栈更实用/专业(因此删除所有资源很容易),还是我们应该将 IAC 拆分为多个相互关联的堆栈?
感谢您的意见,因为我已经为要提供给我的团队的演示准备了此模板,我应该保持原样或将其拆分。
创建了一个堆栈来设置基础架构并一次性创建所有资源。
最佳答案
正确答案可能有很多,因此我会尽力帮助您缩小最适合您的答案范围。
- 您可以删除此类堆栈,但它会警告您,因为堆栈依赖于即将删除的堆栈内的资源(但我没有看到这样做的原因)
- 每个堆栈的最大资源数为 200,同时该数字可能已发生变化 - 我们遇到了需要许多资源的问题,因此我们采用嵌套堆栈架构进行拆分
- 手动删除资源会使堆栈发生漂移 - 这不是一件好事
- 删除资源应通过从模板中删除资源并相应地更新堆栈来完成 - 这意味着只有一个堆栈更容易维护,但这又取决于您的用例。
我希望这可以帮助您做出决定。如果没有,请分享更多信息。
关于aws-cloudformation - 一个 CloudFormation 堆栈还是使用 Export 和 ImportValue 分成多个堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678097/