View a markdown version of this page

亚马逊在 Image Builder 中的 EventBridge 集成 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

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

亚马逊在 Image Builder 中的 EventBridge 集成

Amazon EventBridge 是一项无服务器事件总线服务,您可以使用它来连接您的 Image Builder 应用程序与其他 Amazon Web Services 服务应用程序的相关数据。在中 EventBridge,规则匹配传入的事件并将其发送到目标进行处理。一条规则可以将一个事件发送到多个目标,然后这些事件并行运行。

借 EventBridge助,您可以自动执行 Amazon Web Services 服务 并自动响应系统事件,例如应用程序可用性问题或资源更改。 Amazon Web Services 服务 近乎实时 EventBridge 地向其传送事件。您可以设置对传入事件做出响应的规则以启动操作。例如,当 EC2 实例的状态从待处理变为正在运行时,向 Lambda 函数发送事件。 EventBridge 调用这些匹配的定义事件模式。要基于事件模式创建规则,请参阅 EventBridge 《亚马逊 EventBridge 用户指南》中的创建对事件做出反应的亚马逊规则。

Image Builder EventBridge 在两个独立的方向上工作。选择与您的目标相匹配的那个:

  • 运行管道以响应事件(Image Builder 作为目标)。 EventBridge 当事件与规则匹配或计划触发时,启动管道构建。

  • 对 Image Builder 报告的内容做出反应(图像生成器作为来源)。Image Builder 将事件发布到默认事件总线,您可以匹配这些事件总线并将其路由到自己的目标。

有关两个方向的分步步骤,请参阅EventBridge 与映像生成器管道一起使用。有关活动目录,请参阅Image Builder 发送的事件消息。

可自动触发的操作包括:

  • 调用一个 Amazon Lambda 函数

  • 调用 Amazon EC2 Run Command

  • 将事件中继到 Amazon Kinesis Data Streams

  • 激活 Amazon Step Functions 状态机

  • 通知 Amazon SNS 主题或 Amazon SQS 队列

您还可以为默认事件总线设置调度规则,使其定期执行操作,例如运行 Image Builder 管道以每季度刷新一次映像。有两种类型的计划表达式:

  • cron 表达式 — 以下 cron 表达式示例将任务安排在每天中午 (UTC+0) 运行:

    cron(0 12 * * ? *)

    有关将 cron 表达式与配合使用的更多信息 EventBridge,请参阅 A mazon EventBridge 用户指南中的 Cron 表达式。

  • rate 表达式 — 以下 rate 表达式示例将任务安排为每 12 小时运行一次:

    rate(12 hours)

    有关在中使用费率表达式的更多信息 EventBridge,请参阅 Amazon EventBridge 用户指南中的费率表达式。

有关 EventBridge 规则如何与 Image Builder 图像管道集成的更多信息,请参阅EventBridge 与映像生成器管道一起使用。

注意

管道的内置调度和 EventBridge 调度规则是不同的机制:

  • 管道计划 (schedule.scheduleExpression) 是管道资源的一部分。Image Builder 对其进行评估,可以使用依赖项更新来控制构建pipelineExecutionStartCondition,也可以使用自动禁用失败的管道。autoDisablePolicy

  • EventBridge 计划规则存在于您的账户 EventBridge 中,并且始终在计划触发时启动构建;它没有依赖项限制,也没有自动禁用行为。

Image Builder 发送的事件消息

当 Image Builder 资源达到其生命周期的重要时刻时,Image Builder 会将 EventBridge 事件发送到默认事件总线,例如,当图像更改状态、扫描完成、工作流程步骤暂停输入或管道自动禁用时。每个事件都使用源aws.imagebuilder。

以下各节描述了每个事件:Image Builder 何时发送事件detail、事件中的字段以及resources数组中的资源 ARN。要对这些事件采取行动,请参阅对图像生成器发送的事件做出反应。示例中的账户 ID、区域、ARN 和时间戳均为占位符,请将其替换为自己的占位符。

EC2 Image Builder Image State Change

在映像创建过程中,当映像资源的状态发生变化时,Image Builder 会发送此事件。例如,当映像状态从一种状态变为另一种状态时,如下所示:

  • 从 building 到 testing

  • 从 testing 到 distribution

  • 从 testing 到 failed

  • 从 integrating 到 available

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Image State Change", "source": "aws.imagebuilder", "account": "111122223333", "time": "2024-01-18T17:50:56Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image/cmkencryptedworkflowtest-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222/1.0.0/1"], "detail": { "previous-state": { "status": "TESTING" }, "state": { "status": "AVAILABLE" } } }

在上面显示的构建过渡期间,每当图像资源在图像创建期间更改状态时,Image Builder 都会发送此事件。

