本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 EventBridge 集成到图像生成器中
Amazon EventBridge 是一项无服务器事件总线服务,可用于将您的映像生成器应用程序与其他 AWS 服务应用程序的相关数据连接起来。在中 EventBridge,规则匹配传入的事件并将其发送到目标进行处理。一条规则可以将一个事件发送到多个目标,然后这些事件并行运行。
使用 EventBridge,您可以自动执行 AWS 服务 和自动响应系统事件,例如应用程序可用性问题或资源更改。 AWS 服务 近乎实时 EventBridge 地将事件交付给。您可以设置对传入事件做出响应的规则以启动操作。例如,当 EC2 实例的状态从待处理变为正在运行时,向 Lambda 函数发送事件。 EventBridge 将这些匹配的定义称为事件模式。要基于事件模式创建 EventBridge 规则,请参阅亚马逊 EventBridge 用户指南中的创建对事件做出反应的亚马逊规则。
图像生成器 EventBridge 在两个独立的方向上运行。选择与你的目标相匹配的那个:
-
运行管道以响应事件(以映像生成器为目标)。 EventBridge 当事件与规则匹配或触发时间表时,启动管道构建。
-
对图像生成器报告的内容做出反应(以图像生成器为来源)。Image Builder 将事件发布到默认事件总线,您可以匹配该总线并将其路由到自己的目标。
有关这两个方向的分步过程,请参阅EventBridge 与映像生成器管道一起使用。有关活动目录,请参阅Image Builder 发送的事件消息。
可自动触发的操作包括:
-
调用 AWS Lambda 函数
-
调用 Amazon EC2 Run Command
-
将事件中继到 Amazon Kinesis Data Streams
-
激活 AWS Step Functions 状态机
-
通知 Amazon SNS 主题或 Amazon SQS 队列
您还可以为默认事件总线设置调度规则,使其定期执行操作,例如运行 Image Builder 管道以每季度刷新一次映像。有两种类型的计划表达式:
有关 EventBridge 规则如何与映像生成器图像管道集成的更多信息,请参阅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 } } }
图像生成器在图像扫描完成时发送此事件,并且仅当您为图像启用图像扫描(Amazon Inspector)时才会发送此事件。如果扫描已关闭,映像生成器不会发送此事件。要开启扫描,请参阅在中为 Image Builder 图像配置安全扫描 AWS 管理控制台。
该事件detail包含以下字段:
字段 |
说明 |
|---|---|
|
映像生成器扫描的亚马逊 EC2 测试实例的 ID。 |
|
报告的严重性中的发现总数。 |
|
严重程度发现的数量。 |
|
高严重性发现的数量。 |
|
中等严重程度发现的数量。 |
重要
finding-severity-counts报告 criticalhigh,和medium计数加上all总数。它不报告low或untriaged调查结果。informational要查看全套调查结果,请参阅映像生成器控制台或 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使用事件发件人和联系action人致电RESUMESTOP以继续或结束构建。workflow-step-execution-id请参阅WaitForAction。要自动将其从事件中移除,请参阅对图像生成器发送的事件做出反应。
EC2 映像生成器映像管道自动禁用
如果您已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" } }
如果您按照管道的计划autoDisablePolicy进行配置,Image Builder 会计算计划生成的连续失败次数。当计数达到策略时failureCount,Image Builder 会禁用管道并发送此事件。
该事件detail包含以下字段:
字段 |
说明 |
|---|---|
|
触发自动禁用的连续计划生成失败次数。 |
该resources数组包含已禁用的管道的 ARN。
注意
只有计划的编译版本才计入总数。失败的手动编译不会增加流量;成功的手动或预定构建(以及创建或更新管道)会将其重置为零。请参阅 autoDisablePolicy EC2 映像生成器 API 参考文档。