如何创建正在运行的 EC2 实例的映像?

如何创建正在运行的 EC2 实例的映像?

我正在 EC2 上使用 Ubuntu 镜像运行一个副项目,因为我需要在那里做一些计算密集型的事情。

现在我不需要每天都这样做(主要是因为我大部分开发工作都是在周末进行的),我想找到一种方法来防止全天候支付 EC2 费用。

我理解关闭实例需要在该映像上执行的所有操作都消失,所以我的问题是:有没有什么方法可以在我关闭实例之前创建一个映像(以防止产生费用),然后加载该映像,启动一个新实例并继续我上次中断的地方?

答案1

当然有:

http://docs.amazonwebservices.com/AmazonEC2/dg/2006-06-26/bundling-an-ami.html

话虽如此,你可能不想在每次会话后都这样做。你应该在安装和配置软件后执行一次,然后安装一个弹性块装置存储您的数据。

答案2

正如卢克指出的那样,在每个会话结束时创建一个 AMI 是可行的,但经常这样做似乎是一项耗时任务。我可能会解决我自己的情况,创建一个脚本来安装我使用的应用程序,并使用 EBS 来存储重要信息。

举例来说:

我将创建一个脚本来执行以下操作:

 #/sbin/bash -e
 yum -y update
 yum -y install httpd
 yum -y install php
 yum -y install mysql 
 svn checkout [url] /var/www/html/yourrepodestination
 service httpd start

然后,我将确保将您需要的数据存储在 EBS 卷上,并确保脚本将 ebs 连接到我的开发环境。

希望对您有所帮助。如果您需要我进一步说明,请告诉我。

谢谢,

地理

答案3

您不需要更改图像。让您的图像能够在启动时从其他地方(例如您的硬盘、远程服务器或 S3)加载数据集,然后恢复。然后让它在关闭时将数据集保存在那里。

相关内容