Importing a VM as an Image Using VM Import/Export - VM Import/Export

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

Importing a VM as an Image Using VM Import/Export

您可以使用 VM Import/Export 将虚拟机 (VM) 映像作为 Amazon 系统映像 (AMI) 从虚拟化环境导入到 Amazon EC2 中,并用于启动实例。随后,您也可以将 VM 映像从实例导回到虚拟化环境中。这让您能够将 VM 导入到 Amazon EC2 中使用,从而充分利用已在 VM 方面所做的投资,以满足您的 IT 安全、配置管理和合规性需求。

Export Your VM from its Virtualization Environment

完成 VM 导出的准备工作后,您可以从您的虚拟化环境将其导出。导入虚拟机作为图像时,可以按以下格式导入磁盘: 开放虚拟化归档(OVA)、虚拟机磁盘(VMDK)、虚拟硬盘(VHD/VHDX)和原始。对于某些虚拟化环境,您可以将其导出为开放虚拟化格式 (OVF) – 通常包含一个或多个 VMDK、VHD 或 VHDX 文件,然后将文件打包到 OVA 文件中。

有关更多信息,请参阅您的虚拟化环境的文档。例如:。

Import Your VM as an Image

从您的虚拟化环境导出您的 VM 后,您可以将其导入 Amazon EC2。无论 VM 来自哪里,导入过程都相同。

Prerequisites

Upload the Image to Amazon S3

使用所选的上传工具将 VM 映像文件上传到 Amazon S3 存储桶。有关通过 Amazon S3 控制台上传对象的信息,请参阅上传对象

Import the VM

将您的 VM 映像文件上传到 Amazon S3 后,可以使用 AWS CLI 导入该映像。这些工具接受 Amazon S3 存储桶和文件路径,或者公有 Amazon S3 文件的 URL。私有 Amazon S3 文件需要预签名 URL

以下示例使用 AWS CLI 命令 import-image 创建导入任务。

示例 #1 导入OVA

使用以下命令可导入具有一个磁盘的映像。

aws ec2 import-image --description "My server VM" --disk-containers "file://C:\import\containers.json"

以下是 containers.json 文件示例:

[ { "Description": "My Server OVA", "Format": "ova", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-server-vm.ova" } }]

示例 2 导入多个磁盘

使用以下命令可导入具有多个磁盘的映像。

$ C:\> aws ec2 import-image --description "My server disks" --disk-containers "file://C:\import\containers.json"

以下是 containers.json 文件示例:

[ { "Description": "First disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "disks/my-server-vm-disk1.vmdk" } }, { "Description": "Second disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "disks/my-server-vm-disk2.vmdk" } } ]

示例 3 已启用加密选项的导入磁盘

使用以下命令可导入带有加密根卷的映像。

aws ec2 import-image --description "My server disks" --encrypted --kms-key-id 0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE --disk-containers "file://C:\import\containers.json"

在整个导入过程中,不得禁用为加密提供的 CMK。有关详细信息,请参阅 AmazonEBS加密Amazon EC2 User Guide.

Monitor an Import Image Task

使用 describe-import-image-tasks 命令返回导入任务的状态。

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

包括的状态值如下:

  • active — The import task is in progress.

  • deleting — The import task is being canceled.

  • deleted — The import task is canceled.

  • updating — Import status is updating.

  • validating — The imported image is being validated.

  • validated — The imported image was validated.

  • converting — The imported image is being converted into an AMI.

  • completed — The import task is completed and the AMI is ready to use.

导入图像任务完成后,输出包括AMI的ID。以下是包括 ImageId.

{ "ImportImageTasks": [ { "ImportTaskId": "import-ami-01234567890abcdef", "ImageId": "ami-1234567890EXAMPLE", "SnapshotDetails": [ { "DiskImageSize": 705638400.0, "Format": "ova", "SnapshotId": "snap-111222333444aaabb" "Status": "completed", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-server-vm.ova" } } ], "Status": "completed" } ] }

Cancel an Import Image Task

若您需要取消处于活跃状态的导入任务,请使用 cancel-import-task 命令。

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

Next Steps

导入图像任务完成后,您可以使用所生成的AMI启动一个实例,或将AMI复制到另一个区域。

对于某些操作系统,用于增强联网的设备驱动程序和基于 Nitro 的实例所需的 NVMe 块存储设备的设备驱动程序不会在导入过程中自动安装。要手动安装这些驱动程序,请按照以下文档中的说明操作。接下来,从自定义实例创建一个新的 AMI。