我有一个应用程序想移到 EC2。它可能会花超过半天的时间完全处于休眠状态,所以我想想出一个好的解决方案,以便根据需要启动和停止它。从零开始启动需要几分钟,所以如果我可以休眠操作系统以便更快地恢复,那就太好了。我看过一些关于 EC2 内休眠主题的论坛讨论,但没有任何结论。有没有人找到可行的解决方案,或者至少有一些可以帮助我的资源?
答案1
以下为亚马逊官方爆料:
如果您确实设法休眠操作系统,您的实例仍将处于运行状态,即您将为该实例付费。
您打算如何将这个实例从睡眠状态唤醒。
这听起来确实不像会起作用,我们建议您将实例配置为在启动时自动启动所需的所有服务,并使用 EBS 支持实例的停止/启动功能来解决您的问题。
(或者,用简单的英语来说——别费心了。这不会为你节省任何钱,而且可能也不会起作用)
答案2
我刚刚休眠了基于 EBS 的 Windows AMI,然后重新启动它,它恢复正常。我猜 Linux 的工作方式相同(只要它将休眠数据存储到 EBS 卷,然后关闭虚拟机)。
(AMI 中禁用了休眠功能,我使用
powercfg /H on
然后进行休眠
shutdown /h
)
PS:请注意:当实例停止并随后重新启动时,所有实例存储都将被重置!操作系统不喜欢磁盘内容在休眠和恢复之间发生变化。(恢复后,操作系统可能仍会显示缓存在操作系统文件缓存中的一些以前的磁盘内容的残留)
答案3
偶然发现了这个问题,EC2 休眠现在支持 Ubuntu 18.04。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites
答案4
老问题了,但似乎此功能已实现,至少对于 Amazon Linux 1,具有加密根卷。希望 Ubuntu 支持即将推出。
https://aws.amazon.com/blogs/aws/new-hibernate-your-ec2-instances/