是否有一个优雅的方法来关闭和删除实例?

是否有一个优雅的方法来关闭和删除实例?

我最近一直在使用 Amazon 的 CloudFormation 来启动运行 MongoDB 的 EC2 Ubuntu 机器的实例。

当删除堆栈时,我猜想由于无法卸载 Mongo 正在使用的 ebs raid 10 驱动器而经常会失败。

我希望该模板(当前在用户数据中有 bash 脚本)或机器中的某些内容能够拦截该消息、关闭 Mongo 并卸载驱动器,这样删除操作就可以干净地进行,而不必执行两次。 有没有一种简单的方法可以增强 CloudFormation 以更干净地处理堆栈删除?

我意识到还有其他选择(OWS 运行 Chef 9仍然/Chef 安装在我们位于 AWS /Juju/Puppet/etc/etc 的其中一台机器上),但现在我只想尽可能先让它干净地运行起来。

答案1

我们遇到了类似的问题,因为创建的 S3 存储桶 CF 堆栈如果不为空则无法删除。

到目前为止,我们的解决方案/黑客是使用一个 bash 脚本调用 AWS APIaws-cli遍历所有 S3 存储桶并先删除里面的内容,然后调用aws cloudformation delete-stack

对于您的问题,您可以执行相同的操作,只需在删除堆栈之前分离 Mongo 实例上的 ebs 卷即可。

相关内容