该事件detail包含以下字段:

字段

说明

previous-state.status

更改前的图像状态(例如,TESTING)。

state.status

新的图像状态(例如,AVAILABLE)。

生成过渡状态值为BUILDING、、TESTING、DISTRIBUTING、INTEGRATINGAVAILABLECANCELLED、和。FAILED

该resources数组包含已更改状态的图像资源的 ARN。

EC2 Image Builder CVE Detected

如果您为映像启用了 CVE 检测,则每当完成映像扫描时,Image Builder 都会发送一条包含扫描结果的消息。

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder CVE Detected", "source": "aws.imagebuilder", "account": "111122223333", "time": "2023-03-01T16:59:09Z", "region": "us-east-1", "resources": [ "arn:aws:imagebuilder:us-east-1:111122223333:image/test-image/1.0.0/1", "arn:aws:imagebuilder:us-east-1:111122223333:image-pipeline/test-pipeline" ], "detail": { "resource-id": "i-1234567890abcdef0", "finding-severity-counts": { "all": 0, "critical": 0, "high": 0, "medium": 0 } } }

Image Builder 会在图像扫描完成时发送此事件,并且仅在您为图像启用图像扫描(Amazon Inspector)时才会发送此事件。如果扫描已关闭,Image Builder 将不会发送此事件。要开启扫描,请参阅在中为映像生成器映像配置安全扫描 Amazon Web Services 管理控制台。

该事件detail包含以下字段:

字段

说明

resource-id

Image Builder 扫描的 Amazon EC2 测试实例的 ID。

finding-severity-counts.all

在报告的严重程度上发现的总数。

finding-severity-counts.critical

严重程度严重性发现的数量。

finding-severity-counts.high

高严重性发现的数量。

finding-severity-counts.medium

中等严重性发现的数量。

重要

finding-severity-counts报告critical、high、和medium计数加上all总数。它不报告lowinformational、或untriaged调查结果。要查看全套调查结果,请查看 Image Builder 控制台或 Amazon Inspector 中的安全调查结果。

该resources数组包含图像资源的 ARN,以及从管道运行扫描时图像管道的 ARN。

EC2 Image Builder Workflow Step Waiting

当 WaitForAction 工作流步骤暂停以等待异步操作完成时,Image Builder 会发送一条消息。

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Workflow Step Waiting", "source": "aws.imagebuilder", "account": "111122223333", "time": "2024-01-18T16:54:44Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image/workflowstepwaitforactionwithvalidsnstopictest-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222/1.0.0/1", "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/build-workflow-a1b2c3d4-5678-90ab-cdef-EXAMPLE33333/1.0.0/1"], "detail": { "workflow-execution-id": "wf-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "workflow-step-execution-id": "step-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "workflow-step-name": "TestAutoSNSStop" } }

当WaitForAction工作流程步骤暂停等待您的响应时,Image Builder 会发送此事件。工作流程会一直处于暂停状态,直到您做出回应或步骤超时。

该事件detail包含以下字段:

字段

说明

workflow-execution-id

包含已暂停步骤的正在运行的工作流程的 ID。

workflow-step-execution-id

正在等待的特定步骤执行的 ID。

workflow-step-name

WaitForAction步骤的名称,如工作流程文档中所定义。

该resources数组包含图像资源的 ARN 和工作流程的 ARN。

要做出回应,请调SendWorkflowStepAction用事件workflow-step-execution-id中的和 o action f RESUME 来继续,或者STOP结束构建。请参阅WaitForAction。要自动将其从活动中驱动,请参阅对图像生成器发送的事件做出反应。

EC2 Image Builder 镜像管道自动禁用

如果您已autoDisablePolicy为管道配置了,则 Image Builder 会禁用管道,并在连续调度管道执行失败次数超过策略允许的最大数量 EventBridge 时向其发送事件消息。

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Image Pipeline Automatically Disabled", "source": "aws.imagebuilder", "account": "111122223333", "time": "2025-09-18T16:54:44Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image-pipeline/disabled-image-pipeline-name"], "detail": { "consecutive-failures": "5" } }

如果您按管道的计划配置,Image Builder 会计算计划构建的连续失败次数。autoDisablePolicy当计数达到策略时failureCount,Image Builder 会禁用管道并发送此事件。

该事件detail包含以下字段:

字段

说明

consecutive-failures

触发自动禁用的连续计划生成失败次数。

该resources数组包含已禁用的管道的 ARN。

注意

只有预定版本才计入总数。失败的手动构建不会增加它;成功创建或更新管道的手动或计划构建会将其重置为零。请参阅 autoDisablePolicy EC2 Image Builder API 参考。