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

Posted

技术标签:

【中文标题】如何将映像传输到 Amazon EBS 卷以供 EC2 使用?【英文标题】:How to transfer an image to an Amazon EBS volume for EC2 usage? 【发布时间】:2011-04-10 15:00:52 【问题描述】:

我有一个本地文件系统映像,我想将它传输到 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 卷为根而不使用 EBS 快照的微型实例吗?

【问题讨论】:

【参考方案1】:

没有找到任何方法来做到这一点:(

所以,我创建了一个新实例,附加了一个新创建的 EBS 卷,将其附加到该实例,然后通过 ssh 传输数据。

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

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

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

【讨论】:

【参考方案2】:

是的,无法通过 S3 上传 EBS 映像,最好使用附加卷的实例。如果在实例启动后附加该卷,它也不会被删除。

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

【讨论】:

以上是关于如何将映像传输到 Amazon EBS 卷以供 EC2 使用?的主要内容,如果未能解决你的问题,请参考以下文章

Amazon EMR:将 EBS 卷附加到实例时如何确保使用该卷

将 Amazon EC2 EBS Ubuntu 迁移到 Microsoft Azure

您可以将 Amazon EBS 附加到多个实例吗?

在 Amazon EBS 设备之间同步

存储 AMI 的成本

如何创建没有 EBS 的预留实例的“实例存储”AMI 映像