amazon-web-services - AWS Cloudformation 嵌套模板
问题描述
我正在尝试从 4 个现有模板创建嵌套拓扑。这些模板执行以下操作:
1:部署策略和角色。2:部署一个EC2实例。3:部署ELB。4:部署RDS实例。
所有这些都是通过使用输出“链接”的。所有参数也包含在这些参数中。现在我想创建第五个模板(主模板)并将其他 4 个模板视为子模板。
但是,我不太确定主模板中需要的最少代码:
参数:这些是在孩子中定义的,所以我在这里不需要它们,对吗? Resources:通过提供存储它们的 S3 URL 指向 4 个子模板。 DependsOn子句:我需要这个,因为子模板需要按顺序部署。输出:不太确定要在这里包含什么,我应该将输出留在孩子身上并在这里只定义主人的吗?
楼主我觉得应该是小了但是不太确定是不是漏掉了什么。另一个问题,我需要更改子模板上的任何内容吗?
任何帮助将非常感激。
解决方案
这里有一些问题,所以我会解决我能解决的问题:)
对于主模板或父模板,我建议包括子堆栈需要的所有参数。
当您想在将来对任何子堆栈进行任何更新时,您需要从父堆栈启动它。
根据文档:
某些堆栈操作,例如堆栈更新,应该从根堆栈启动,而不是直接在嵌套堆栈本身上执行。
因此,您的父模板可能有很多参数,具体取决于需要将多少参数直接传递给子模板。
根据子堆栈如何使用Output
来自其他子堆栈的 s,您可能不需要使用DependsOn
来强制排序,因为 Cloudformation 足够聪明,可以找出隐式依赖关系(请参阅讨论的文档DependsOn
)。包含这些当然不会有什么坏处,但DependsOn
大多数情况下不需要该属性。
您需要确保子堆栈有一个Output
s 部分,以便其他子堆栈可以使用它们。密切注意AWS::CloudFormation::Stack的返回值
推荐阅读
- javascript - 将数组格式化为对象 javascript
- android - Android音频播放器中的下一首歌曲按钮和上一首歌曲按钮
- javascript - 无法从另一个 javascript 文件的类访问一个 javascript 文件
- javascript - 使用multer从客户端获取详细信息后,如何在nodejs中以base64编码文件
- python - OpenCV - 用霍夫变换找不到垂直线
- visual-studio - 无法在 Visual Studio 2015+opencv3 上加载视频或图像
- magento - 我们如何调用身份验证意味着使用 Magento2 在 react-native 中登录/注册 api
- java - Charset.defaultCharset() 和 file.encoding 有什么区别?
- python - 在 windows10,anaconda 中的 python 脚本上拖放文件
- batch-file - 将 Md5 校验和放入文件名