首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudFormation幂等吗?

CloudFormation幂等吗?
EN

Stack Overflow用户
提问于 2015-07-07 22:56:27
回答 3查看 4.2K关注 0票数 14

我在网上很多地方读到,CloudFormation不是幂等的,但我找不到任何例子来证明这个事实。

请给我一个运行资源的例子来证明CloudFormation不是幂等的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-29 02:19:28

维基百科对幂等的定义如下:

在计算机科学中,幂等一词被更全面地用来描述一次或多次执行会产生相同结果的操作。

在其行为的几个方面,CloudFormation被认为不是幂等的:

  • 为已经存在的堆栈调用create将导致错误
  • 使用未更改的CloudFormation堆栈调用update API将导致错误
  • 再次创建和删除同一个堆栈将导致为IAM用户、安全组in、EC2实例in、VPC in等创建具有不同ARN的资源。
  • 如果使用现有内容更新现有堆栈,则在CloudFormation之外修改的资源不会更改为原始值。

但是,从较高的层次来看,使用CloudFormation的主要原因之一是,您可以将基础结构表示为代码,以便可以使用它反复生成相同的基础结构。这几乎与幂等元的最初定义相同,但区别是在这里的多次部分。正如上面所列出的,当使用相同的堆栈并在其之上应用时,或者删除堆栈并重新创建它时,从技术上讲,您并没有得到完全相同的结果,但是从实际的角度来看,这是完全可以理解的,而且通常是完全可以接受的。

票数 20
EN

Stack Overflow用户

发布于 2017-07-19 03:43:07

我不知道这个答案是否有用,因为这个问题是在两年前公布的。晚做总比不做强。

在这两年中,AWS CloudFormation已经发生了很大的变化。现在,我可以肯定地说,它的API调用是幂等的。

请看一下这些API调用:

  1. CreateStack
  2. UpdateStack
  3. DeleteStack

您会发现有一个名为ClientRequestToken.的可选参数这提供了API调用的幂等性。它是客户端提供的令牌,用于告诉CloudFormation服务它没有进行新的API调用。只要您使用相同的令牌,并继续使用其他参数进行调用,CloudFormation就知道您只是在重试调用。

票数 8
EN

Stack Overflow用户

发布于 2018-03-11 12:17:41

如果尚未对已完成的堆栈进行更新,则Cloudformation是幂等的,如果有更改,则将进行更新,现在更新资源可能需要删除该资源并创建或更新w/o创建新资源。

要了解更多关于cfn-hup过程的内容,这将帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31280788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档