本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Image Builder 配置映像管道工作流
使用图像工作流程,您可以自定义管道运行的工作流程,以根据需要构建、测试和分发图像。您定义的工作流在 Image Builder 工作流框架的上下文中运行。有关构成工作流框架的各个阶段的更多信息,请参阅管理映像生成器映像的构建、测试和分发工作流程。
- 构建工作流
-
构建工作流在工作流框架的
Build阶段运行。只能为管道指定一个构建工作流。或者可以完全跳过构建来配置仅测试管道。 - 测试工作流
-
测试工作流在工作流框架的
Test阶段运行。您可以向管道中添加一个或多个测试工作流程,总共最多十个工作流程,这还包括您的构建和分发工作流程。测试工作流程可以并行运行,也可以一次运行一个,具体取决于您定义测试组的方式。如果只想要构建管道,也可以完全跳过测试。 - 分发工作流程
-
分发工作流程在工作流框架
Distribution阶段运行。分发工作流程是可选的。如果您未指定,Image Builder 仍会通过运行您附加到管道或映像的分发配置来分发您的 AMI。当您想要使用不同的分发设置覆盖该分发配置,或者想提高分发过程的可见性时,请指定分发工作流程。您可以为管道指定一个分发工作流程。如果您构建容器镜像但未指定分配工作流程,Image Builder 会为您添加 Amazon 托管容器分发工作流程。
定义测试工作流的测试组
您可以在测试组中定义测试工作流程。您可以为您的管道运行多个测试工作流程。总共限制为十个工作流程,其中包括您的生成和分发工作流程。您可以决定是按特定顺序运行测试工作流,还是同时运行尽可能多的测试工作流。其运行方式取决于您如何定义测试组。以下场景演示了几种定义测试工作流的方法。
注意
parallelGroup和onFailure设置仅适用于测试工作流程。Image Builder 在生成或分发工作流程中InvalidParameterCombinationException使用拒绝它们。
测试组如何运行
映像生成器在测试组中运行您的测试工作流程。它一次只能运行一个小组。单个组中的测试工作流程同时运行(并行)。Image Builder 最多可同时运行五个测试工作流程;如果一个组有五个以上的测试工作流程,Image Builder 会在每个工作流程完成后启动下一个测试工作流程。不属于群组的测试工作流程会自行运行。
如何定义测试组取决于您使用的是控制台还是 AWS CLI 和 API。选择与您使用的方法相匹配的选项卡。
场景 1:一次运行一个测试工作流
要一次运行所有测试工作流程,请为每个测试工作流程配置一个单独的测试组,总共不超过十个工作流程(包括您的生成和分发工作流程)的总和。映像生成器一次只能运行一个测试组。这是确保测试工作流按特定顺序逐一运行的一种方法。
场景 2:同时运行多个测试工作流
如果顺序无关紧要,并且您希望同时运行尽可能多的测试工作流,则可以配置单个测试组,并在其中放入最大数量的测试工作流。Image Builder 可同时启动多达五个测试工作流,并在其他工作流完成后启动其他测试工作流。如果您的目标是尽可能快地运行测试工作流,那么这是一种实现目标的方法。
场景 3:混合搭配
如果是混合场景,其中有些测试工作流可以同时运行,而另一些则应该一次运行一个,那么您可以配置测试组来实现这个目标。如何配置测试组的唯一限制是可以为管道运行的测试工作流的最大数量
通过控制台在 Image Builder 管道中设置工作流参数
构建、测试和分发工作流程的工作流程参数的功能相同。创建或更新管道时,您可以选择要包括的构建、测试和分发工作流程。如果在工作流文档中为所选工作流定义了参数,则 Image Builder 会在参数面板中显示这些参数。对于未定义参数的工作流程,该面板处于隐藏状态。
每个参数都显示工作流文档定义的以下属性:
名称(不可编辑)– 参数的名称。
类型(不可编辑)- 参数值的数据类型。
-
值 – 参数的值。您可以编辑参数值以设置管道的参数值。
指定 Image Builder 用于运行工作流操作的 IAM 服务角色
当您将自定义映像工作流程附加到管道或设置日志记录配置时,还必须指定执行角色。这是映像生成器在运行您的工作流程操作时承担的 IAM 角色。该角色必须信任映像生成器服务主体。有关所需权限,请参阅以下工作流服务访问信息。
要运行映像工作流,Image Builder 需要获得执行工作流操作的权限。您使用映像生成器代表您承担的执行角色来授予此权限。您可以按如下方式分配执行角色。
重要
我们建议您不要将AWSServiceRoleForImageBuilder服务相关角色作为执行角色传递。相反,创建自定义 IAM 角色并附加EC2ImageBuilderExecutionPolicy AWS 托管策略。此政策授予的权限与映像生成器 AWS 服务 代表您调用所需的权限相同。使用自定义角色可以完全控制映像生成器使用的权限。它还可以使您的服务控制策略 (SCP) 和资源控制策略 (RCP) 在 Image Builder 代表您执行的操作中保持有效。
-
控制台 -在管道向导步骤 3 定义映像创建过程中,从服务访问面板的 IAM 角色列表中选择您的自定义角色。
-
Image Builder API — 在CreateImage操作请求中,将您的自定义角色指定为
executionRole参数值。
要创建自定义执行角色,请参阅《AWS Identity and Access Management 用户指南》中的创建向 AWS 服务委派权限的角色。
将工作流与管道关联
要将自定义构建、测试和分发映像工作流程与您的管道相关联,请选择与要使用的方法相匹配的选项卡。