Connectivity Tests 總覽

Connectivity Tests 是一項診斷工具,可檢查網路端點之間的連線。系統會分析設定,有時還會在端點間執行即時資料層分析。端點是網路流量的來源或目的地,例如 VM、Google Kubernetes Engine (GKE) 叢集、負載平衡器轉送規則,或網際網路上的 IP 位址。

為分析網路設定,連線測試會模擬封包在虛擬私有雲 (VPC) 網路、Cloud VPN 通道或 VLAN 連結中的預期轉送路徑。Connectivity Tests 也可以模擬預期的資源傳入轉送路徑,傳送至虛擬私有雲網路。

在某些連線情境中,Connectivity Tests 也會執行即時資料層分析。這項功能會透過資料層傳送封包來驗證連線,並提供延遲和封包遺失的基準診斷結果。如果該功能支援這條路徑,您執行的每項測試都會包含即時資料層分析結果。

如要瞭解如何為各種情境建立及執行測試,請參閱「建立及執行連線能力測試」。

連線能力測試的 API 是 Network Management API。 詳情請參閱 API 說明文件

為什麼要使用連線測試?

連線能力測試可協助排解下列網路連線問題:

  • 非預期的不一致設定
  • 因網路設定變更或遷移而過時的設定
  • 各種網路服務和功能的設定錯誤

測試 Google 代管的服務時,連線測試也能協助您判斷虛擬私有雲網路或 Google 擁有的虛擬私有雲網路 (用於服務資源) 是否有問題。

Connectivity Tests 如何分析設定

分析網路設定時,連線測試會使用抽象狀態機,模擬虛擬私有雲網路處理封包的方式。Google Cloud 會透過幾個邏輯步驟處理封包。

分析作業可能有多種路徑

由於設定分析支援多種虛擬私有雲網路服務和功能,因此測試封包在虛擬私有雲網路設定中傳輸時,可能會經過多種路徑。

下圖顯示設定分析的模型,模擬兩個 Compute Engine 虛擬機器 (VM) 執行個體之間的追蹤流量,左側和右側各有一個執行個體。

分析結果取決於網路基礎架構

視 Google Cloud 網路和資源設定而定,這類流量可能會先經過 Cloud VPN 通道、VPC 網路、 Google Cloud 負載平衡器或對等互連 VPC 網路,再抵達目的地 VM 執行個體。

網路抽象狀態機。
網路抽象狀態機器 (按一下可放大)。

分析會進入其中一個有限狀態

封包傳送或捨棄前,離散狀態間的步驟數有界,因此可模擬為有限狀態機。這個有限狀態機在任何時間點都只能處於其中一個有限狀態,且可能有多個後續狀態。

舉例來說,當連線測試根據路徑優先順序比對多條路徑時, Google Cloud 可以根據資料層中未指定的雜湊函式,從多條路徑中選擇一條路徑。如果已設定策略路由,連線測試會將封包傳送至下一個躍點 (內部負載平衡器)。

在上述情況中,連線測試追蹤會傳回所有可能路徑,但無法判斷用於傳回路徑的方法 Google Cloud 。這是因為該方法屬於 Google Cloud的內部方法,

Google 代管服務

Cloud SQL 和 Google Kubernetes Engine (GKE) 等 Google 代管服務,會在 Google 擁有及管理的專案和 VPC 網路中,為客戶分配資源。顧客無權存取這些資源。

連線測試設定分析仍可執行測試,並提供 Google 代管服務的整體可連線結果,但不會提供 Google 所擁有專案中受測資源的詳細資料。

下圖顯示的模式說明設定分析如何模擬從客戶 VPC 網路中的 VM 執行個體到 Google 擁有的 VPC 網路中 Cloud SQL 執行個體的追蹤流量。在本範例中,網路是透過虛擬私有雲網路對等互連連線。

