

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 管理解析程式 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_tw/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 Resolver 會自動將 DNS 防火牆事件傳送至預設 EventBridge 事件匯流排。您可以在事件匯流排上建立規則；每個規則都包含事件模式和一或多個目標。符合規則事件模式的事件會[盡力](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-delivery-level)交付至指定的目標。事件可能無法按順序交付。

下列事件是由 DNS 防火牆產生。如需詳細資訊，請參閱《 使用者指南[EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)》中的 。 *Amazon EventBridge *


| 事件詳細資訊類型 | Description | 
| --- | --- | 
|  [DNS 防火牆區塊](events-detail-reference.md#dns-firewall-alert)  |  在網域上執行的任何區塊動作。 | 
|  [DNS 防火牆提醒](events-detail-reference.md#dns-firewall-block)  |  在網域上執行的任何提醒動作。 | 

## 使用 EventBridge 規則傳送解析程式 DNS 防火牆事件
<a name="eventbridge-using-events-rules"></a>

若要讓 EventBridge 預設事件匯流排將 DNS 防火牆事件傳送至目標，您必須建立規則，其中包含符合所需 DNS 防火牆事件中資料的事件模式。

建立規則包含下列一般步驟：

1. 為規則建立事件模式，指定：
   + VPC Resolver 是規則正在評估的事件來源。
   + （選用）：要比對的任何其他事件資料。

   如需詳細資訊，請參閱[建立解析程式 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 防火牆將事件交付至預設事件匯流排時， EventBridge 會使用為每個規則定義的事件模式來判斷事件是否應交付至規則的目標 (s)。事件模式符合所需 DNS 防火牆事件中的資料。每個事件模式都是 JSON 物件，它包含：
+ 識別傳送事件之服務的 `source` 屬性。對於 DNS 防火牆事件，來源為 `aws.route53resolver`。
+ (選擇性)：包含要比對之事件類型陣列的 `detail-type` 屬性。
+ (選擇性)：包含要比對的任何其他事件資料的 `detail` 屬性。

例如，下列事件模式與來自 DNS 防火牆的提醒和封鎖事件相符：

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

雖然下列事件模式與 BLOCK 動作相符：

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

DNS 防火牆只會在 6 小時的時段內傳送相同網域的相同事件一次。例如：

1. 執行個體 i-123 在 T1 時傳送 DNS 查詢 exampledomain.com。DNS 防火牆會傳送提醒或封鎖事件，因為這是第一次發生。

1. 執行個體 i-123 在 T1\$130 分鐘時傳送 DNSquery exampledomain.com。DNS 防火牆不會傳送提醒或封鎖事件，因為這會在 6 小時內重複發生。

1. 執行個體 i-123 在 T1\$17 小時傳送 DNS 查詢 exampledomain.com。DNS 防火牆會傳送提醒或封鎖事件，因為這發生在 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 防火牆不需要任何額外的許可，即可將事件交付至其中 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 傳送相符事件的資訊，請參閱[目標](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。