无法创建 Amazon EC2 实例 (实例存储) 的图像

无法创建 Amazon EC2 实例 (实例存储) 的图像

我遇到了一个问题,我需要克隆一个 EC2 实例,但无法创建正在运行的实例的映像。问题出在哪里?我希望你们中有人了解 AWS 并能帮助我。

http://screencast.com/t/9l1wSb0Fjas

你好,弗雷德里克

答案1

您会注意到,图片中的灰色选项适用于 EBS 支持的实例,而您的实例具有实例存储(即 S3 支持的)根卷。

为了克隆此实例,您有两个选择。

选项1:如果您希望您的(新)实例也成为实例存储,您可以创建现有实例的 AMI 并从中启动新实例。它将与您当前的实例相同(但只有根卷 - 如果您在其他临时磁盘上有数据,则需要单独处理)。对于这种方法:

ec2-bundle-vol -d /mnt -k $EC2_PRIVATE_KEY -c $EC2_CERT -u USERID -s SIZE

ec2-upload-bundle -b BUCKETNAME -m MANIFESTFILE -a ACCESSKEY -s SECRETKEY

(如果您正在运行诸如 bind 之类的程序,则需要在捆绑之前停止它 - 事实上,最好停止所有可以停止的服务以获得一致的图像 - 根据服务器的利用率,您可能还会考虑冻结文件系统)

选项 2:将根文件系统复制到 EBS 卷,然后从中创建 AMI。

附加一个将保存根卷数据的 EBS 卷,挂载您的 EBS 卷,然后使用以下命令复制数据:

rsync -aHAXxSP /source /target

根据新的 EBS 卷启动一个实例(您需要在启动时或创建 AMI 时明确指定您希望实例包含的任何临时存储(即块映射)。

答案2

我写了一篇文章,介绍如何从正在运行的实例存储实例创建 AMI:

通过重新捆绑正在运行的实例为 EC2 创建新映像
http://alestic.com/2009/06/ec2-ami-bundle

这是 2009 年的事情,当时 EBS 启动实例还未出现。

您确实会面临文件系统不一致的风险,但这种情况很少见。

我建议您切换到 EBS 启动实例,因为这样可以更轻松地创建 AMI,同时还具有许多其他巨大好处。

答案3

您无法制作它的图像,因为您无法对实时文件系统进行完整的磁盘克隆 - 否则您将尝试复制正在操作的文件,从而导致损坏。

如果实例停止,该选项将可用。

答案4

这是一个很老的,但非常好且深入的答案,可以告诉你如何准确地做你想做的事情。

http://robrohan.com/2009/01/30/saving-a-customised-linux-amazon-instance-ec2-and-s3/

相关内容