與兩個 VM 之間的標準測試類似,邏輯步驟包括檢查相關輸出防火牆規則,以及比對路徑。執行測試時,連線能力測試設定分析會提供這些步驟的詳細資料。不過,在分析 Google 擁有的 VPC 網路設定時,最後的邏輯步驟只會提供整體可連性結果。您沒有權限查看 Google 擁有的專案,因此連線能力測試不會提供該專案中資源的詳細資料。

詳情請參閱「測試與 Google 代管服務間的往來連線能力」一文中的測試範例。

Google 代管服務的網路抽象狀態機器。
Google 管理服務的網路抽象狀態機器 (按一下即可放大)。

支援的設定

連線測試設定分析支援測試下列章節所述的網路設定。

流量

  • VM 執行個體與網際網路之間的流量
  • VM 執行個體到 VM 執行個體
  • 虛擬私有雲網路往返地端部署網路的連線 Google Cloud
  • 透過 Network Connectivity Center 連線的兩個內部部署網路之間
  • 兩個 Network Connectivity Center 虛擬私有雲輪輻之間

虛擬私有雲網路功能

您可以測試使用下列功能的資源之間的連線 (適用時支援 IPv4 和 IPv6):

Google Cloud 混合式網路解決方案

下列混合式網路解決方案同時支援 IPv4 和 IPv6:

Network Connectivity Center

支援 Network Connectivity Center 的虛擬私有雲輪輻和混合式輪輻

Cloud NAT

支援公開 NAT 和私人 NAT

Cloud Load Balancing

  • 系統支援下列Google Cloud 負載平衡器類型:外部應用程式負載平衡器、外部直通式網路負載平衡器、外部 Proxy 網路負載平衡器、內部應用程式負載平衡器、內部直通式網路負載平衡器,以及內部 Proxy 網路負載平衡器。
  • 系統支援測試與負載平衡器 IP 位址的連線。
  • 系統支援驗證 Cloud Load Balancing 健康狀態檢查與後端的連線。
  • 內部 TCP/UDP 負載平衡器可做為下一個躍點

如要瞭解不支援的 Cloud Load Balancing 功能,請參閱「不支援的設定」一節。

如要瞭解連線能力測試如何分析負載平衡器的後端,請參閱測試負載平衡器時的追蹤記錄數量

Google Kubernetes Engine (GKE)

如要瞭解不支援的 GKE 功能,請參閱「不支援的設定」一節。

無伺服器端點

系統支援下列無伺服器端點:

無伺服器端點的來源 IP 位址通常不具決定性。每次執行測試時,連線測試都會從無伺服器端點可用的位址集區中,隨機選取一個 IP 位址。如要瞭解無伺服器端點的 IP 位址分配方式,請參閱下列文章:

在某些情況下,根據輸出設定,系統會將直接虛擬私有雲輸出和無伺服器虛擬私有雲存取連接器設定為透過外部連線 (而非虛擬私有雲網路),將流量從無伺服器端點傳輸出去。

如要瞭解不支援的無伺服器功能,請參閱「不支援的設定」一節。

其他 Google Cloud 產品和服務

支援的額外 Google Cloud 產品或服務如下:

不支援的設定

連線測試設定分析不支援測試下列網路設定:

Connectivity Tests 如何分析即時資料層

即時資料層分析功能會從來源端點傳送多個追蹤封包至目的地,藉此測試連線。即時資料層分析結果會顯示傳送的探測次數、成功抵達目的地的探測次數,以及可連線狀態。系統會根據成功傳送的探測次數判斷狀態,如下表所示。

狀態 抵達目的地的探測次數
可連線 至少 95%
無法連線
部分可連線 大於 0 且小於 95%

除了顯示成功傳送的封包數量,即時資料層分析也會顯示中位數和第 95 百分位數的單向延遲資訊。即時資料層分析與設定分析無關。而是獨立評估連線狀態。

如果設定分析結果與即時資料層分析結果明顯不一致,請參閱「排解連線測試問題」。

支援的設定

即時資料層分析支援下列網路設定。

