VM Import/Export
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

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

如果您以前曾使用 VM Import 将虚拟机导入到 Amazon EC2 中,则可以将该 EC2 实例导出到 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。当您想在您的现场虚拟化环境中部署您的 EC2 实例时,导出您之前导入的实例会很有用。

重要

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

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

先决条件

要从 Amazon EC2 导出 VM,请在该实例上安装 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南

您可以创建一个 Amazon S3 存储桶来存储导出的实例,并授予 VM Import/Export 访问该存储桶的权限。如果您已有存储桶,则可以使用它而不必再创建存储桶。

(可选) 创建 S3 存储桶

  1. 通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. 选择 Create Bucket

  3. Create a Bucket 对话框中,执行以下操作:

    1. 对于 Bucket Name,键入您的存储桶的名称。此名称在 Amazon S3 内所有现有存储桶名称中必须唯一。在某些区域,可能对存储桶名称有其他限制。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的存储桶局限和限制

    2. 对于 Region,选择一个区域。

    3. 选择 Create。创建存储桶后,将打开详细信息窗格并展开 Permissions 部分。

    4. 选择 Add More Permissions

    5. 对于 Grantee,键入区域特定的适当规范账户 ID:

      • 中国(北京):834bafd86b15b6ca71074df0fd1f93d234b9d5e848a2cb31f880c149003ce36f

      • AWS GovCloud(美国):af913ca13efe7a94b88392711f6cfc8aa07c9d1454d4f190a624b126733a5602

      • 所有其他区域:c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322

    6. 选中 Upload/DeleteView Permissions

    7. 选择 Save

有关更多信息,请参阅 Amazon Simple Storage Service 控制台用户指南 中的编辑存储桶权限

限制

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

  • 您不能从 Amazon EC2 导出实例,除非之前从另一虚拟化环境中将其导入了 Amazon EC2。

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

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

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

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

  • 您无法导出 Amazon EBS 数据卷。

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

  • 您不能导出使用固定虚拟硬盘 (VHD) 的实例。

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

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

  • 在每个区域,您最多可以同时进行五个导出任务。

导出实例

要导出实例,请使用 create-instance-export-task 命令。您必须提供必要的信息才能将实例正确地导出为选定的虚拟化格式。导出的文件保存在您指定的 S3 存储桶中。

aws ec2 create-instance-export-task --instance-id id --target-environment target_environment \ --export-to-s3-task DiskImageFormat=disk_image_format,ContainerFormat=ova,S3Bucket=bucket,S3Prefix=prefix

选项

id

实例的 ID。

target_environment

目标环境 (vmware | citrix | microsoft)。

disk_image_format

磁盘映像格式 (VMDK | VHD)。

bucket

S3 存储桶的名称。

前缀

使用下面的 S3 密钥将映像写入到 S3 存储桶中的对象:prefix/export-i-xxxxxxxx.format (例如:my-exports/export-i-12345678.ova)。

监控实例导出过程

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

aws ec2 describe-export-tasks --export-task-ids export-i-12345678

取消或停止实例导出过程

在导出操作完成前,您可以使用下面的 cancel-export-task 命令取消或停止实例导出过程。

aws ec2 cancel-export-task --export-task-id export-i-12345678

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