使用 VM Import/Export 将实例作为 VM 导出 - VM Import/Export
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 VM Import/Export 将实例作为 VM 导出

当您要在您的现场虚拟化环境中部署 Amazon EC2 实例的副本时,则导出为 VM 会很有用。您可以将大部分 EC2 实例导出到 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。

注意

如果您使用的是 VMware vSphere,也可以使用 AWS Connector for vCenter 从 Amazon EC2 导出 VM。有关更多信息,请参阅 AWS Management Portal for vCenter 用户指南 中的导出迁移的 Amazon EC2 实例

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

先决条件

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

  • 安装 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南

  • 创建 Amazon S3 存储桶用于存储导出的实例或者选择现有的存储桶。存储桶必须位于您想要导出 VM 的区域。有关更多信息,请参阅 Amazon Simple Storage Service 控制台用户指南

  • 向您的 S3 存储桶附加一个访问控制列表 (ACL),其中应包含以下授权。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的使用 ACL 管理访问

    • 对于 Grantee,请提供相应的特定区域规范账户 ID:

      非洲(开普敦)

      3f7744aeebaf91dd60ab135eb1cf908700c8d2bc9133e61261e6c582be6e33ee

      亚太地区(香港)

      97ee7ab57cc9b5034f31e107741a968e595c0d7a19ec23330eae8d045a46edfb

      欧洲(米兰)

      04636d9a349e458b0c1cbf1421858b9788b4ec28b066148d4907bb15c52b5b9c

      中东(巴林)

      aa763f2cf70006650562c62a09433f04353db3cba6ba6aeb3550fdc8065d3d9f

      中国(北京)

      834bafd86b15b6ca71074df0fd1f93d234b9d5e848a2cb31f880c149003ce36f

      AWS GovCloud (US-West)

      af913ca13efe7a94b88392711f6cfc8aa07c9d1454d4f190a624b126733a5602

      所有其他区域

      c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322

    • READ_ACP 许可

    • WRITE 权限

实例导出的注意事项

导出实例和卷受下列限制:

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

    • 启动虚拟装置 (OVA),该格式可与 VMware vSphere 版本 4、5 和 6 相兼容。

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

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

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

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

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

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

  • 如果删除了 AMI 或者 AMI 的 EBS 快照,则无法导出从导入的映像启动的实例。要变通解决该问题,请从实例创建一个 AMI 并导出该 AMI。

  • 您不能导出具有多个虚拟磁盘的实例。

  • 您不能导出具有多个网络接口的实例。

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

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

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

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

启动实例导出任务

要导出实例,请使用 create-instance-export-task 命令。导出的文件使用以下 S3 密钥写入到指定的 S3 存储桶:prefixexport-i-xxxxxxxxxxxxxxxxx.格式(例如:my-export-bucket/vms/export-i-1234567890abcdef0.ova)。

aws ec2 create-instance-export-task --instance-id instance-id --target-environment vmware --export-to-s3-task file://C:\file.json

文件 file.json 是一个包含所需信息的 JSON 文档。

{ "ContainerFormat": "ova", "DiskImageFormat": "VMDK", "S3Bucket": "my-export-bucket", "S3Prefix": "vms/" }

监控实例导出任务

要监控实例的导出过程,请使用下面的 describe-export-tasks 命令:

aws ec2 describe-export-tasks --export-task-ids export-i-1234567890abcdef0

取消实例导出任务

若有需要,您可以使用以下 cancel-export-task 命令取消正在进行的实例导出。

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

此命令会删除所有的导出项目,包括任何未完全创建的 Amazon S3 对象。如果导出任务完成或正在传输最后一个磁盘映像,则该命令将失败且会返回错误。