

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

# 使用管理解析器 DNS 防火墙事件 Amazon EventBridge
<a name="dns-firewall-eventbridge-integration"></a>

Amazon EventBridge 是一项无服务器服务，它使用事件将应用程序组件连接在一起，使您可以更轻松地构建可扩展的事件驱动应用程序。事件驱动型架构是一种构建松耦合软件系统的风格，这些系统通过发出和响应事件 来协同工作。事件代表资源或环境中的变化。

与许多 AWS 服务一样，DNS Firewall 生成事件并将其发送到 EventBridge 默认事件总线。（默认事件总线会在每个 AWS 账户中自动预置。） 事件总线是接收事件并将其传送到零个或多个目的地或*目标*的路由器。为事件总线指定的规则会在事件到达时进行评估。每条规则都会检查事件是否与规则的*事件模式*相匹配。如果事件确实匹配，事件总线会将事件发送到指定的目标。

![\[AWS 服务将事件发送到 EventBridge 默认事件总线。如果事件与规则的事件模式匹配，则 EventBridge 将该事件发送到为该规则指定的目标。\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/eventbridge-integration-how-it-works.png)


**Topics**
+ [解析器 DNS 防火墙事件](#supported-events)
+ [使用 EventBridge 规则发送解析器 DNS 防火墙事件](#eventbridge-using-events-rules)
+ [Amazon EventBridge 权限](#eventbridge-permissions)
+ [其他 EventBridge 资源](#eventbridge-additonal-resources)
+ [解析器 DNS 防火墙事件详细信息参考](events-detail-reference.md)

## 解析器 DNS 防火墙事件
<a name="supported-events"></a>

VPC 解析器会自动将 DNS 防火墙事件发送到默认 EventBridge 事件总线。可以在事件总线上创建规则；每个规则都包括一个事件模式以及一个或多个目标。与规则的事件模式相匹配的事件会[尽力](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level)传送给指定的目标。事件可能不按顺序传送。

以下事件由 DNS Firewall 生成。有关更多信息，请参阅*《Amazon EventBridge 用户指南》*中的 [EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。


| 事件详细信息类型 | 说明 | 
| --- | --- | 
|  [DNS Firewall 阻止](events-detail-reference.md#dns-firewall-alert)  |  对域执行的任何阻止操作。 | 
|  [DNS Firewall 警报](events-detail-reference.md#dns-firewall-block)  |  对域执行的任何警报操作。 | 

## 使用 EventBridge 规则发送解析器 DNS 防火墙事件
<a name="eventbridge-using-events-rules"></a>

要让 EventBridge 默认事件总线向目标发送 DNS 防火墙事件，必须创建一个规则，其中包含与所需 DNS 防火墙事件中的数据匹配的事件模式。

创建规则包含以下一般步骤：

1. 为指定的规则创建事件模式：
   + VPC 解析器是规则评估的事件来源。
   + （可选）：要匹配的任何其他事件数据。

   有关更多信息，请参阅 [为解析器 DNS 防火墙事件创建事件模式](#eventbridge-using-events-rules-patterns)。

1. （可选）：创建*输入转换器*，在将信息 EventBridge 传递给规则目标之前，对事件中的数据进行自定义。

   有关更多信息，请参阅《EventBridge 用户指南》**中的[输入转换](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html)。

1. 指定要 EventBridge 向其发送与事件模式匹配的事件的目标。

   目标可以是其他 AWS 服务、 software-as-a-service (SaaS) 应用程序、API 目标或其他自定义终端节点。有关更多信息，请参阅 *EventBridge 用户指南*中的[目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

有关创建事件总线规则的全面说明，请参阅《EventBridge 用户指南》**中的[创建对事件作出反应的规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。

### 为解析器 DNS 防火墙事件创建事件模式
<a name="eventbridge-using-events-rules-patterns"></a>

当 DNS Firewall 将事件传送到默认事件总线时，会 EventBridge 使用为每条规则定义的事件模式来确定是否应将事件传送到规则的目标。事件模式与所需 DNS Firewall 事件中的数据相匹配。每个事件模式是一个 JSON 对象，其中包含：
+ 标识发送事件的服务的 `source` 属性。对于 DNS Firewall 事件，其源为 `aws.route53resolver`。
+ （可选）：包含要匹配的事件类型数组的 `detail-type` 属性。
+ （可选）：包含要匹配的其他事件数据的 `detail` 属性。

例如，以下事件模式与来自 DNS Firewall 的警报和阻止事件相匹配：

```
{
  "source": ["aws.route53resolver"],
  "detail-type": ["DNS Firewall Block", "DNS Firewall Alert"]
}
```

虽然以下事件模式与 BLOCK 操作相匹配：

```
{
  "source": ["aws.route53resolver"],
  "detail-type": ["DNS Firewall Block"]
}
```

DNS Firewall 在 6 小时内仅为同一个域发送一次相同的事件。例如：

1. 实例 i-123 在 T1 时间发送了 exampledomain.com 的 DNS 查询。DNS Firewall 在首次发生时发送了警报或阻止事件。

1. 实例 i-123 在 T1\$130 分钟内发送了一 DNSquery 个 exampledomain.com。DNS Firewall 未发送警报或阻止事件，因为这是在 6 小时内重复发生的。

1. 实例 i-123 在 T1\$17 小时的时间发送了 exampledomain.com 的 DNS 查询。DNS Firewall 发送了警报或阻止事件，因为这是在 6 小时之外发生的。

有关写入事件模式的更多信息，请参阅《EventBridge 用户指南》**中的[事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)。

### 正在测试 DNS 防火墙事件的事件模式 EventBridge
<a name="eventbridge-using-events-testing"></a>

您可以使用 EventBridge 沙盒快速定义和测试事件模式，而不必完成创建或编辑规则的更大过程。使用沙盒，您可以定义事件模式，并使用示例事件来确认该模式与所需事件相匹配。 EventBridge 您可以选择直接从沙箱中使用该事件模式创建新规则。

有关更多信息，请参阅《*EventBridge 用户指南*[》中的使用 EventBridge 沙盒测试事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-pattern-sandbox.html)。

### 为 DNS 防火墙创建 EventBridge 规则和目标
<a name="dns-firewall-rule-to-lambda-example"></a>

以下过程向您展示如何创建允许 EventBridge 为所有 DNS 防火墙警报和阻止操作发送事件的规则，以及如何添加 AWS Lambda 功能作为规则的目标。

1.  AWS CLI 用于创建 EventBridge 规则：

   ```
   aws events put-rule \
   --event-pattern "{\"source\":
   [\"aws.route53resolver\"],\"detail-type\":
   [\"DNS Firewall Block\", \"DNS Firewall Alert\"]}" \
   --name dns-firewall-rule
   ```

1. 附加 Lambda 函数作为规则的目标：

   `AWS events put-targets --rule dns-firewall-rule --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:<your_function>`

1. 要添加调用目标所需的权限，请运行以下 Lambda AWS CLI 命令：

   `AWS lambda add-permission --function-name <your_function> --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com`

## Amazon EventBridge 权限
<a name="eventbridge-permissions"></a>

DNS Firewall 不需要任何其他权限即可向 Amazon EventBridge传输事件。

您指定的目标可能需要特定的权限或配置。有关为目标使用特定服务的更多详细信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon EventBridge 目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

## 其他 EventBridge 资源
<a name="eventbridge-additonal-resources"></a>

有关如何使用 EventBridge 来处理和管理事件的更多信息，请参阅[https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)中的以下主题。
+ 有关事件总线工作原理的详细信息，请参阅 [Amazon EventBridge 事件总线](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)。
+ 有关事件结构的信息，请参阅[事件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。
+ 有关构造事件模式 EventBridge 以便在将事件与规则进行匹配时使用的信息，请参阅[事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)。
+ 有关创建规则以指定 EventBridge 所处理事件的信息，请参阅[规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)。
+ 有关指定向哪些服务或其他[目标 EventBridge 发送匹配事件的信息，请参阅 Targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。