DNS 轉送政策和健康狀態檢查

您可以在私人區域中,為資源記錄集設定 DNS 轉送政策,以便根據特定條件引導流量。請使用特定轉送政策值建立資源記錄集,以設定這些政策。這些值會決定 Cloud DNS 如何將查詢流量轉送至目的地。

Cloud DNS 支援下列轉送政策:

  • 加權輪流 (WRR) 轉送政策:使用 WRR 轉送政策,為 DNS 名稱的每個資源記錄組指定不同的權重。WRR 轉送政策有助於確保流量會依據設定的權重分配。

無法為下列私人區域設定 DNS 轉送政策:

  • 轉送區域
  • DNS 對等互連區域
  • 代管反向查詢區
  • Service Directory 區域

WRR 路由政策

您可以使用 WRR 轉送政策為每個 DNS 目標指定不同的權重,Cloud DNS 會確保流量依權重分配。您可以使用這項政策支援手動 active-activeactive-passive 設定。您也可以將流量拆分給服務的正式版和實驗版。

Cloud DNS 支援內部負載平衡器和外部端點的轉送政策內的健康狀態檢查和故障移轉功能。當 Endpoints 未通過健康狀態檢查時,Cloud DNS 會啟用自動容錯功能。在容錯期間,Cloud DNS 會自動調整剩餘健康端點之間的流量分配。詳情請參閱「健康狀態檢查」。

容錯轉送政策

容錯轉移路由政策可讓您設定有效的備份設定,為虛擬私有雲網路中的內部資源提供高可用性。

在正常運作情況下,Cloud DNS 一律會從 active 集合中傳回 IP 位址。如果 active 組合中的所有 IP 位址都處於不良狀態,Cloud DNS 就會提供 backup 組合中的 IP 位址。

您可以使用 Cloud DNS 將流量逐步逐漸轉送至備用 VIP 位址,以便驗證備用 VIP 位址是否正常運作。您可以將傳送至備份的流量百分比設為介於 0 到 1 之間的小數。您可以將 100% 的流量傳送至備用 VIP 位址,手動觸發容錯移轉。一般值為 0.1。健康狀態檢查只能套用至內部負載平衡器和外部端點。

健康狀態檢查

Cloud DNS 支援下列內部負載平衡器和外部端點的轉送政策內的健康狀態檢查和故障移轉:

