创建镜像 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建镜像

本节介绍创建 AMI 和容器镜像。

创建镜像 (Amazon CLI)

在您具有基本配方和基础设施配置时,可以使用imagebuilder create-image命令。

aws imagebuilder create-image --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2019.12.03 --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2123456789012:infrastructure-configuration/myexampleinfrastructure

导入虚拟机(控制台)

要将虚拟机从磁盘导入到 AMI 中,然后创建可在配方中使用的映 Image Builder 映像资源,请按照以下步骤操作:

General

  1. 指定唯一的名称对于基本映像。

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

  3. 您还可以输入可选说明对于基本映像。

基本映像操作系统

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

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

VM 导入配置

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

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

导入源

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

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

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

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

IAM 角色

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

高级设置 —optional

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

基本映像架构

要指定虚拟机导入源的体系结构,请从架构list。

Encryption

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

许可证管理

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

  • 附带许可— 合适的Amazon平台的许可证将应用于您的基础映像。

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

附加使用创建的许可证配置Amazon License Manager到你的基础图片,从许可证配置名称list。有关 License Manager 的更多信息,请参阅使用Amazon License Manager

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

  • Linux 只支持 BYOL 许可证。

标签(基本映像)

标签使用键值对将可搜索的文本分配给 Image Builder 资源。要为导入的基础映像指定标签,请使用密钥盒子。

要添加标签,请选择添加标签。要删除标签,请选择删除标签

导入 VM (VM)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 资源语义版本的更多信息,请参阅语义版本控制.

    • 描述(string) — 映像配方的描述。

    • 平台(字符串,必填)— 导入虚拟机的操作系统平台。

    • vmimport TasKid(字符串,必填)—ImportTaskId(Amazon CLI) 来自 Amazon EC2 虚拟机导入过程。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 则使用正斜杠 (/)。