如何将图像传输到Amazon EBS卷以供EC2使用?

时间:2010-09-10 07:47:50

标签: amazon-s3 amazon-ec2 amazon-web-services amazon-ebs

我有一个本地文件系统映像,我想将其传输到Amazon EBS卷并作为EC2微实例启动。该实例应具有EBS卷作为其根文件系统 - 我将使用Amazon PV-GRUB“内核”启动该实例。

我使用ec2-bundle-image从图像创建一个包,我使用ec2-upload-bundle将包上传到Amazon S3。但是,现在当我想使用ec2-register注册图像以供使用时,我似乎无法找到一种方法来使上传的包成为ebs根图像。它似乎需要EBS快照来制作根设备,我不知道如何将捆绑包转换为EBS快照。

我确实意识到,我可以通过启动一个“常见”实例,将EBS卷附加到它然后只使用'scp'或其他东西将图像直接传输到EBS卷来实现这一点 - 但这是真的吗唯一的办法?此外,我不想使用EBS快照,我宁愿没有 - 我可以创建一个只有EBS卷作为root的微实例,没有EBS快照吗?

2 个答案:

答案 0 :(得分:2)

没有找到任何办法:(

因此,我创建了一个新实例,将新创建的EBS卷附加到实例,并将其附加到实例,并通过ssh传输数据。

然后,为了能够启动卷,我仍然需要创建它的快照,然后创建一个使用快照的AMI - 结果,我得到另一个 EBS卷是从快照创建的,是运行实例的根卷。

现在,如果我想尽量减少费用,我可以删除创建的快照和原始EBS卷。

注意:如果EBS卷的唯一副本是实例的根卷,则可以在终止实例时将其删除。可以使用命令行工具更改此设置 - 或者可以通过“已停止”而不是“已终止”来简化实例,然后可以从EBS卷生成快照。拍摄快照后,实例可以终止。

答案 1 :(得分:2)

是的,无法通过S3上传EBS图像,并且使用附加其他卷的实例是最好的方法。如果在实例启动后附加该卷,则也不会删除它。

注意,不要过于担心Volume-> snapshot-> Volume,因为它们共享相同的数据块(只要你不修改它们)。存储成本不会减少,只有1,1倍一卷。在这方面,EBS快照和图像创建非常方便。不要犹豫,使用多个快照。您在快照中“工作”的次数越少,如果您将其作为AMI启动,则稍后使用的块越小。