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