Amazon web services 在不解除弹性IP关联的情况下删除CloudFormation VPC堆栈会导致删除失败
我有一个正确创建的CloudFormation堆栈(匿名版本为),但尝试删除它时无法尝试删除VPCGatewayAttachment,因为它抱怨VPC映射了公共地址。但是,如果我先将弹性IP与VPC内的实例断开关联,它就可以正常工作 堆栈JSON中的注意事项:Amazon web services 在不解除弹性IP关联的情况下删除CloudFormation VPC堆栈会导致删除失败,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有一个正确创建的CloudFormation堆栈(匿名版本为),但尝试删除它时无法尝试删除VPCGatewayAttachment,因为它抱怨VPC映射了公共地址。但是,如果我先将弹性IP与VPC内的实例断开关联,它就可以正常工作 堆栈JSON中的注意事项: 弹性IP和VPCGatewayAttachment作为堆栈创建的一部分创建和关联。我不会在创建和删除之间做任何更改 我正在使用AWS Powershell帮助程序创建和销毁,特别是新建CFNStack和删除CFNStack,但是从AWS
- 弹性IP和VPCGatewayAttachment作为堆栈创建的一部分创建和关联。我不会在创建和删除之间做任何更改
- 我正在使用AWS Powershell帮助程序创建和销毁,特别是新建CFNStack和删除CFNStack,但是从AWS控制台手动删除堆栈会产生相同的结果
- AWS控制台中的删除序列表明它正试图在弹性IP之前删除VPCGatewayAttachment,但如果我解除关联,它会按照正确的顺序进行操作
我可以通过事先解除弹性IP的关联来解决这个问题,但我不明白为什么它不能按照正确的顺序进行操作,鉴于CloudFormation似乎知道删除序列中的其他依赖项。这是弹性IP地址释放顺序中的一个错误,是在CloudFormation从单一处理转为并行处理时引入的 AWS已经意识到了这一点,希望他们能将其列入路线图,以便尽快修复。同时,有些不可接受的解决方法是再次运行removecfn堆栈 (实际上,我们有一个助手运行删除,并不断调用delete,直到最终决定删除它)当前(从2016年4月起)的解决方案是在资源中添加一个指向该资源的属性 有关以下信息,请参阅AWS CloudFormation文档: VPC中的某些资源需要网关(Internet或VPN网关)。如果AWS CloudFormation模板定义了VPC、网关和网关附件,则需要网关的任何资源都依赖于网关附件。例如,如果VPC和InternetGateway资源也在同一模板中声明,则具有公共IP地址的Amazon EC2实例依赖于VPC网关附件 当前,当以下资源具有关联的公共IP地址且位于专有网络中时,它们依赖于专有网络网关连接:
- 自动缩放组
- 亚马逊EC2实例
- 弹性负载平衡负载平衡器
- 弹性IP地址
- Amazon RDS数据库实例
- 包括互联网网关的亚马逊专有网络路由
“DependsOn”:“AttachGateway”
到WebServer
,WebServerEIP
,以及路由
资源(在上面的引文中以粗体显示),例如
"WebServerEIP": {
"Type" : "AWS::EC2::EIP",
"DependsOn" : "AttachGateway",
[...]
}