AWS Cloudformation和手动更改


10

我似乎找不到任何有关手动将Cloudformation的对象弄乱时会发生什么的文档。
我看到它标记了它的对象,但是如果有人删除路由规则,它可以恢复吗?

编辑:刚得到两个矛盾的答案。我想索取一些文档/证据,因为我必须决定我为同事提供有关修改这些资源的指示。

Answers:


8

CloudFormation仅在部署,更新或删除堆栈期间创建或修改AWS资源。它不会持续“检查并强制执行”各个堆栈资源的配置状态-肯定会发生漂移。

例如,如果我部署了CF堆栈,然后在其安全组之一上手动修改了入站规则,则该修改将一直持续到我运行显式CF更新或重新部署堆栈。

以下是一些有用的摘录/链接:

问:我可以管理属于AWS CloudFormation堆栈的单个AWS资源吗?

是。AWS CloudFormation不会妨碍您;您可以完全控制基础架构的所有元素。您可以继续使用所有现有的AWS和第三方工具来管理您的AWS资源。

AWS CloudFormation堆栈更新:http : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html

禁止更新堆栈资源:http : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

请注意,最后一个链接仅是指在CloudFormation Update操作期间保护资源,而不是通过管理控制台或API对单个资源进行的临时更改。


1
您有这样做的实际经验,还是仅仅是猜测?文档报价中没有提及有关Cloudformation修改/避免修改自定义项的任何内容。
尼兹2015年

4
是的,我已经部署了许多CF堆栈,而且从未见过CF强制配置。之前,我不小心修改了作为CF堆栈一部分的几个SG并不得不重新部署它,从而使自己陷入困境。您对缺少文档是正确的-这是我在10分钟内能找到的最好的文档。
亚当

2
您所说的“重新部署”是指再次删除并部署,还是有另一种方法?
Dusan Bajic 2015年

4

如果您将Cloudformation部署的资源弄得一团糟,那么资源将不会被恢复/还原/进入合规性,如果您确实需要强制执行完整性,则需要重新部署堆栈。


0

据我所知,CloudFormation本质上将强制执行“世界状况”,并将纠正配置错误的资源。

在您的示例中,将重新创建已删除的路由规则。如果有人修改了ELB健康检查,它将被重置回模板中声明的配置。


4
我不同意。某些资源可能是这种情况,而其他资源则不是。例如,某人在控制台上删除了几个CloudFromation创建的Auto Scaling组,现在堆栈无法更新,因为找不到它们。
杰夫·斯特伦克

@JeffStrunk,这是因为如果该资源的属性没有更改,CloudFormation不会重新创建该资源。它仅对模板进行比较,而不是实际资源,以确定是否应为这些资源触发。因此,如果您删除资源,然后在CloudFormation模板中更改该资源的属性,则当更新操作找不到该资源时,很可能会重新创建该资源。
JacksonHaenchen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.