檢視公有託管區域的 DNS 查詢指標 - Amazon Route 53

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

檢視公有託管區域的 DNS 查詢指標

您可以針對 Route 53 回應指定的公有託管區域或公有託管區域組合來檢視 DNS 查詢總數。指標會出現在 CloudWatch 中,可讓您檢視圖形、選擇您要檢視的時段,以及以各種其他方式自訂指標。您也可以建立警示和設定通知,以便在指定期間內 DNS 查詢數量超過或低於指定層級時收到通知。

注意

Route 53 會自動針對所有公有託管區域,將 DNS 查詢數量傳送至 CloudWatch,因此您不需要設定任何項目,即可檢視查詢指標。DNS 查詢指標無須付費。

會將哪些 DNS 查詢列入計算?

指標只包含 DNS 解析程式轉送至 Route 53 的查詢。如果 DNS 解析程式已快取對查詢的回應 (如 example.com 的負載平衡器的 IP 地址),解析程式會繼續傳回快取的回應而不將查詢轉送到 Route 53,直到對應記錄的 TTL 到期為止。

根據為網域名稱 (example.com) 或子網域名稱 (www.example.com) 提交的 DNS 查詢數量、使用者正在使用的解析程式,以及記錄的 TTL,DNS 查詢指標可能只包含提交到 DNS 解析程式的數千個查詢中的一個查詢的資訊。如需 DNS 運作方式的詳細資訊,請參閱 Amazon Route 53 如何為您的網域路由流量

託管區域的查詢指標何時開始出現在 CloudWatch 中?

建立託管區域之後,會延遲幾個小時,之後託管區域才會出現在 CloudWatch 中。此外,您必須提交託管區域中記錄的 DNS 查詢,才能顯示資料。

指標僅在美國東部 (維吉尼亞北部) 區域提供。

若要在控制台上取得該指標,您必須選擇美國東部 (維吉尼亞北部) 區域。若要使用 AWS CLI 取得指標,您必須未指定 AWS 區域,或者指定 us-east-1 作為區域。如果您選擇任何其他區域,Route 53 指標將無法使用。

DNS 查詢的 CloudWatch 指標和維度

如需 DNS 查詢的 CloudWatch 指標和維度的詳細資訊,請參閱 使用 Amazon 監控託管區域 CloudWatch。如需 CloudWatch 指標的資訊,請參閱 Amazon CloudWatch 使用者指南中的使用 Amazon CloudWatch 指標

取得關於 DNS 查詢的詳細資訊

若要取得 Route 53 回應之每個 DNS 查詢的詳細資訊 (包括下列值),您可以設定查詢記錄:

  • 請求的網域或子網域

  • 請求的日期和時間

  • DNS 記錄類型 (例如 A 或 AAAA)

  • 回應 DNS 查詢的 Route 53 節點。

  • DNS 回答代碼,例如 NoErrorServFail

如需更多詳細資訊,請參閱 公有 DNS 查詢日誌記錄

如何取得 DNS 查詢指標

在您建立託管區域之後不久,Amazon Route 53 會每分鐘將指標和維度傳送到 CloudWatch 一次。您可以使用以下程序,在 CloudWatch 主控台中檢視指標,或透過使用 AWS Command Line Interface (AWS CLI) 檢視指標。

在 CloudWatch 主控台中檢視公有託管區域的 DNS 查詢指標

若要在 CloudWatch 主控台中檢視公有託管區域的 DNS 查詢指標,請執行下列程序。

在 CloudWatch 主控台上檢視公有託管區域的 DNS 查詢指標
  1. 登入 AWS Management Console 並開啟位於 https://console.aws.amazon.com/cloudwatch/ 的 CloudWatch 主控台。

  2. 在導覽窗格中,選擇 Metrics (指標)。

  3. 在主控台視窗右上角的 AWS 區域清單中,選擇美國東部 (維吉尼亞北部)。如果您選擇任何其他 AWS 區域,Route 53 指標將無法使用。

  4. All metrics (所有指標) 標籤上,選擇 Route 53

  5. 選擇 Hosted Zone Metrics (託管區域指標)

  6. 選取一或多個具有指標名稱 DNSQueries 之託管區域的核取方塊。

  7. Graphed metrics (圖表化指標) 索引標籤上,變更適用的值,以您想要的格式檢視指標。

    對於 Statistic (統計資料),選擇 Sum (總和)SampleCount;這些統計資料都會顯示相同的值。

使用 AWS CLI 取得 DNS 查詢指標

若要使用 AWS CLI 取得 DNS 查詢指標,您可以使用 get-metric-data 命令。注意下列事項:

  • 您可以在個別的 JSON 檔案中,為命令指定大多數值。如需詳細資訊,請參閱 get-metric-data

  • 命令會為您 Period 在 JSON 檔案中,為指定的每個間隔傳回一個值。Period 是以秒為單位,因此如果您指定 5 分鐘的時段並為 Period 指定 60,您會得到五個值。如果您指定 5 分鐘的時段,並為 Period 指定 300,您會得到一個值。

  • 在 JSON 檔案中,您可以為 Id 指定任何值。

  • 要么保持未指定 AWS 區域,要麼指定 us-east-1 作為區域。如果您選擇任何其他區域,Route 53 指標將無法使用。如需詳細資訊,請參閱 AWS Command Line Interface 使用者指南中的設定 AWS CLI

以下 AWS CLI 命令可用於取得 2019 年 5 月 1 日 4:01 到 4:07 之間五分鐘期間的 DNS 查詢指標。metric-data-queries 參數會參考遵循命令的範例 JSON 檔案。

aws cloudwatch get-metric-data --metric-data-queries file://./metric.json --start-time 2019-05-01T04:01:00Z --end-time 2019-05-01T04:07:00Z

以下是範例 JSON 檔案:

[ { "Id": "my_dns_queries_id", "MetricStat": { "Metric": { "Namespace": "AWS/Route53", "MetricName": "DNSQueries", "Dimensions": [ { "Name": "HostedZoneId", "Value": "Z1D633PJN98FT9" } ] }, "Period": 60, "Stat": "Sum" }, "ReturnData": true } ]

以下是此命令的輸出。注意下列事項:

  • 命令中的開始時間和結束時間涵蓋 7 分鐘的時段:2019-05-01T04:01:00Z2019-05-01T04:07:00Z

  • 只有六個傳回值。因為在這一分鐘內沒有 DNS 查詢,所以 2019-05-01T04:05:00Z 沒有值。

  • JSON 檔案中指定 Period 的值是 60 (秒),因此會以一分鐘為間隔回報值。

{ "MetricDataResults": [ { "Id": "my_dns_queries_id", "StatusCode": "Complete", "Label": "DNSQueries", "Values": [ 101.0, 115.0, 103.0, 127.0, 111.0, 120.0 ], "Timestamps": [ "2019-05-01T04:07:00Z", "2019-05-01T04:06:00Z", "2019-05-01T04:04:00Z", "2019-05-01T04:03:00Z", "2019-05-01T04:02:00Z", "2019-05-01T04:01:00Z" ] } ] }