亚马逊在 Image Builder 中的 EventBridge 集成 - EC2Image Builder

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

亚马逊在 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 会发送此事件。例如,当图像状态从一种状态变为另一种状态时,如下所示:

  • buildingtesting

  • testingdistribution

  • testingfailed

  • integratingavailable

{ "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" } }