繁体   English   中英

AWS CloudFormation创建堆栈与部署

[英]AWS CloudFormation create-stack vs deploy

有人可以清楚地向我解释AWS CLI Cloudformation create-stackdeploy命令之间的区别和优先级吗? 对我来说,似乎他们做同样的事情并部署资源。

为什么当您从cli运行deploy命令时,create stack没有可执行的更改集,而文档说:

通过创建并执行更改集来部署指定的AWS CloudFormation模板。 AWS CloudFormation执行更改集后,该命令将终止。 如果要在AWS CloudFormation执行更改集之前查看更改集,请使用--no-execute-changeset标志。

create-stack只能在您知道要创建新堆栈时使用。 如果要更新堆栈,则必须使用其他命令等。如果您正在编写(ug)批处理文件以帮助运行您的cloudformation,这可能会非常痛苦。

deploy是更好地利用变更集的功能 - 而不是必须知道堆栈是否存在,您可以简单地运行部署,工具将弄清楚它需要做什么。 使用--no-execute-changeset ,如果您决定在应用更改之前查看--no-execute-changeset ,它实际上将为您提供所需的命令。

看起来这是在2016年11月推出的,可能是在发布变更集的时候。

我假设deploy只是围绕CreateChangeSetCreateStackUpdateStack api方法的“语法糖”。

请注意,尽管deploy在CLI中 ,但它不在API参考中

我假设在明确审查更改集之前,首选deploy是首选。 在不使用deploy您可能需要create-change-set然后决定是创建还是更新堆栈。 在这种情况下,部署就像堆栈“upsert”。


我停止了懒惰并检查了代码,是的 - deploy最终是从CLI使用云信息的一种更好的方式。 实施就在这里这里 请注意,截至目前,根据此问题deploy控制回滚行为的能力不存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM