处于"shutting down"状态的 EC2 实例何时自动终止?



根据Amazon EC2实例常见问题解答文档:

"实例处于"关闭"状态的时间比通常更长,最终将被关闭由Amazon EC2服务中的自动化流程进行清理。"

有人知道"比平时长"是多长吗?在实例被自动杀死之前,它可以处于"关闭"状态多长时间?

我从init调用备份脚本。但是当它试图压缩并复制一个大目录(500 MB)到S3时,似乎EC2实例在备份完成之前就关闭了。(我在关机时备份小目录时从来没有遇到过这个问题。)

是否有可能我的EC2实例被自动杀死,因为它在"关闭"状态停留太久?我可以安全地处于"关机"状态多久?

当您停止或终止一个EC2实例时,Amazon会向操作系统发送一个软关闭请求,让它以一种干净、安全的方式结束。如果系统在短时间(几分钟)内没有指示关机,那么Amazon将有效地拔掉电源插头,强制硬关机。

我不知道亚马逊有任何关于软关闭宽限期的承诺,所以我建议你不要假设或依赖于有一个特定的最小宽限期。即使亚马逊今天给你10分钟的时间来处理一个实例,他们也可以很容易地在明天减少到3分钟,比如说,当他们有大量的新实例需求时。

如果您需要在实例关闭之前完成重要的封装,那么向实例发送一个信号(web请求或ssh命令),等待它完成其任务,然后启动EC2关闭。

如果您使用的是spot实例,在这些实例中,Amazon可以在任何时候关闭实例,那么请经常保存您的工作,以便在实例突然终止时不会丢失太多的工作。

从我的ServerFault答案复制到是否有一个最大关机的实例在亚马逊EC2?

这是一个受控关闭事件吗?您是从EC2实例本身内部还是从实例外部关闭它?

在任何一种情况下,一旦你向EC2实例发出一个关闭信号,就相当于发出一个"shutdown -h now"命令——在系统关闭之前,你真的没有太多的时间去做很多事情。

如果这是一个受控的关闭,我建议找到另一种方法在init之外运行该脚本。D关机脚本

最新更新