将 VM 作为映像导入
从您的虚拟化环境导出您的 VM 后,您可以将其导入 Amazon EC2。无论 VM 来自哪里,导入过程都相同。
将虚拟机导入 Amazon EC2 的先决条件
-
创建 Amazon Simple Storage Service(Amazon S3)存储桶用于存储导出的映像或者选择现有的存储桶。存储桶必须位于您想要导入 VM 的区域。有关 S3 存储桶的更多信息,请参阅 Amazon Simple Storage Service 用户指南。
-
创建命名为
vmimport
的 IAM 角色。有关更多信息,请参阅 所需的服务角色。 -
如果您尚未在计算机上安装用于运行导入命令的 AWS CLI,请参阅AWS Command Line Interface用户指南。
提示
在支持的 AWS 区域中,您还可以使用AWS CloudShell,以实现可从 AWS Management Console 直接启动并且已经预先通过身份验证的浏览器式 shell。
将映像上传到 Amazon S3
使用所选的上传工具将虚拟机映像文件上传到 S3 存储桶。有关通过 Amazon S3 控制台上传对象的信息,请参阅上传对象。
导入 VM
将您的 VM 映像文件上传到 Amazon S3 后,可以使用 AWS CLI 导入该映像。这些工具接受 S3 存储桶和文件路径,或者公有 Amazon S3 文件的 URL。私有 Amazon S3 文件需要预签名 URL。
您也可以使用 Migration Hub Orchestrator
重要
-
AWSVM Import/Export 强烈建议您在创建新的 VM Import 任务时为
--license-type
或--usage-operation
参数指定一个值。这样可以确保您的操作系统获得适当的许可,并且您的计费得到优化。有关更多信息,请参阅 为导入的虚拟机提供许可。 -
AWSVM Import/Export 仅支持原生安装在源虚拟机中的映像,不支持使用物理到虚拟 (P2V) 转换过程创建的映像。有关更多信息,请参阅 VM Import/Export 要求。
-
如果您使用 JSON 文件将输入传递给
disk-containers
参数,请在文件路径前加上前缀file://
,否则可能会出现与语法相关的错误。
以下示例使用 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": "amzn-s3-demo-import-bucket", "S3Key": "vms/my-server-vm.ova" } } ]
以下是使用 Amazon S3 中的 URL 指定映像的示例 containers.json
文件。
[ { "Description": "My Server OVA", "Format": "ova", "Url": "s3://amzn-s3-demo-import-bucket/vms/my-server-vm.ova" } ]
示例 2:用多个磁盘导入映像
使用以下命令可导入具有多个磁盘的映像。
aws ec2 import-image --description "
My server disks
" --disk-containers "file://C:\import\containers.json
"
下面是一个 containers.json
示例文件。
[ { "Description": "First disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "amzn-s3-demo-import-bucket", "S3Key": "disks/my-server-vm-disk1.vmdk" } }, { "Description": "Second disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "amzn-s3-demo-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 模板” 导入映像
-
在导航窗格中,选择创建迁移工作流。
-
在“选择工作流模板”页面上,选择“将虚拟映像导入 AWS 模板”。
-
配置并提交您的工作流程以开始 VM 导入。有关更多信息,请参阅 《AWS Migration Hub Orchestrator 用户指南》。