我有一个 CloudFormation 堆栈(https://gist.github.com/palfrey/7021931上的匿名版本)可以正确创建,但尝试删除它却无法尝试删除 VPCGatewayAttachment,因为它抱怨 VPC 已映射公共地址。但是,如果我首先将弹性 IP 与 VPC 内部的实例解除关联,则它可以正常工作。
堆栈 JSON 中的注意事项:
- 弹性 IP 和 VPCGatewayAttachment 是作为堆栈创建的一部分创建和关联的。我不会在创建和删除之间进行任何更改。
- 我正在使用 AWS Powershell 帮助程序来创建和销毁,特别是 New-CFNStack 和 Remove-CFNStack,但是从 AWS 控制台手动删除堆栈具有相同的结果。
- AWS 控制台中的删除序列表明它正在尝试删除弹性 IP 之前的 VPCGatewayAttachment,但如果我取消关联,它会以正确的顺序执行操作。
我可以通过自己事先解除 Elastic IP 的关联来解决这个问题,但我很困惑为什么它不只是按照正确的顺序做事,因为 CloudFormation 似乎知道删除序列中的其他依赖项。