本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊在 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包含以下字段:
字段 |
说明 |
|---|---|
|
更改前的图像状态(例如, |
|
新的图像状态(例如, |
生成过渡状态值为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包含以下字段:
字段 |
说明 |
|---|---|
|
Image Builder 扫描的 Amazon EC2 测试实例的 ID。 |
|
在报告的严重程度上发现的总数。 |
|
严重程度严重性发现的数量。 |
|
高严重性发现的数量。 |
|
中等严重性发现的数量。 |
重要
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包含以下字段:
字段 |
说明 |
|---|---|
|
包含已暂停步骤的正在运行的工作流程的 ID。 |
|
正在等待的特定步骤执行的 ID。 |
|
|
该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包含以下字段:
字段 |
说明 |
|---|---|
|
触发自动禁用的连续计划生成失败次数。 |
该resources数组包含已禁用的管道的 ARN。
注意
只有预定版本才计入总数。失败的手动构建不会增加它;成功创建或更新管道的手动或计划构建会将其重置为零。请参阅 autoDisablePolicy EC2 Image Builder API 参考。