我不断在 aws-cdk 上看到不同的实现,我想知道是否有首选约定。
单栈。如果所有资源都是相关的(即 Lambda 和 IAM 角色应该位于同一堆栈中,而不是不同的堆栈中),那么这是有意义的。但是,这存在 200 个资源限制的问题,一旦您开始为每个表创建警报等,这可能会成为一个问题。
多个堆栈。这是有道理的,因为它可以很好且轻松地划分应用程序(即所有 DDB 在一个堆栈中,所有 IAM 角色在另一个堆栈中)。然而,当堆栈之间存在依赖关系时,我在 ChangeSets 版本方面遇到了很多问题(我的 Lambda 堆栈依赖于我的 IAM 堆栈,但 Lambda 堆栈使用了 IAM 中的旧 ChangeSet,所以现在我无法更新我的内容)。由于这个问题一直存在,我最终采用了单堆栈方法。
我想知道大家对此的看法;我本来希望在这里找到一条经验法则,但到目前为止我还没有找到一条。
谢谢!
CloudFormation 堆栈的目标是自动更新。也就是说,要么对堆栈的所有更新成功完成,要么回滚所有更新。将基础架构组件分组到堆栈时,我使用以下检查列表作为经验法则:
如果上述任何一个问题的答案是肯定的,我倾向于将资源提取到单独的堆栈中。
| 归档时间: |
|
| 查看次数: |
2761 次 |
| 最近记录: |