使用 EC2 Image Builder 导入和导出虚拟机 (VM) 映像 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 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 映像资源,请执行以下步骤:

  1. 使用 Amazon EC2 VM Import/Export 启动 VM 导入import-image中的命令Amazon CLI. 记下命令响应中返回的任务 ID。下一步中需要使用该值。有关更多信息,请参阅 。使用 VM Import/Export 将 VM 作为映像导入中的VM Import/Export 用户指南.

  2. 创建 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" } }
  3. 导入映像

    使用您创建的作为输入的文件运行以下命令:

    aws imagebuilder import-vm-image --cli-input-json file://import-vm-image.json
    注意
    • JSON 文件路径开头必须包含 file:// 符号。

    • JSON 文件的路径应遵循运行命令的基本操作系统的相应约定。例如,Windows 使用反斜杠 (\) 引用目录路径,Linux 则使用正斜杠 (/)。

从映像构建中分发虚拟机磁盘(Amazon CLI)

作为常规映像构建过程的一部分,您可以使用Amazon CLI. 有关更多信息,请参阅为输出虚拟机磁盘创建分发设置 (Amazon CLI)