使用 AWS CloudTrail 创建对 AWS API 调用触发的 EventBridge 规则 - Amazon EventBridge
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CloudTrail 创建对 AWS API 调用触发的 EventBridge 规则

要创建对由不发出事件的 AWS 服务所进行的操作触发的规则,您可使此规则基于该服务进行的 API 调用。AWS CloudTrail 会记录这些 API 调用。有关可用作规则触发器的 API 调用的更多信息,请参阅 CloudTrail 事件历史记录所支持的服务

EventBridge 中的规则仅适用于创建它们的区域。如果您在多个区域中配置 CloudTrail 跟踪 API 调用,并且希望基于 CloudTrail 的规则在每个区域中触发,则必须在您想跟踪的每个区域中创建单独的规则。

通过 CloudTrail 传递的所有事件都具有 AWS API Call via CloudTrail 作为 detail-type 的值。

注意

您可能会不小心创建导致无限循环的规则,即反复触发一个规则。例如,某规则可能检测到 S3 存储桶上的 ACL 已更改,然后触发软件以将 ACL 更改为所需状态。如果您在编写规则时不小心,则 ACL 的后续更改将再次触发该规则,从而产生无限循环。

为防止出现这种情况,请在编写规则时使触发的操作不会重复激发同一规则。例如,您的规则可能仅在发现 ACL 处于错误状态时而不是在进行任何更改之后激发。

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

通过 CloudTrail 创建对 API 调用触发的规则

  1. 通过以下网址打开 Amazon EventBridge 控制台:https://console.amazonaws.cn/events/

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

  3. 选择 Create rule

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

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

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

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

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

  8. 对于 Service name (服务名称),选择发出事件的服务的名称。

  9. 对于 Event type (事件类型),选择 AWS API Call via CloudTrail (通过 CloudTrail 进行的 AWS API 调用)

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

  10. 对于 Select event bus (选择事件总线),请选择要与此规则关联的事件总线。

  11. 对于 Select event bus (选择事件总线),请选择要与此规则关联的事件总线。如果您希望此规则对来自您自己的 AWS 账户的匹配事件触发,请选择 AWS default event bus (AWS 默认事件总线)。当您账户中的某个 AWS 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  12. 在此部分的其他字段中,根据需要输入此目标类型的特定信息。

  13. 对于许多目标类型,EventBridge 需要权限以便将事件发送到目标。在这些情况下,EventBridge 可以创建运行规则所需的 IAM 角色:

    • 要自动创建 IAM 角色,请选择 Create a new role for this specific resource (为此特定资源创建新角色)

    • 要使用您之前创建的 IAM 角色,请选择 Use existing role (使用现有角色)

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

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

  16. 选择 Create