DNS 名稱解析

本文件適用於搭配 Envoy 和舊版負載平衡 API 的 Cloud Service Mesh,其中包含轉送規則。

本文說明轉送規則的虛擬 IP 位址之間的關係,以及轉送規則如何與服務建立關聯。這份文件也概略說明如何規劃及設定 DNS,以便在 Cloud Service Mesh 服務網格中進行服務對服務通訊。

請參考以下範例,其中有三項服務 (service-aservice-bservice-c) 會彼此通訊。開發人員通常會在程式碼中使用完整網域名稱,以便服務與服務之間進行通訊。如果您的網域名稱是 example.com,這三項服務可能會以以下方式表示:

  • service-a.example.com
  • service-b.example.com
  • service-c.example.com

設定 Cloud Service Mesh 資源來建立服務網格時,您會為每項服務設定轉送規則。轉送規則代表目的地服務的 IP:Port 組合。如要讓 Envoy 補充 Proxy 攔截輸出流量,目的地 IP 位址必須與轉送規則相關聯的 IP 位址相符。因此,您需要為每項服務佈建 IP 位址。例如:

  • service-a.example.com 有 IP 位址 10.0.0.100
  • service-b.example.com 有 IP 位址 10.0.0.101
  • service-c.example.com 有 IP 位址 10.0.0.102

對應的 Cloud Service Mesh 設定包含三個轉送規則:FR1、FR2 和 FR3,每個規則都使用 80 通訊埠:

  • FR1 具有 IP 位址 10.0.0.100:80,與 service-a.example.com 相關聯。
  • FR2 具有 IP 位址 10.0.0.101:80,與 service-b.example.com 相關聯。
  • FR3 具有 IP 位址 10.0.0.102:80,與 service-c.example.com 相關聯。

service-a 使用完整網域名稱 (FQDN) service-b.example.com 叫用 service-b 時,會發生三件事:

  1. service-a 會先針對 service-b.example.com 執行 DNS 查詢,解析 service-b 的 IP 位址。
  2. 系統會將網域解析為 10.0.0.101,以便與 service-b 轉送規則的設定 IP 位址相符。
  3. Envoy Proxy 現在可以攔截流量,並將流量轉送至具有 service-b 後端的後端服務,無論是 NEG 還是 MIG 皆可。

您可以設定 Cloud DNS 代管私人區域,以便代管服務的資源記錄。