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

从 Amazon 系统映像(AMI)直接导出 VM

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

当您导出映像时,会针对您存储所导出 VM 所用的存储桶按照标准 Amazon S3 费率向您收费。此外,对 Amazon EBS 快照的临时使用也会产生少量费用。有关 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 格式。

    若要将导出的 VMDK 文件转换为 OVF,请使用 VMware OVF Tool

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

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

  • 您不能导出在块储存设备映射中包含实例存储卷的映像。

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

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

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

  • 在每个区域中,您最多可以同时进行 20 个转换任务。

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

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

启动导出映像任务

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

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

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