

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

# 教程：通过 Image Builder 控制台向导使用输出 AMI 创建映像管道
<a name="start-build-image-pipeline"></a>

本教程将引导您使用**创建映像管道**控制台向导创建自动管道，以构建和维护自定义 EC2 Image Builder 映像。为了帮助您高效地完成这些步骤，系统会在默认设置可用时使用默认设置，并跳过可选部分。

**Topics**
+ [步骤 1：指定管道详细信息](#start-build-image-step1)
+ [步骤 2：选择配方](#start-build-image-step2)
+ [步骤 3：定义基础设施配置-可选](#start-build-image-step3)
+ [步骤 4：定义分配设置-可选](#start-build-image-step4)
+ [步骤 5: 审核](#start-build-image-step5)
+ [步骤 6：清除](#start-build-image-cleanup)

## 步骤 1：指定管道详细信息
<a name="start-build-image-step1"></a>

1. 打开 EC2 Image Builder 控制台，网址为[https://console.aws.amazon.com/imagebuilder/](https://console.amazonaws.cn/imagebuilder/)。

1. 要开始创建管道，请选择**创建映像管道**。

1. 在**常规**部分中，输入您的**管道名称**（*必需*）。
**提示**  
增强型元数据收集默认开启。为确保组件和基础映像之间的兼容性，请将其保持开启状态。

1. 在**生成计划**部分，您可以保留 **计划选项**的默认值。请注意，默认计划中显示**的时区**是通用协调时间 (UTC)。有关 UTC 时间的更多信息以及要查找您所在时区的偏移量，请参阅[时区缩写-全球列表。](https://www.timeanddate.com/time/zones/)

   对于**依赖项更新设置**，请选择**Run pipeline at the scheduled time if there are dependency updates**选项。此设置会让您的管道在开始构建之前检查更新。如果没有更新，它将跳过计划的管道构建。
**注意**  
为确保您的管道能够按预期识别依赖项更新和构建，您必须对基础映像和组件使用语义版本控制 (x.x.x)。要了解有关 Image Builder 资源的语义版本控制的更多信息，请参阅[Image Builder 中的语义版本控制](ibhow-semantic-versioning.md)。

1. 要继续执行下一个步骤，请选择**下一步**。

## 步骤 2：选择配方
<a name="start-build-image-step2"></a>

1. Image Builder 在**配方**一节中默认为**使用现有配方**。首次使用时，请选择**创建新配方**选项。

1. 在**映像类型**一节，选择**亚马逊机器映像 (AMI)**选项以创建生成和分配 AMI 的映像管道。

1. 在**常规**一节，输入以下必填框：
   + **姓名**—您的配方名称
   + **版本**-您的配方版本（使用格式*<major>.<minor>.<patch>*，其中 major、minor 和 patch 是整数值）。新配方通常以`1.0.0`开头。

1. 在**源映像**一节中，保留**选择映像**、**映像操作系统 (OS)** 和**映像来源**的默认值。这将生成由亚马逊管理 AMIs 的 Linux 列表。在本教程中，选择`Amazon Linux 2 x86`图片。

   1. 从**映像名称**下拉列表中，选择一个映像。

   1. 保留**自动版本控制选项**的默认值（**使用最新的可用操作系统版本**）。
**注意**  
此设置可确保您的管道对基础映像使用语义版本控制，以检测自动计划作业的依赖项更新。要了解有关 Image Builder 资源的语义版本控制的更多信息，请参阅[Image Builder 中的语义版本控制](ibhow-semantic-versioning.md)。

1. 在**实例配置**一节，保留 **Systems Manager 代理**的默认值。这会使得 Image Builder 在构建和测试完成后保留 Systems Manager 代理，以便在新映像中包含 Systems Manager 代理。

   在本教程中，将**用户数据**留空。当您启动构建实例时，有时可以使用此区域以提供要运行的命令或命令脚本。但是，它会替换 Image Builder 可能添加的任何命令，以确保安装 Systems Manager。使用它时，请确保您的基础映像上已预先安装了 Systems Manager 代理，或者已将安装的内容包含在用户数据中。

1. 在 “**组件**” 部分中，您可以选择不添加任何组件并继续。如果要添加组件，请在 “**生成组件**” 面板中选择 “**添加构建组件**”，然后`Amazon managed`从组件所有者筛选器列表中进行选择。这将在控制台界面的右侧打开一个选择面板，您可以在其中浏览和筛选可用的组件。

   在本教程中，请选择一个使用最新安全更新来更新 Linux 的组件，如下所示：

   1. 通过在面板顶部的搜索栏中输入单词 `update` 来筛选结果。

   1. 选中 `update-linux` 构建组件的复选框。

   1. 保留**版本控制选项**的默认值（**使用可用的最新版本**）。
**注意**  
此设置可确保您的管道对选定组件使用语义版本控制，以检测自动计划作业的依赖项更新。要了解有关 Image Builder 资源的语义版本控制的更多信息，请参阅[Image Builder 中的语义版本控制](ibhow-semantic-versioning.md)。

   1. 选择 “**添加到食谱**”，将该组件添加到您的食谱中。这将关闭组件选择面板。

   1. 返回到 “**生成组件**” 面板中，将显示您添加的组件。

1. 

**重新排序组件（可选）**

   如果您选择了多个组件要包含在映像中，则可以使用 drag-and-drop操作将它们重新排列为它们在构建过程中应遵循的运行顺序。
**注意**  
CIS 加固组件未遵循 Image Builder 配方中的标准组件排序规则。CIS 加固组件始终最后运行，以确保基准测试针对您的输出映像运行。

   1. 重复前面的步骤，将该`update-linux-kernel-5`组件添加到您的食谱中。

   1. 您刚刚添加的组件具有内核版本的输入参数。要展开**版本控制选项**或**输入参数**的设置，可以选择设置名称旁边的箭头。要展开所有选定组件的所有设置，可以关闭和打开**全部展开**开关。有关在组件中使用输入参数以及在配方中设置输入参数的更多信息，请参阅 [教程：创建带有输入参数的自定义组件](tutorial-component-parameters.md)。

   1. 选择其中一个组件，然后向上或向下拖动以更改组件的运行顺序。

   1. 要删除 `update-linux-kernel-5` 组件，请从组件框的右上角选择 `X`。

      重复此步骤以删除您可能已添加的任何其他组件，只选中该`update-linux`组件。

1. 要继续执行下一个步骤，请选择**下一步**。

## 步骤 3：定义基础设施配置-可选
<a name="start-build-image-step3"></a>

Image Builder 在您的账户中启动 EC2 实例，以自定义映像和运行验证测试。基础设施配置设置为在构建 Amazon Web Services 账户 过程中将在您的中运行的实例指定基础设施详细信息。

在**基础设施配置**一节中，**配置选项**默认为 `Create infrastructure configuration using service defaults`。这将创建一个 IAM 角色和关联的实例配置文件，供 EC2 构建与测试实例用来配置您的映像。有关基础设施配置设置的更多信息，请参阅 *EC2 Image Builder API 参考[CreateInfrastructureConfiguration](https://docs.amazonaws.cn/imagebuilder/latest/APIReference/API_CreateInfrastructureConfiguration.html)*中的。

在本教程中，我们将使用默认设置。

**注意**  
要指定用于私有 VPC 的子网，您可以创建自己的自定义基础设施配置，也可以使用已经创建的设置。
+ 要继续执行下一个步骤，请选择**下一步**。

## 步骤 4：定义分配设置-可选
<a name="start-build-image-step4"></a>

分发配置包括输出 AMI 名称、用于加密的特定区域设置、启动权限以及可以启动输出 AMI 的组织和组织单位 (OUs) 以及许可证配置。 Amazon Web Services 账户

在**分配设置**一节中，**配置选项**默认为 `Create distribution settings using service defaults`。此选项会将输出 AMI 分配到当前区域。有关配置分配设置的更多信息，请参阅[管理 Image Builder 分配设置](manage-distribution-settings.md)。

在本教程中，我们将使用默认设置。
+ 要继续执行下一个步骤，请选择**下一步**。

## 步骤 5: 审核
<a name="start-build-image-step5"></a>

**审核**一节显示您配置的所有设置。要编辑任何给定一节中的信息，请选择位于步骤一节中右上角的**编辑**按钮。例如，如果要更改管道名称，请选择**步骤 1：管道详细信息**一节中右上角的**编辑**按钮。

1. 查看设置后，选择**创建管道**来创建您的管道。

1. 如您的资源是为分配设置、基础架构配置、新配方和管道而创建，您可以在页面顶部看到成功或失败的消息。要查看资源的详细信息，包括资源标识符，请选择**查看详细信息**。

1. 查看资源的详细信息后，您可以通过从导航窗格中选择资源类型来查看有关其他资源的详细信息。例如，要查看新管道的详细信息，请从导航窗格中选择**映像管道**。如果构建成功，则您的新管道将显示在**映像管道**列表中。

## 步骤 6：清除
<a name="start-build-image-cleanup"></a>

Image Builder 环境就像家一样，需要定期维护，以帮助您找到所需的内容，并在不费吹灰之力的情况下完成任务。请务必定期对为了测试而创建的临时资源进行清理。否则，您可能会忘记这些资源，然后再也不记得它们的用途。届时，可能还不清楚您能否安全地删除它们。

**提示**  
为防止在删除资源时出现依赖项错误，请确保按以下顺序删除资源：  
映像管道
映像配方
所有剩余的资源

要清除您为本教程创建的资源，请执行以下步骤：

**删除管道**

1. 要查看在您的账户下创建的构建管道列表，请从导航窗格中选择**映像管道**。

1. 导航到 **镜像管道** 页面，然后选中要删除的管道名称旁边的复选框。

1. 在**映像管道**面板顶部的**操作**菜单中，选择**删除**。

1. 若要确认删除，请在框中输入 `Delete`，然后选择**删除**。

**删除配方**

1. 要查看在您的账户下创建的配方列表，请从导航窗格中选择**映像配方**。

1. 选择**配方名称**旁边的复选框以选择想要删除的配方。

1. 在**映像配方**面板顶部的**操作**菜单中，选择**删除配方**。

1. 若要确认删除，请在框中输入 `Delete`，然后选择**删除**。

**删除基础设施配置**

1. 要查看在您的账户下创建的基础设施配置列表，请从导航窗格中选择**基础设施配置**。

1. 选择**配置名称**旁边的复选框以选择想要删除的基础架构配置。

1. 在**基础设施配置**面板的顶部，选择**删除**。

1. 若要确认删除，请在框中输入 `Delete`，然后选择**删除**。

**删除分配设置**

1. 要查看在您的账户下创建的分配设置列表，请从导航窗格中选择**分配设置**。

1. 选择**配置名称**旁边的复选框以选择您为本教程创建的分配设置。

1. 在**分配设置**面板的顶部，选择**删除**。

1. 若要确认删除，请在框中输入 `Delete`，然后选择**删除**。

**删除映像**  
请按照以下步骤验证您是否已删除从教程管道中创建的所有映像。本教程不太可能创建映像，除非根据构建计划，自您创建管道以来已经过了足够的时间，使得它运行。

1. 要查看在您的账户下创建的映像列表，请从导航窗格中选择**映像**。

1. 对于要移除的映像，选择映像**版本**。此时将打开**映像构建版本**页面。

1. 选中要删除的任何图像的**版本**旁边的复选框。您一次可以选择多个映像版本。

1. 在**映像构建版本**面板的顶部，选择**删除版本**。

1. 若要确认删除，请在框中输入 `Delete`，然后选择**删除**。