如果托管区域包含不需要的记录,CloudFormation 将无法删除堆栈,如何避免?

Ita*_*not 5 amazon-web-services amazon-route53 amazon-cloudformation

我编写了一个 CloudFormation 模板,它创建了一个完整的环境,其中包括 VPC、HostedZone、子网、自动缩放组等的创建...

创建的 ASG 成员服务器在第一次启动时运行用户数据脚本,与许多其他任务一起,每个实例也在新创建的 HostedZone 中注册自己。

一切都很完美。

问题是,当我将堆栈标记为删除时,它会失败 (DELETE_FAILED),原因是 CloudFormation 无法删除 HostedZone。

即使您尝试手动删除包含多于必需记录(NS 记录)的托管区域,您也会收到一条错误消息,提示您需要先删除该区域中的所有非必需记录,然后才能删除该区域。

CloudFormation 中也会发生这种情况,这就是“删除失败”的原因。

CloudFormation 中的错误如下所示:

The specified hosted zone contains non-required resource record sets and so cannot be deleted.
Run Code Online (Sandbox Code Playgroud)

我想知道是否有解决方法可以避免收到“删除失败”消息并且堆栈将被正确删除?