本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EventBridge 是一種無伺服器服務,使用事件將應用程式元件連接在一起,讓您更輕鬆地建置可擴展的事件驅動型應用程式。事件驅動架構是一種建置鬆耦合軟體系統的方式,透過發出和回應事件來協作。事件代表資源或環境中的變更。
如同許多 AWS 服務,DNS防火牆會產生事件 EventBridge 並將其傳送至預設事件匯流排。(預設事件匯流排會自動在每個 AWS 帳戶中佈建。) 事件匯流排是接收事件,並將事件傳遞至零個或多個目的地或目標的路由器。您為事件匯流排指定的規則會在事件到達時評估事件。每個規則會檢查事件是否符合規則的事件模式。如果事件確實相符,事件匯流排會將事件傳送至指定的目標 (s)。
主題
Route 53 解析程式DNS防火牆事件
Route 53 Resolver 會自動將DNS防火牆事件傳送至預設 EventBridge 事件匯流排。您可以在事件匯流排上建立規則;每個規則都包含事件模式和一或多個目標。符合規則事件模式的事件會盡最大努力交付至指定的目標。事件可能未依順序交付。
DNS 防火牆會產生下列事件。如需詳細資訊,請參閱《 使用者指南EventBridge》中的 。 Amazon EventBridge
使用 EventBridge 規則傳送 Route 53 Resolver DNS Firewall 事件
若要讓 EventBridge 預設事件匯流排將DNS防火牆事件傳送到目標,您必須建立規則,其中包含符合所需DNS防火牆事件中資料的事件模式。
建立規則包含下列一般步驟:
為規則建立事件模式,指定:
Route 53 Resolver 是規則正在評估的事件來源。
(選用):要比對的任何其他事件資料。
如需詳細資訊,請參閱 建立 Route 53 Resolver DNS Firewall 事件的事件模式
(選用):建立輸入轉換器,在將資訊 EventBridge 傳遞至規則的目標之前,自訂事件中的資料。
如需詳細資訊,請參閱EventBridge 《 使用者指南》中的輸入轉換。
指定您要 EventBridge 交付符合事件模式之事件的目標 (多個)。
目標可以是 AWS 其他服務、 software-as-a-service (SaaS) 應用程式、API目的地或其他自訂端點。如需詳細資訊,請參閱《EventBridge 使用者指南》中的目標。
如需建立事件匯流排規則的完整說明,請參閱EventBridge 《 使用者指南》中的建立對事件做出反應的規則。
建立 Route 53 Resolver DNS Firewall 事件的事件模式
當 DNS Firewall 將事件交付至預設事件匯流排時, EventBridge 會使用為每個規則定義的事件模式 (以確定事件是否應交付至規則的目標)。事件模式符合所需DNS防火牆事件中的資料。每個事件模式都是一個JSON物件,其中包含:
-
識別傳送事件之服務的
source
屬性。對於DNS防火牆事件,來源為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 防火牆只會在 6 小時的時段內為相同的網域傳送相同的事件一次。例如:
執行個體 i-123 在 T1 時傳送DNS查詢 exampledomain.com。 DNS防火牆會傳送提醒或封鎖事件,因為這是第一次發生。
執行個體 i-123 在 T1+30 分鐘時傳送 DNSquery exampledomain.com。 DNS防火牆不會傳送提醒或封鎖事件,因為這是在 6 小時時段內重複發生的事件。
執行個體 i-123 在 T1+7 小時傳送DNS查詢 exampledomain.com。 DNS防火牆會傳送警示或封鎖事件,因為此事件發生在 6 小時時段之外。
如需撰寫事件模式的詳細資訊,請參閱 EventBridge 使用者指南中的事件模式。
在 中測試DNS防火牆事件的事件模式 EventBridge
您可以使用 EventBridge 沙盒快速定義和測試事件模式,而不必完成建立或編輯規則的較大程序。使用沙盒,您可以定義事件模式,並使用範例事件來確認模式符合所需的事件。 EventBridge 可讓您選擇直接從沙盒建立使用該事件模式的新規則。
如需詳細資訊,請參閱EventBridge 《 使用者指南》中的使用 EventBridge 沙盒測試事件模式。
建立DNS防火牆的 EventBridge 規則和目標
下列程序說明如何建立規則, EventBridge 讓 為所有DNS防火牆警示和封鎖動作傳送事件,並將 AWS Lambda 函數新增為規則的目標。
使用 AWS CLI 建立 EventBridge 規則:
aws events put-rule \ --event-pattern "{\"source\": [\"aws.route53resolver\"],\"detail-type\": [\"DNS Firewall Block\", \"DNS Firewall Alert\"]}" \ --name
dns-firewall-rule
連接 Lambda 函數做為規則的目標:
AWS events put-targets --rule
dns-firewall-rule
--targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:<your_function>
若要新增叫用目標所需的許可,請執行下列 Lambda AWS CLI 命令:
AWS lambda add-permission --function-name
<your_function>
--statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com
Amazon EventBridge 許可
DNS 防火牆不需要任何額外的許可,即可將事件交付至 Amazon EventBridge。
您指定的目標可能需要特定許可或組態。如需針對目標使用特定服務的詳細資訊,請參閱Amazon EventBridge 《 使用者指南》中的Amazon EventBridge 目標。
其他 EventBridge 資源
如需如何使用 EventBridge 處理和管理事件的詳細資訊,請參閱 Amazon EventBridge 使用者指南中的下列主題。
-
如需事件匯流排運作方式的詳細資訊,請參閱Amazon EventBridge 事件匯流排。
-
如需事件結構的資訊,請參閱事件。
-
如需建構事件模式 EventBridge 以用於比對事件與規則的資訊,請參閱事件模式。
-
如需建立規則以指定哪些事件 EventBridge 程序的詳細資訊,請參閱規則。
-
如需指定哪些服務或其他目的地 EventBridge 將相符事件傳送至其中的資訊,請參閱目標。