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

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

使用 EC2 Image Builder 导入和导出虚拟机映像

当您从虚拟化环境中导出 VM 时,该过程会创建一个或多个磁盘容器文件,这些文件充当 VM 环境、设置和数据的快照。您可以使用这些文件导入 VM,并将其用作映像配方的基础映像。

对于 VM 磁盘容器,Image Builder 支持以下文件格式:

  • 开放虚拟化归档 (OVA)

  • 虚拟机磁盘 (VMDK)

  • 虚拟硬盘 (VHD/VHDX)

  • 原始

导入时使用磁盘来创建 Amazon Machine Image (AMI) 和 Image Builder 映像资源,这两者都可以用作自定义映像配方的基础映像。VM 磁盘必须存储在 S3 存储桶中才能导入。另外,也可以现有 EBS 快照中导入。

在 Image Builder 控制台中,您可以直接导入映像,然后在配方中使用输出映像或 AMI,也可以在创建配方或配方版本时指定导入参数。有关作为映像配方的一部分进行导入的更多信息,请参阅 虚拟机导入配置

将虚拟机导入 Image Builder

Image Builder 与 Amazon EC2 VM Import/Export API 集成,使导入过程能够在后台异步运行。Image Builder 会引用虚拟机导入中的任务 ID 来跟踪其进度,并创建一个 Image Builder 映像资源作为输出。这允许您在虚拟机导入完成之前在配方中引用 Image Builder 映像资源。

Console

要使用 Image Builder 控制台导入虚拟机,请执行以下步骤:

  1. 打开位于 https://console.aws.amazon.com/imagebuilder/的 EC2 Image Builder 控制台。

  2. 从导航窗格中,选择映像

  3. 选择导入映像

  4. 在 “导入图片” 页面上提供以下各部分的详细信息。完成操作后,选择导入映像

常规
  1. 为基本映像指定一个唯一的名称

  2. 指定基本映像的版本。采用以下格式:major.minor.patch

  3. 您也可以为基本映像输入可选的描述

基本映像操作系统
  1. 选择与您的虚拟机操作系统平台匹配的映像操作系统 (OS) 选项。

  2. 从列表中选择与您的虚拟机版本相匹配的操作系统版本

虚拟机导入配置
  1. 当您从虚拟化环境中导出虚拟机时,该过程会创建一个或多个磁盘容器文件。这些文件充当虚拟机环境、设置和数据的快照。您可以使用这些文件导入虚拟机作为映像配方的基本映像。有关在 Image Builder 中导入虚拟机的更多信息,请参阅 导入和导出 VM 映像

    要指定导入源的位置,请执行以下步骤:

     

    导入源

    磁盘容器 1 部分中指定要导入的第一个虚拟机映像磁盘容器或快照的来源。

    1. 来源 — 可以是 S3 存储桶,也可以是 EBS 快照。

    2. 选择磁盘的 S3 位置 – 输入 Amazon S3 中存储磁盘映像的位置。要浏览位置,请选择浏览 S3

    3. 要添加磁盘容器,请选择添加磁盘容器

     

  2. IAM 角色

    要将 IAM 角色与您的虚拟机导入配置相关联,请从 IAM 角色下拉列表中选择该角色,或者选择创建新角色来创建一个新角色。如果您创建了新角色,IAM 角色控制台页面将在单独的标签页中打开。

     

  3. 高级设置 – 可选

    以下设置可选:使用这些设置,您可以为导入创建的基本映像配置加密、许可、标签等。

    基本映像架构

    要指定虚拟机导入源的架构,请从架构列表中选择一个值。

    加密

    如果您的虚拟机磁盘映像已加密,则必须提供用于导入过程的密钥。要为导入指定 KMS 密钥,请从加密(KMS 密钥)列表中选择一个值。该列表包含您的账户在当前区域中有权访问的 KMS 密钥。

    许可证管理

    导入虚拟机时,导入过程会自动检测虚拟机操作系统并将相应的许可证应用于基本映像。根据您的操作系统平台,许可证类型如下:

    • 包含许可证 — 适用于您的平台的相应 Amazon 许可证将应用于您的基本映像。

    • 自带许可(BYOL) - 保留源自虚拟机的许可证(如果适用)。

    要将使用创建的许可证配置附加 Amazon License Manager 到您的基础映像,请从许可证配置名称列表中进行选择。有关 License Manager 的更多信息,请参阅使用 Amazon License Manager

    注意
    • 许可证配置包含基于您的企业协议条款的许可规则。

    • Linux 仅支持 BYOL 许可证。

    标签(基本映像)

    标签使用键值对为您的 Image Builder 资源分配可搜索的文本。要为导入的基本映像指定标签,请使用框输入键值对。

    要添加标签,请选择 Add tag(添加标签)。要删除标签,请选择 Remove tag(删除标签)。

Amazon CLI

要将虚拟机从磁盘导入 AMI 并创建可以立即引用的 Image Builder 映像资源,请在 Amazon CLI中执行以下操作:

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

     

  2. 创建 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 资源的语义版本控制的更多信息,请参阅 Image Builder 中的语义版本控制

    • 描述(字符串)— 映像配方的描述。

    • 平台(字符串,必填)— 导入的 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" } }
  3. 导入映像

    使用您创建的文件作为输入并运行 import-vm-image 命令:

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

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

从您的映像版本中分发虚拟机磁盘 Amazon CLI

在常规映像构建过程中,您可以使用 Amazon CLI中的 Image Builder 分配配置,设置将支持的 VM 磁盘格式文件分配到目标区域的 S3 存储桶。有关更多信息,请参阅 为来自的输出 VM 磁盘创建分发设置 Amazon CLI