本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Image Builder 映像的构建和测试工作流
图像工作流程定义了 EC2 Image Builder 在映像创建过程的构建、测试和分发阶段执行的步骤顺序。这是整个 Image Builder 工作流框架的一部分。
映像工作流优势
-
借助映像工作流,您可以更灵活、更清晰和更好地控制映像创建过程。
-
您可以在定义工作流文档时添加自定义工作流步骤,也可以选择使用 Image Builder 默认工作流。
-
您可以排除默认映像工作流中包含的工作流步骤。
-
您可以创建完全跳过构建过程的仅测试工作流。您也可以这样做来创建仅限编译或仅限分发的工作流程。
注意
您无法修改现有工作流,但可以对其进行克隆或创建新版本。
工作流框架:阶段
要自定义映像工作流,了解构成映像创建工作流框架的工作流阶段至关重要。
图像创建工作流程框架包括以下不同的阶段。
-
构建期(快照前)— 在构建期,您可以对运行您的基础映像的 Amazon EC2 构建实例进行更改,以创建新映像的基准。例如,您的配方可以包含安装应用程序或修改操作系统防火墙设置的组件。
成功完成此阶段后,Image Builder 会创建快照或容器映像,以供测试期和后续时期使用。
-
测试阶段(快照后)– 在测试阶段,创建 AMI 的映像与容器映像之间存在一些差异。对于 AMI 工作流,Image Builder 从其创建的快照启动 EC2 实例,作为构建阶段的最后一步。在新实例上运行测试以验证设置并确保该实例按预期运行。对于容器工作流,测试在用于构建的同一实例上运行。
-
分发阶段(后期构建)— 在分发阶段,一旦映像构建完成并成功通过所有测试,输出图像就会经历不同的分发阶段。这些阶段包括 AMI 复制操作、图像属性修改、图像共享和其他相关的分发步骤。
服务访问
要运行映像工作流,Image Builder 需要获得执行工作流操作的权限。您可以使用 Image Builder 代表您担任的执行角色来授予此权限。您可以按如下方式分配执行角色。
重要
我们建议您不要将AWSServiceRoleForImageBuilder服务相关角色作为执行角色传递。相反,创建自定义 IAM 角色并附加EC2ImageBuilderExecutionPolicy AWS 托管策略。此策略授予的权限与 Image Builder AWS 服务 代表您调用所需的权限相同。使用自定义角色可以完全控制 Image Builder 使用的权限。它还可以使您的服务控制策略 (SCP) 和资源控制策略 (RCP) 对Image Builder代表您执行的操作保持有效。
-
控制台 — 在管道向导第 3 步定义映像创建过程中,从 “服务访问权限” 面板的 IAM 角色列表中选择您的自定义角色。
-
I@@ mage Builder API — 在CreateImage操作请求中,将您的自定义角色指定为
executionRole参数值。
要创建自定义执行角色,请参阅AWS Identity and Access Management 用户指南中的创建向 AWS 服务委派权限的角色。
对图像使用托管工作流程
托管工作流程由创建和维护 AWS。当您在图像管道中使用托管工作流程或创建一次性图像时,您可以选择要使用的托管工作流程的 Amazon 资源名称 (ARN)。Amazon 提供已应用补丁和其他更新的最新版本。要获取托管工作流程列表列出映像工作流,请参阅并在 Owner = Amazon(控制台)上进行筛选。