流量

  • 兩個 VM 執行個體之間
  • VM 執行個體和 Cloud SQL 執行個體之間
  • VM 執行個體與 GKE 控制層端點之間
  • VM 執行個體與 Google 網路邊緣位置之間。系統會從來源 VM 執行個體,對所有可能的 Google 網路邊緣路由器執行即時資料平面分析,這些路由器可能會根據目的地 IP 位址轉送流量。
  • IP 通訊協定:TCP、UDP

虛擬私有雲網路功能

您可以動態驗證使用下列功能的資源之間的連線:

不支援的設定

如果設定未明確列為支援項目,則不支援。此外,系統也不支援連線遭輸出防火牆規則封鎖的設定。

如果未執行即時資料層分析功能,任何測試的「上次封包傳送結果」欄位都會顯示 N/A-

注意事項和限制

決定是否要使用連線測試時,請評估下列考量事項。

  • 連線測試執行的設定分析完全以資源的設定資訊為依據, Google Cloud 可能無法代表 VPC 網路資料層的實際狀況或狀態。
  • 雖然連線測試會取得一些動態設定資訊,例如 Cloud VPN 通道狀態和 Cloud Router 上的動態路徑,但不會存取或維護 Google 內部生產基礎架構和資料平面元件的健康狀態。
  • 連線測試的 Packet could be delivered 狀態無法保證流量能通過資料層。這項測試的目的是驗證可能導致流量下降的設定問題。

對於支援的路徑,即時資料層分析結果會測試傳輸的封包是否抵達目的地,藉此補充設定分析結果。

Connectivity Tests 不瞭解 Google Cloud以外的網路

外部網路的定義如下:

  • 位於資料中心或其他設施的地端網路,您可在這些設施中運作硬體裝置和軟體應用程式。
  • 您執行資源的其他雲端服務供應商。
  • 網際網路上的主機,會將流量傳送至您的虛擬私有雲網路。

Connectivity Tests 不會執行防火牆連線追蹤

虛擬私有雲防火牆的連線追蹤功能會儲存新連線和已建立連線的相關資訊,並根據這些資訊允許或限制後續流量。

Connectivity Tests 設定分析不支援防火牆連線追蹤,因為防火牆連線表位於 VM 執行個體的資料層,無法存取。不過,只要連線能力測試啟動輸出連線,設定分析就能模擬連線追蹤,允許通常會遭輸入防火牆規則拒絕的傳回連線。

即時資料層分析不支援測試防火牆連線追蹤。

Connectivity Tests 無法測試設定為修改轉送行為的 VM 執行個體

Connectivity Tests 無法測試已設定為在資料層中充當路由器、防火牆、NAT 閘道、VPN 等的 VM 執行個體。這種設定方式會導致難以評估 VM 執行個體上執行的環境。此外,即時資料層分析不支援這類測試情境。

連線能力測試結果時間可能有所不同

取得連線測試結果可能需要 30 秒到 10 分鐘。測試所需時間取決於 VPC 網路設定的大小,以及您使用的 Google Cloud 資源數量。

下表列出所有使用者針對查詢中的範例設定執行測試時,預期的回應時間。這項設定包含 VM 執行個體、Cloud VPN 通道和 Google Cloud 負載平衡器。

每個查詢的回應時間
專案大小 資源數量 Google Cloud 回應延遲
小型專案 少於 50 個 所有使用者 95% 的查詢在 60 秒內完成
中型專案 超過 50 但少於 5000 所有使用者 95% 的查詢在 120 秒內完成
大型專案 大於 5000 所有使用者 95% 的查詢時間為 600 秒

即時資料層分析不適用於持續監控

即時資料層分析會執行一次性網路連線驗證,以利診斷。如要持續監控連線和封包遺失情形,請使用效能資訊主頁

VPC Service Controls 支援

VPC Service Controls 可為連線測試提供額外的安全性,協助降低資料竊取風險。您可以透過 VPC Service Controls 將專案加入服務範圍內,如此一來,源自服務範圍外的要求就無法存取相關資源及服務。

如要進一步瞭解服務範圍,請參閱 VPC Service Controls 說明文件的「服務範圍詳細資料和設定」頁面。

後續步驟