本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊在 Image Builder 中的 EventBridge 集成
Amazon EventBridge 是一项无服务器事件总线服务,您可以使用它来连接您的 Image Builder 应用程序与其他 AWS 服务应用程序的相关数据。在中 EventBridge,规则匹配传入的事件并将其发送到目标进行处理。一条规则可以将一个事件发送到多个目标,然后这些事件并行运行。
借 EventBridge助,您可以自动执行 AWS 服务 并自动响应系统事件,例如应用程序可用性问题或资源更改。来自 AWS 服务 的事件以近乎实时 EventBridge 的方式传送到。您可以设置对传入事件做出反应以启动操作的规则。例如,当EC2实例的状态从待处理变为正在运行时,向 Lambda 函数发送事件。这些被称为模式。要基于事件模式创建规则,请参阅 EventBridge 《亚马逊 EventBridge 用户指南》中的创建对事件做出反应的亚马逊规则。
可自动触发的操作包括:
-
调用一个 AWS Lambda 函数
-
调用 Amazon EC2 运行命令
-
将事件中继到 Amazon Kinesis Data Streams
-
激活 AWS Step Functions 状态机
-
通知亚马逊SNS主题或亚马逊SQS队列
您还可以为默认事件总线设置调度规则,使其定期执行操作,例如运行 Image Builder 管道以每季度刷新一次映像。有两种类型的计划表达式:
-
cron 表达式 — 以下 cron 表达式示例计划每天中午 UTC +0 运行任务:
cron(0 12 * * ? *)
有关将 cron 表达式与配合使用的更多信息 EventBridge,请参阅 A mazon EventBridge 用户指南中的 Cron 表达式。
-
rate 表达式 — 以下 rate 表达式示例将任务安排为每 12 小时运行一次:
rate(12 hour)
有关在中使用费率表达式的更多信息 EventBridge,请参阅 Amazon EventBridge 用户指南中的费率表达式。
有关 EventBridge 规则如何与 Image Builder 图像管道集成的更多信息,请参阅在 Image Builder 管道中使用 EventBridge 规则。
Image Builder 发送的事件消息
当 Image Builder 资源的状态发生重大变化 EventBridge 时,Image Builder 会向其发送事件消息。例如,当图像的状态发生变化时。以下示例显示了 Image Builder 可能发送的典型JSON事件消息。
- EC2Image Builder 图像状态更改
-
在图像创建过程中,当图像资源的状态发生变化时,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" } } } -
- EC2CVE检测到 Image Builder
-
如果您为图像启用了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 } } } - EC2Image Builder 工作流程步骤正在等待
-
当
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" } }