本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 EC2 Image Builder 导入和导出虚拟机 (VM) 映像
当您从虚拟化环境中导出 VM 时,该过程会创建一个或多个磁盘容器文件,这些文件充当 VM 环境、设置和数据的快照。您可以使用这些文件导入 VM,并将其用作映像配方的基础映像。
对于 VM 磁盘容器,Image Builder 支持以下文件格式:
-
开放虚拟化归档 (OVA)
-
虚拟机磁盘 (VMDK)
-
虚拟硬盘 (VHD/VHDX)
-
原始
导入时使用磁盘来创建 Amazon Machine Image (AMI) 和 Image Builder 映像资源,这两者都可以用作自定义映像配方的基础映像。VM 磁盘必须存储在 S3 存储桶中才能导入。另外,也可以现有 EBS 快照中导入。
在 Image Builder 控制台中,您可以直接导入映像,然后在配方中使用输出映像或 AMI,也可以在创建配方或配方版本时指定导入参数。有关直接导入的更多信息,请参阅 导入虚拟机(控制台)。有关作为映像配方的一部分进行导入的更多信息,请参阅 虚拟机导入配置。
将 VM 导入 Image Builder (Amazon CLI)
要将虚拟机从磁盘导入 AMI 并创建可以立即引用的 Image Builder 映像资源,请在 Amazon CLI中执行以下操作:
-
使用 Amazon CLI中的 Amazon EC2 VM Import/Export import-image 命令启动 VM 导入。记下命令响应中返回的任务 ID。下一步中您将需要使用该值。有关更多信息,请参阅 VM Import/Export 用户指南 中的使用 VM Import/Export 将虚拟机作为映像导入。
-
创建 CLI 输入 JSON 文件
为了简化中使用的 Image Builder import-vm-image 命令 Amazon CLI,我们创建了一个 JSON 文件,其中包含我们要传递到命令中的所有导入配置。
注意
JSON 文件中数据值的命名惯例遵循为 Image Builder API 操作请求参数指定的模式。要查看 API 命令请求参数,请参阅《EC2 Image Builder API 参考》中的ImportVmImage命令。
要将数据值作为命令行参数提供,请参阅Amazon CLI 命令参考中指定的参数名。将 Image Builder import-vm-image 命令作为选项。
以下是我们在此示例中指定的参数的摘要:
-
名称(字符串,必填)— 要从导入中作为输出而创建的 Image Builder 映像资源的名称。
-
semanticVersion(字符串,必填)— 输出映像的语义版本,按以下格式指定版本,每个位置都有数值表示特定版本:<major>.<minor>.<patch>。例如,
1.0.0
。要了解有关 Image Builder 资源的语义版本控制的更多信息,请参阅 Semantic 版本控制。 -
描述(字符串)— 映像配方的描述。
-
平台(字符串,必填)— 导入的 VM 的操作系统平台。
-
vmImportTaskID(字符串,必填)— Amazon EC2 虚拟机导入过程中的
ImportTaskId
(Amazon CLI)。Image Builder 会监控导入过程,以提取其创建的 AMI,并构建可立即用于配方的 Image Builder 映像资源。 -
clientToken(字符串,必填)— 用于确保请求的幂等性而提供的唯一、区分大小写的标识符。有关更多信息,请参阅 Amazon EC2 API 参考 中的确保幂等性。
-
标签(字符串映射)— 标签是附加到导入资源的键值对。最多允许 50 个键值对。
将文件另存为
import-vm-image.json
,以便在 Image Builder import-vm-image 命令中使用。{ "name": "example-request", "semanticVersion": "1.0.0", "description": "vm-import-test", "platform": "Linux", "vmImportTaskId": "import-ami-01ab234567890cd1e", "clientToken": "asz1231231234cs3z", "tags": { "Usage": "VMIE" } }
-
-
导入映像
使用您创建的文件作为输入并运行 import-vm-image
命令: aws imagebuilder import-vm-image --cli-input-json file://
import-vm-image.json
注意
-
JSON 文件路径开头必须包含
file://
符号。 -
JSON 文件的路径应遵循运行命令的基本操作系统的相应约定。例如,Windows 使用反斜杠 (\) 引用目录路径,Linux 则使用正斜杠 (/)。
-
从您的映像生成 (Amazon CLI) 中分配 VM 磁盘
在常规映像构建过程中,您可以使用 Amazon CLI中的 Image Builder 分配配置,设置将支持的 VM 磁盘格式文件分配到目标区域的 S3 存储桶。有关更多信息,请参阅 为输出 VM 磁盘创建分配设置 (Amazon CLI)。