教程:创建 Amazon EventBridge 梁规则Amazon CloudTrailAPI 调用 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

教程:创建 Amazon EventBridge 梁规则Amazon CloudTrailAPI 调用

创建规则,它触发了一个操作Amazon服务不会生成事件,则可以匹配由该服务进行的 API 调用。Amazon CloudTrail记录对某些服务的 API 调用。有关更多信息,请参阅。CloudTrail 支持的服务和集成

EventBridge 中的规则仅适用于创建规则的区域。如果您在多个区域中配置 CloudTrail 以跟踪 API 调用,并且希望基于 CloudTrail 的规则针对每个区域创建单独的规则。

CloudTrail 交付的所有事件都具有Amazon API Call via CloudTrail作为detail-type。来自以关键字开头的 API 操作的事件ListGet,或者Describe不会被 EventBridge 处理,但以下Amazon STS操作:

  • GetFederationToken

  • GetSessionToken

要记录事件,请使用detail-type的值Amazon API Call via CloudTrail,则需要启用日志记录的 CloudTrail 跟踪。

注意

可以创建一个规则,导致无限循环,其中规则重复运行。为了防止无限循环,规则不得运行与同一规则匹配的操作。

例如,某规则检测到 S3 存储桶上的 ACL 已更改,然后运行软件以将 ACL 更改为新状态,导致同一规则再次运行。

例如,您的规则可能仅在发现 ACL 处于错误状态时而不是在进行任何更改之后激发。

无限循环可能快速导致费用超出预期。我们建议您使用预算功能,以便在费用超出您指定的配额时提醒您。有关更多信息,请参阅 。利用预算管理成本中的Amazon Billing and Cost Management用户指南

重要

CloudTrail 通过 EventBridge 向资源所有者扩展事件交付。目前,CloudTrail 支持 API 调用者和资源所有者通过创建跟踪来接收 S3 存储桶中的事件,并通过 EventBridge 将事件传递给 API 调用者。通过此更改,除 API 调用者之外,资源所有者将能够通过 EventBridge 监控跨账户 API 调用。CloudTrail 与 EventBridge 的集成提供了一种方便的方式来设置基于规则的自动化工作流以响应事件。

CloudTrail 团队于 2021 年 4 月 12 日开始部署此更新,预计本月初将在所有商业区域完成此更新。因此,一些客户可能会遇到通过 EventBridge 交付的 EventBridge 事件与此更新相吻合的增加。无需客户操作,但如果您有任何问题,请联系Amazon Web Services Support。

第 1 步:创建规则

通过创建对 API 调用触发 CloudTrail

创建 规则

  1. 打开位于 https://console.aws.amazon.com/events/ 的 Amazon EventBridge 控制台。

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择 Create rule (创建规则)

  4. 为规则输入名称和描述。

    规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

  5. 对于 Define pattern (定义模式),选择 Event pattern (事件模式)

  6. 选择 Pre-defined pattern by service (服务预定义的模式)

  7. 对于 Service provider (服务提供商),选择 Amazon

  8. 适用于Service name (服务名称)中,选择CloudTrail

  9. 适用于Event type中,选择Amazon通过 CloudTrail 进行 API 调用

    如果您希望自定义事件模式,请选择 Edit (编辑),做出修改,然后选择 Save (保存)

  10. 对于选择事件总线,选择 Amazon 默认事件总线。当您账户中的某个 Amazon 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  11. 适用于目标中,最多选择 5 个要发送的目标Amazon通过 CloudTrail 进行 API 调用至. 配置所选目标的任何附加设置。其他设置因目标而异。

    对于许多目标类型,例如Step Functions 状态机,EventBridge 需要权限以便将事件发送到目标资源。在这些情况下,EventBridge 可以创建运行规则所需的 IAM 角色:

    • 要自动创建 IAM 角色,请选择为此特定资源创建新角色

    • 要使用您之前创建的 IAM 角色,请选择使用现有角色

  12. 适用于重试策略和死信队列:,在重试策略

    1. 适用于事件的最大年龄中,输入一个介于 1 分钟 (00:01) 和 24 小时 (24:00) 之间的值。

    2. 适用于重试尝试中,输入 0 和 185 之间的数。

  13. 适用于死信队列中,选择是否将标准 Amazon SQS 队列用作死信队列。如果与此规则匹配的事件未成功传递到目标,EventBridge 会将这些事件发送到死信队列。请执行下列操作之一:

    • 选择以便不使用死信队列。

    • 选择Amazon SQS 前Amazon帐户以用作死信队列,然后从下拉列表中选择要使用的队列。

    • 选择在另一个 Amazon SQS 队列中选择 Amazon SQS 队列Amazon帐户作为死信队列,然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列,以授予 EventBridge 向其发送消息的权限。要了解更多信息,请参阅“授予死信队列的权限”。

  14. (可选)选择 Add target (添加目标) 以便为此规则添加另一个目标。

  15. (可选)为规则输入一个或多个标记。有关更多信息,请参阅Amazon EventBridge 标签

  16. 选择创建

第 2 步:确认成功

如果您在规则列表中看到规则,则表示您已成功完成本教程。

第 3 步:清除资源

现在,您可以删除为本教程创建的资源,除非您想要保留它们。通过删除Amazon您不再使用的资源,可防止您的Amazonaccount.

删除 EventBridge 梁规则

  1. 打开“规则” 页的 EventBridge 控制台。

  2. 选择您创建的规则。

  3. 选择 Delete

  4. 选择 Delete