【发布时间】:2012-08-04 23:42:25
【问题描述】:
CloudFormation 是一种强大的 AWS 产品,允许通过单个 API 调用以编程方式创建 AWS 资源堆栈,例如 web tier of an application,、high performance computing cluster, 或 an entire application stack,。它非常强大。使用它肯定被认为是一种好的 AWS 实践,尤其是当它与 Chef, Puppet, 或 cloud-init. 结合使用时,调试它会让我陷入困境。
以生产为例:股票mongodb cluster templates 不适合我。我特别不知道为什么。我确信这很简单,因为它几乎总是如此。我的问题不在于我无法弄清楚出了什么问题。假设它完全正确地删除了资源,堆栈需要 20 到 30 分钟才能失败,然后再删除 3 到 4 分钟。
我错过了什么?我知道--disable-rollback 标志并将其用作氧气。我很久以前就学会了用cfn-signal 包装退出消息并将它们像压舱物一样扔下沉船。我怎样才能使模板调试过程更快,或者我是否会在制作半小时后发现我的错误?
【问题讨论】:
-
即使是 JSON 中的拼写错误,有时也要等到构建过程的 10 多分钟后才会被捕获,因为它不会注意到特定资源类型没有特定属性名称,直到它尝试启动该资源。
-
我的最爱,无特定顺序:当您switch resource contexts and encounter almost-but-not-quite-identical attributes, 忘记在用户脚本声明中添加转义引号时,以及与 VolumeAttachments 相关的任何事情,因为它们偶尔会无缘无故地失败。
-
+1 提到“禁用自动回滚”——这对于获得更好的子堆栈错误消息非常棒
-
我发现策略段中的错误会导致像 BucketPolicy 这样的东西永远卡在 CREATE 阶段——如果卡在 CREATE 阶段就从那里开始。
标签: amazon-web-services amazon-cloudformation