如果您想使用代管區域的健康檢查功能,且已啟用 DNS 安全性擴充功能 (DNSSEC),則每個政策項目(只能使用單一 IP 位址。您無法在特定政策中混合使用經過健康狀態檢查的 IP 位址和未經健康狀態檢查的 IP 位址。

如要瞭解設定 Cloud DNS 記錄和健康狀態檢查時應留意的最佳做法,請參閱「最佳做法」。

內部負載平衡器的健康狀態檢查

內部負載平衡器的健康狀態檢查功能僅適用於私人區域。

對於內部應用程式負載平衡器和內部 Proxy 網路負載平衡器,Cloud DNS 會在路由決策期間考量負載平衡器本身的健康狀態。負載平衡器收到查詢時,只會將流量分散到健康的後端服務。為確保後端運作正常,您可以使用代管執行個體群組 (MIG) 等服務來管理後端的生命週期。Cloud DNS 不需要瞭解個別後端的健康狀態,負載平衡器會處理這項工作。

對於內部直通式網路負載平衡器,Cloud DNS 會檢查負載平衡器個別後端執行個體的健康狀態資訊。Cloud DNS 會套用預設的 20% 門檻,如果至少有 20% 的後端執行個體處於健康狀態,系統就會將負載平衡器端點視為健康。DNS 轉送政策會根據這個門檻將端點標示為健康或不健康,並據此轉送流量。

單一內部直通式網路負載平衡器虛擬 IP 位址 (VIP) 可有多個後端執行個體。如果內部直通式網路負載平衡器沒有任何後端執行個體,Cloud DNS 仍會認為它是健康的。如要讓健康狀態檢查正常運作,請在負載平衡器設定中指定至少一個後端執行個體。

當端點標示為不健康時,可能會發生下列情況:

  • 如果政策設定了多個 VIP 位址,系統只會傳回健康的 VIP 位址。
  • 如果針對政策值區設定的所有 VIP 位址都處於不健康狀態,則該政策行就會失敗。適用的行為如下:

    • 針對 WRR 政策,Cloud DNS 會將流量按比例分配至政策中定義的其他健康端點。
    • 對於容錯移轉政策,Cloud DNS 會將流量切換至政策中定義的備用端點。
    • 如果所有政策區塊都處於不健康狀態,Cloud DNS 的運作方式會視為所有端點都處於健康狀態。這種情況可能會導致流量分發至無回應的端點。

如要進一步瞭解內部負載平衡器的健康狀態檢查,請參閱「健康狀態檢查總覽」。

健康狀態檢查時間間隔

Cloud DNS 會根據健康狀態檢查間隔,定期傳送健康狀態檢查探測要求。舉例來說,如果健康狀態檢查間隔為 30 秒,Cloud DNS 就會每 30 秒傳送一次健康狀態檢查探針。

針對 Cloud DNS 外部端點健康狀態檢查,健康狀態檢查間隔必須介於 30 到 300 秒之間。

加權循環制轉送政策和健康狀態檢查

Cloud DNS 支援 0 到 1000 的權重 (含兩者)。加入健康檢查後,系統會執行下列操作:

  • 如果您設定多個目標,且所有目標的重量都為 0,流量會平均分配給各個目標。
  • 如果您設定新的非零權重目標,該目標就會成為主要目標,所有流量都會轉移至該目標。
  • 隨著您新增更多具有非零權重的目標,Cloud DNS 會動態計算目標 (與每個要求) 之間的流量分配,並適當分配流量。舉例來說,如果您設定了三個權重分別為 0、25 和 75 的目標,權重為 0 的目標不會獲得任何流量,權重為 25 的目標會獲得四分之一的流量,而剩下的目標會獲得四分之三的流量。
  • 如果健康狀態檢查與非零權重目標相關聯,但與零權重目標無關,則系統一律會將零權重目標視為健康。如果所有非零值記錄都處於不健康狀態,Cloud DNS 會傳回零權重記錄。
  • 如果健康狀態檢查與非零和零權重記錄皆相關聯,且所有記錄都未通過健康狀態檢查,Cloud DNS 會傳回任何非零權重目標,並忽略零權重目標。
  • 當 Cloud DNS 選擇要傳回給要求者的權重值區塊 (單一政策項目) 時,只會傳回該權重值區塊中的 IP 位址。如果您在權重值區塊中只指定一個 IP 位址,回應中就只會顯示該 IP 位址。如果權重值區塊中有多個 IP 位址,Cloud DNS 會以隨機順序傳回所有 IP 位址。

健康狀態檢查記錄

Cloud DNS 支援健康狀態檢查記錄功能,當您查詢參照這些 IP 位址的 DNS 名稱時,系統會記錄啟用健康狀態檢查的 IP 位址健康狀態。

健康狀態檢查記錄可讓您執行下列操作:

  • 驗證轉送政策是否如預期運作。例如:
  • 針對 WRR 政策,您可以驗證政策是否以正確的權重傳回 IP 位址。
  • 找出特定後端和 IP 位址的基礎架構問題,並解決這些問題。
  • 排解為何系統從未納入特定後端,或為唯一傳回的後端。
  • 詳情請參閱健康狀態檢查記錄資訊

    DNS 轉送政策支援的記錄類型

    DNS 轉送政策不支援 Cloud DNS 支援的所有記錄類型

    支援的記錄類型如下:

    記錄類型 說明
    A 內部 (私人區) 健康檢查的 IPv4 位址。
    CNAME 正規名稱。不支援健康狀態檢查。
    MX 郵件交換記錄。不支援健康狀態檢查。
    SRV 主機/連接埠 (RFC 2782)。不支援健康狀態檢查。
    TXT 文字資料。不支援健康狀態檢查。

    後續步驟