本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用VM Import /导出将虚拟机作为映像导入
提示
要导入具有基于控制台的体验的虚拟机 (VM),您可以在 Migration Hub Orchestrator
您可以使用 VM Import/Export 将虚拟机(VM)镜像作为Amazon 系统映像(AMI)从虚拟化环境导入 Amazon EC2,您可以使用 Amazon 系统映像(AMI)来启动实例。随后,您也可以将 VM 映像从实例导回到虚拟化环境中。这使您能够利用对已构建的虚拟机的投资,通过将虚拟机引入 Amazon EC2 来满足您的 IT 安全、配置管理和合规性要求。
重要
-
AWSVM Import /导出强烈建议在创建新的VM Import 任务时为
--license-type
或--usage-operation
参数指定一个值。这样可以确保您的操作系统获得适当的许可,并且您的账单得到优化。有关更多信息,请参阅许可选项: -
AWSVM Import /导出仅支持源虚拟机内部本地安装的映像,不支持使用 physical-to-virtual (P2V) 转换过程创建的映像。有关更多信息,请参阅 虚拟机导入/导出要求。
将您的 VM 从其虚拟化环境中导出
完成 VM 导出的准备工作后,您可以从您的虚拟化环境将其导出。将 VM 作为映像导入时,您可以导入以下格式的磁盘:开放虚拟化存档 (OVA)、虚拟机磁盘 (VMDK)、虚拟硬盘 (VHD/VHDX) 和原始格式。对于某些虚拟化环境,您可以将其导出为开放虚拟化格式 (OVF) – 通常包含一个或多个 VMDK、VHD 或 VHDX 文件,然后将文件打包到 OVA 文件中。
有关更多信息,请参阅您的虚拟化环境的文档。例如:
-
VMware — 在 VMwar e Docs
网站上搜索 “导出 OVF 模板”。按照创建 OVA 的说明操作。 -
Citrix — 在 Citrix 网站上导入和导出虚拟机
。 -
微软 Hyper-V — 在微软网站上导出和导入虚拟机的概述
。 -
微软 Azure — 从 Azure 下载 Windows VHD
或在微软网站上从 Azure 下载 Linux VHD 。在 Azure 门户中,选择要迁移的 VM,然背后选择 Disks (磁盘)。选择每个磁盘(操作系统或数据),然后选择 Create Snapshot (创建快照)。在已完成的快照资源上,选择 Export (导出)。这将创建一个可用于下载虚拟映像的 URL。
将您的 VM 作为映像导入
将虚拟机从虚拟化环境中导出后,您可以将其导入 Amazon EC2。无论 VM 来自哪里,导入过程都相同。
先决条件
-
创建一个 Amazon S3 存储桶来存储所产生的图像或选择现有的存储桶,或选择现有的存储桶。存储桶必须位于您想要导入 VM 的区域。有关 S3 存储桶的更多信息,请参阅 Amazon Simple Storage Service 用户指南。
-
创建命名为
vmimport
的 IAM 角色。有关更多信息,请参阅必需的服务角色: -
如果您尚未在用于运行导入命令的计算机AWS CLI上安装,请参阅AWS Command Line Interface用户指南。
提示
在支持的中AWS 区域,您还可以使用,AWS CloudShell以实现可直接从直接启动并且已经事先通过身份验证的浏览器式 shell,并直接从启动。AWS Management Console
将映像上传 S3 S3 上Amazon S3
使用您选择的上传工具将VM 映像文件上传到 Amazon S3 存储桶 S3 存储桶。有关通过 Amazon S3 控制台上传对象的信息,请参阅上传对象。
导入 VM
将 VM 映像文件上传到 Amazon S3 后,您可以AWS CLI使用导入映像。这些工具要么接受 Amazon S3 存储桶和文件路径,要么接受公有 Amazon S3 文件的 URL。私有 Amazon S3 文件需要预签名 URL。您还可以使用 Migration Hub Orchestrator
以下示例使用 AWS CLI 命令 import-image 创建导入任务。
示例 1:使用单个磁盘导入图像
使用以下命令可导入具有一个磁盘的映像。
aws ec2 import-image --description "
My server VM
" --disk-containers "file://C:\import\containers.json
"
以下是使用 S3 存储桶指定图像的示例containers.json
文件。
[ { "Description": "My Server OVA", "Format": "ova", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-server-vm.ova" } } ]
以下是使用 Amazon S3 中的 URL 指定图像的示例containers.json
文件。
[ { "Description": "My Server OVA", "Format": "ova", "Url": "s3://my-import-bucket/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-id0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE
--disk-containers "file://C:\import\containers.json
"
在整个导入过程中,不得禁用为加密提供的 CMK。有关更多信息,请参阅《Amazon EC2 用户指南》中的 Amazon EBS 加密。
示例 4:在 Migration Hub Orchestrator 中使用将虚拟机映像导入AWS模板导入映像
-
打开Migration Hub Orchestrator 控制台
。 -
在导航窗格中,依次选择创建迁移工作流程。
-
在 “选择工作流模板” 页面上,选择 “将虚拟映像导入到AWS模板”。
-
配置并提交您的工作流程以开始导入 VM。有关更多信息,请参阅 AWS Migration Hub Orchestrator 用户指南。
监控导入映像任务
使用describe-import-image-tasks命令返回导入任务的状态。
aws ec2 describe-import-image-tasks --import-task-ids import-ami-
1234567890abcdef0
包括的状态值如下:
-
active
— 执行任务正在执行任务。 -
deleting
— 正在取消导入任务。 -
deleted
— 导入任务已取消。 -
updating
— 导入状态正在更新。 -
validating
— 正在验证导入的映像。 -
validated
— 导入的图像已通过验证。 -
converting
— 正在将导入的映像转换为 AMI。 -
completed
— 导入任务已完成,AMI 已准备就绪,可供使用。
导入映像任务完成后,输出包含 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-import-task命令。
aws ec2 cancel-import-task --import-task-id import-ami-
1234567890abcdef0
后续步骤
导入映像任务完成后,您可以使用生成的 AMI 启动实例,也可以将 AMI 复制到其他区域。
对于某些操作系统,用于增强联网的设备驱动程序和基于 Nitro 的实例所需的 NVMe 块存储设备的设备驱动程序不会在导入过程中自动安装。要手动安装这些驱动程序,请按照以下文档中的说明操作。接下来,从自定义实例创建一个新的 AMI。