从亚马逊机器映像(AMI)直接导出 VM - VM Import/Export
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从亚马逊机器映像(AMI)直接导出 VM

若您希望在虚拟化环境中部署新的标准化实例,基于亚马逊机器映像(AMI)导出 VM 文件将非常有用。您可以将大部分 AMI 导出到 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。

当您导出映像时,会针对您存储所导出 VM 所用的存储桶按照标准 Amazon S3 费率向您收费。此外,对 Amazon EBS 快照的临时使用也会产生少量费用。有关 Simple Storage Service(Amazon S3)定价的更多信息,请参阅 Amazon Simple Storage Service 定价

先决条件

要从 Amazon EC2 导出 VM,首先必须满足以下先决条件。

映像导出的注意事项

导出映像和卷存在以下限制:

  • 您必须将映像导出为您的虚拟化环境支持的以下映像格式之一:

    • 虚拟硬盘 (VHD),该格式可与 Citrix Xen 和 Microsoft Hyper-V 虚拟化产品兼容。

    • 流优化型 ESX 虚拟机磁盘 (VMDK),该格式可与 VMware ESX 和 VMware vSphere 版本 4、5 和 6 相兼容。

    • RAW 格式。

  • 当您尝试导出实例时,用于启动该实例的基础 AMI 必须存在。如果您已删除 AMI,则导出失败。

  • VM Import/Export 仅支持在将其导出的同一 Amazon Web Services 账户 将 VM 导出到 Amazon S3 存储桶。

  • 导出操作不支持混合配置。必须为 BIOS 或 UEFI 启用 GRUB2,但不能同时为两者都启用。

  • 您不能导出包含 Amazon 提供的第三方软件的映像。例如,VM Export 无法导出 Windows 或 SQL Server 映像或通过 Amazon Web Services Marketplace 中的映像创建的任何映像。

  • 您不能导出在块储存设备映射中包含加密 EBS 快照的映像。

  • 您只能导出在块储存设备映射中指定的 EBS 数据卷,而不能导出在实例启动后附加的 EBS 卷。

  • 如果您从另一 Amazon 账户共享映像,则不能从 Amazon EC2 导出它。

  • 您不能同时为同一 AMI 执行多个导出映像任务。

  • 默认在每个区域中,您最多可以同时进行 5 个转换任务。此限制最多可调至 20。

  • 不支持卷大小超过 1 TiB 的 VM。

  • 您可以将卷导出到未加密的 Amazon S3 存储桶或者导出到使用 SSE-S3 加密的存储桶。不能导出到使用 SSE-KMS 加密的 S3 存储桶。

启动导出映像任务

若要导出映像,请使用 export-image 命令。使用以下 S3 密钥将导出的文件写入指定的 S3 存储桶:前缀 exp ort-ami-id。 格式(例如, my-export-bucket/exports/export-ami-1234567890abcdef0.vmdk)。

aws ec2 export-image --image-id ami-id --disk-image-format VMDK --s3-export-location S3Bucket=my-export-bucket,S3Prefix=exports/

监控导出映像任务

要监控图像的导出,请使用以下describe-export-image-tasks命令:

aws ec2 describe-export-image-tasks --export-image-task-ids export-ami-1234567890abcdef0

以下为响应示例。所示状态为 active,表明导出任务正在进行。当状态为 completed 时,表示映像可供使用。

{ "ExportImageTasks": [ { "ExportImageTaskId": "export-ami-1234567890abcdef0" "Progress": "21", "S3ExportLocation": { "S3Bucket": "my-export-bucket", "S3Prefix": "exports/" }, "Status": "active", "StatusMessage": "updating" } ] }

取消导出映像任务

如果需要,可以使用以下cancel-export-task命令取消正在导出的图像。

aws ec2 cancel-export-task --export-task-id export-ami-1234567890abcdef0

如果导出任务完成或正在传输最后一个磁盘映像,则该命令将失败且会返回错误。