本文概略介紹 Cloud DNS 傳出端點。傳出端點可附加至轉送區域或伺服器政策,以便使用私人 IP 位址,直接將 DNS 查詢從虛擬私有雲網路轉送至外部和地端部署 DNS 解析器。使用傳出端點,即可精細控管傳出 DNS 流量,並進一步解除混合雲和多雲端 DNS 解析用途的封鎖。
如要瞭解如何建立、更新傳出端點,以及將傳出端點與轉送區域或伺服器政策建立關聯,請參閱「建立及更新傳出端點」。
傳出端點功能
傳出端點可讓您控管傳出 DNS 流量的來源 IP 位址,為每個網路指派專屬的輸出範圍,啟用虛擬私有雲網路特定行為。不重複輸出範圍可克服現有固定轉送 Proxy 範圍的路由限制。
使用主機 VPC 網路查詢外部目的地時,GKE 叢集會自動繼承傳出端點。如果主機 VPC 網路已獲授權使用標準全域 Cloud DNS 轉送區域,或已設定傳出端點的伺服器政策,則使用 VPC DNS 解析的 Pod 會自動透過區域傳出端點轉送傳出查詢,不需要進行叢集層級的修改或區域轉送區域。
如要進一步瞭解如何將現有 DNS 轉送設定遷移至傳出端點,請參閱「將現有 Cloud DNS 轉送設定遷移至傳出端點」。
傳出端點架構和查詢轉送
傳出端點是在特定 VPC 網路中建立,並使用該網路的僅限 Proxy 子網路做為來源 IP 位址。
將傳出端點附加至轉送區域或伺服器政策時,Cloud DNS 會先使用現有的目標排序演算法,嘗試透過排名最高的傳出端點路由傳送 DNS 查詢。如果該端點健康狀態不佳,Cloud DNS 會嘗試下一個排名最高的端點。系統會盡量選擇地理位置最接近的傳出端點,但無法保證。
系統會根據現有的轉送區域容錯移轉模式 (延遲時間和錯誤率最低的 IP 選取),自動執行目的地伺服器的排名演算法。下列因素可提高轉送目標的排名:
- 轉送目標處理的成功 DNS 回應數量,數量越多排名越高。成功的 DNS 回應也包括
NXDOMAIN回應。 - 與轉送目標通訊的延遲時間,時間越短排名越好。
- 與傳出端點的地理距離較短。如果無法取得成功率和延遲時間資料,建議選擇最接近的目標。
為防範區域性服務中斷,您可以在至少兩個執行運算工作負載的區域中,設定傳出端點。這種做法可為 Cloud DNS 提供區域容錯移轉目標,並將查詢延遲時間降到最低。如果混合式連線只在特定區域佈建,其他運算區域中的端點仍可透過這些連線,連至您的內部部署解析程式。
即使排名最高的端點位於不同區域,Cloud DNS 仍會繼續將查詢轉送至該端點。舉例來說,如果區域 A 中的端點無法使用,系統會自動將流量導向區域 B 中運作正常的端點。當區域 A 的端點恢復正常運作時,排名演算法會偵測到效能提升,並再次優先將後續查詢導向該端點。
每項專案在每個區域最多可有 10 個傳出端點,但如有需要,您可以在 Google Cloud 控制台申請提高配額。每個轉送區域或伺服器政策最多可附加 100 個傳出端點。
將查詢轉送至區域地端部署解析器
Cloud DNS 無法保證流量會傳送至與來源 VM 位於相同區域的端點,但您可以使用地理位置路由政策,將流量轉送至最近的目標名稱伺服器。雖然 Cloud DNS 會優先將流量轉送至最靠近原始查詢和目標名稱伺服器的傳出端點,但目標名稱伺服器的區域和傳出端點區域並非緊密耦合。無論位置為何,Cloud DNS 都會選擇歷來延遲時間最短的端點。
以下概略說明將查詢路由至區域地端部署解析器時,您需要執行的操作:
- 建立具有地理位置政策的區域:為您控制的 FQDN (例如
onprem-resolvers.example.com) 建立新的 Cloud DNS 私人區域,並授權給虛擬私有雲網路。在這個區域中,為地端部署 DNS 伺服器 IP 建立A記錄,並套用地理位置路由政策。設定政策,針對來自特定區域的查詢傳回解析器 IP。舉例來說,針對來自歐洲 Google Cloud 區域的查詢,傳回歐洲解析器 IP。 - 使用 FQDN 做為轉送目標:在轉送區域中,使用您剛建立的 FQDN (
onprem-resolvers.example.com) 做為目的地 DNS 伺服器。 - 設定傳出端點:將區域傳出端點 (例如美國區域和歐洲區域各一個) 與這個轉送區建立關聯。
當某個區域的 VM 提出查詢時,系統會執行兩步驟的轉送程序:
- 端點選取:Cloud DNS 會評估與轉送區域相關聯的傳出端點清單,並選取最佳端點 (例如,歐洲 VM 的查詢可能會選擇歐洲端點)。
- 目的地解析:所選的出站端點會解析目的地 FQDN (
onprem-resolvers.example.com)。由於出站端點是位於指定區域的區域資源,地理位置政策會將查詢來源識別為該區域,並傳回您為該區域設定的特定 IP 位址。傳出端點接著會將原始查詢轉送至目標 DNS 伺服器 IP。
詳情請參閱「Cloud DNS FQDN 傳出 DNS 轉送教學課程」。
在單一虛擬私有雲網路中,從沒有本機端點的區域轉送
Google Cloud 虛擬私有雲網路是全域性資源,可包含多個區域的子網路。如果 VM 從您未設定傳出端點的區域發出查詢,轉送作業仍會成功。查詢會跨區域路由至最高排名的可用傳出端點,該端點位於相同 VPC 網路中,且已在轉送區域或伺服器政策中設定。
從相同區域的多個虛擬私有雲網路轉送,並隔離來源 IP
如要轉送來自同一區域中多個虛擬私有雲網路的查詢,並要求地端部署解析器為每個虛擬私有雲網路顯示不同的來源 IP 位址,請按照下列步驟操作:
- 在每個虛擬私有雲網路中建立傳出端點:詳情請參閱「建立傳出端點」。
- 在每個虛擬私有雲網路中建立轉送區域或伺服器政策:僅為該虛擬私有雲網路授權轉送區域或伺服器政策,且僅使用該虛擬私有雲網路的傳出端點。
這項操作會導致各虛擬私有雲網路中的 VM 透過其虛擬私有雲網路中的傳出端點傳送查詢。每個端點都會將查詢轉送至地端部署解析器。地端部署網路會看到每個虛擬私有雲網路的僅限 Proxy 子網路的來源 IP 位址,因此可以為每個網路的流量套用不同的設定。
跨不同虛擬私有雲網路的統一轉送 (中樞和輪輻)
您可以設定轉送區域或伺服器政策,使用不同集中式虛擬私有雲網路 (中樞) 中的傳出端點。中樞網路和查詢來源 VPC 網路 (輪輻) 之間不需要網路連線,因為 Cloud DNS 會在內部處理查詢轉送。
您必須設定傳出端點與轉送區域或伺服器政策中轉送目標之間的網路連線。您可以使用 Cloud Interconnect 或 Cloud VPN 建立連線,連至地端部署解析器。虛擬私有雲網路對接可用於連線至其他虛擬私有雲網路中的轉送目標。
- 在中樞虛擬私有雲網路中建立傳出端點。
- 在輪輻 VPC 網路中建立轉送區域或伺服器政策,並設定使用中樞網路的傳出端點。
輪輻虛擬私有雲網路中的 VM 會透過中樞虛擬私有雲網路中的傳出端點傳送查詢。端點會將查詢轉送至地端部署解析程式。
Shared VPC 支援
傳出端點支援 Shared VPC 部署作業。端點和相關聯的僅限 Proxy 子網路,會在主專案中集中建立。接著,服務專案可以建立私人轉送區域或伺服器政策,並跨專案繫結至主專案中的集中式傳出端點 (需要主專案的 dns.outboundEndpoints.bindPrivateDNSZone 或 dns.outboundEndpoints.bindPrivateDNSPolicy)。
管理與傳出端點相關聯的網路資源
Cloud DNS 傳出端點會強制執行與基礎 VPC 網路和子網路的嚴格生命週期依附元件,協助保護正式環境 DNS 流量,避免因刪除或修改等基礎架構變更而受到影響。
如果傳出端點正在使用 Proxy 專用子網路或虛擬私有雲網路,請勿刪除
傳出端點正在使用的僅限 Proxy 子網路或虛擬私有雲網路會受到保護,無法刪除,以免發生服務中斷。如果嘗試刪除這些資源,會發生錯誤。如要刪除這些資源,請務必依序執行下列步驟:
- 更新 Cloud DNS 設定:編輯使用傳出端點的任何轉送區域或伺服器政策,並從設定中移除該端點,使其不再使用。
- 刪除傳出端點:不再使用端點後,即可刪除。這項操作會解除對僅限 Proxy 子網路的依附關係。
- 刪除僅限 Proxy 的子網路:確認沒有其他資源使用該子網路後,即可刪除。
- 刪除虛擬私有雲網路:移除所有其他虛擬私有雲相依性後,即可刪除虛擬私有雲網路。
修改子網路
如果傳出端點正在使用僅限 Proxy 子網路,您就無法直接修改該子網路。這項限制可防止您編輯 IP 位址範圍等重要屬性,避免服務中斷。如要修改子網路,請按照現有指南操作,先遷移至新的子網路。
如要修改傳出端點使用的子網路,請按照下列步驟操作:
- 建立備份子網路:在相同的虛擬私有雲網路和區域中,建立新的僅限 Proxy 的子網路。建立時,您必須將這個子網路的角色設為
BACKUP。 - 啟用新子網路:將新子網路的角色更新為
ACTIVE。這樣做會自動將原始子網路設為BACKUP角色,並開始從中排除有效連線。 - 等待排除:等待連線排除程序完成。
- 刪除舊子網路:原始子網路處於
BACKUP角色且沒有有效連線後,即可刪除。
地端部署防火牆的專屬來源 IP 可預測性
如果地端部署 DNS 防火牆需要專用且可預測的來源 IP 位址範圍,並與 DNS 流量隔離,建議您採用下列架構:
- 在專屬輸出虛擬私有雲網路中部署:建立專屬虛擬私有雲網路,其中包含一般子網路 (用於傳出端點 IP 位址),以及專為 Cloud DNS 保留的區域 Proxy 專用子網路 (
--purpose=REGIONAL_MANAGED_PROXY和--role=ACTIVE)。 - 隔離應用程式虛擬私有雲網路:請勿將應用程式虛擬私有雲網路對接或路由至這個專屬輸出網路。Cloud DNS 會在 Google Cloud基礎架構內部轉送查詢,因此這些虛擬私有雲網路之間不需要直接網路連線。
- 將專用輸出虛擬私有雲網路連線至外部轉送目標:僅設定專用輸出虛擬私有雲網路與外部或地端部署目標名稱伺服器之間的連線能力。請使用下列項目建立這條路徑:
- 虛擬私有雲網路與現有 Transit 虛擬私有雲對等互連: 這是最符合成本效益的建議做法。如果貴組織已有中央傳輸虛擬私有雲網路,且透過 Cloud Interconnect 或 Cloud VPN 連線至地端部署,請將專用 DNS 虛擬私有雲網路對接到該傳輸中樞。這種做法可避免佈建多餘的混合線路,並盡可能降低成本。
- 直接混合式連線:專屬互連網路、跨雲端互連網路或 Cloud VPN,直接在專屬 DNS VPC 網路中終止。
限制
傳出端點有下列限制:
來源 IP 和子網路共用僅限於同一區域的資源:傳出端點會從所屬虛擬私有雲網路的區域性僅限 Proxy 子網路,分配來源 IP 範圍。在標準部署作業中,這個僅限 Proxy 的子網路可與其他區域性資源 (例如區域性應用程式負載平衡器) 共用。
不支援直接對接至僅限 Proxy 的子網路:您無法直接對接至僅限 Proxy 的子網路。您必須透過 Cloud Interconnect、Cloud VPN 或虛擬私有雲網路對接等標準虛擬私有雲轉送,建立與外部名稱伺服器的網路連線。
僅支援 IPv4:傳出端點的來源 IP 位址僅限 IPv4,且查詢只能轉送至 IPv4 目標,或轉送區域中解析為 IPv4 位址的 FQDN 轉送目標。
不支援將傳出端點繫結至跨專案的網路:不支援在附加至主專案共用虛擬私有雲網路的服務專案中,建立傳出端點。出站端點必須與所連結的虛擬私有雲網路和子網路位於相同專案。
僅限私人目標:傳出端點僅支援轉送至私人目標,無法做為公開網際網路 DNS 流量的輸出 Proxy 或靜態來源 IP 錨點。傳送至公開網際網路目標的查詢會直接透過 Google 的分散式任意傳播邊緣解析,盡可能縮短延遲時間,並避免依賴 Cloud NAT。
區域範圍:傳出端點屬於區域性資源。您必須在每個要使用的區域中建立端點。
僅限單一轉送機制:轉送機制 (預設
35.199.192.0/19範圍或傳出端點) 是在轉送區域或伺服器政策層級設定。不過,您無法同時對同一個區域或政策使用這兩種方法。
後續步驟
- 如要進一步瞭解 Cloud DNS,請參閱「Cloud DNS 總覽」。
- 如要瞭解如何建立或更新傳出端點,請參閱「建立或更新傳出端點」。
- 如需疑難排解資訊,請參閱「排解 Cloud DNS 傳出端點問題」。