本頁面說明 Connectivity Tests 如何測量可連線性。本文也會說明設定分析和即時資料層分析的運作方式。
什麼是可觸及度?
如果網路設定 (例如防火牆和路徑) 允許流量從一個端點傳輸到另一個端點,則資源可從其他端點連線。舉例來說,如果網路設定應允許 VM1 將封包傳送至 VM2,則表示 VM1 可連線至 VM2。
請注意,連線能力測試評估可連線性的方式有以下幾點:
- 連線能力測試會評估從特定來源到特定目的地的可連線性。VM1 可以連上 VM2,並不一定代表 VM3 也能連上 VM2。
- 連線測試會測量單向可連性。VM1 可以開啟與 VM2 的連線,並不代表 VM2 可以開啟與 VM1 的連線。防火牆規則可能允許單一方向的流量,但禁止另一方向的流量。
- Connectivity Tests 會測量特定通訊協定和目的地通訊埠的可連線性。VM1 可以透過
tcp:443連上 VM2,並不代表可以透過tcp:80連上 VM2。 - Connectivity Tests 只會測試可能影響封包從來源傳送至目的地的 Google Cloud VPC 網路設定。不會檢查目的地是否正在執行有效伺服器、作業系統防火牆規則是否可能封鎖流量,或安全性軟體是否封鎖含有病毒酬載的封包。
「可抵達性」的概念源自圖論。從概念上來說,網路的整個可連線圖表包含所有端點 (做為節點),以及表示從來源節點到目的地節點可連線的單向邊緣。
可連性分析是較為通用的詞彙,用於說明可進行的分析主體,以判斷網路可連性。可連性分析的用途之一是連線測試。連線:在此情況下,是指網路連線的狀態。
針對網路轉送路徑中的每個步驟,可連性分析都會測試基礎網路設定,並提供結果。舉例來說,Connectivity Tests 會分析套用至模擬測試封包的 Google Cloud 防火牆規則和路徑。
Connectivity Tests 的運作方式
Connectivity Tests 包含兩個主要元件:設定分析和即時資料層分析。本節將說明這兩種分析的運作方式。
設定分析的運作方式
本節說明 Connectivity Tests 及其元件的運作方式。
Connectivity Tests 會執行可連性分析,根據理想的設定模型評估測試路徑中的 Google Cloud 資源。這項功能會透過即時資料層分析功能傳送封包,驗證資料層的狀態,並提供支援設定的基準資訊。如要進一步瞭解即時資料層分析的運作方式,請參閱「即時資料層分析的運作方式」。
網路管理員可以控管許多可能會影響分析結果的設定,但部分設定除外。舉例來說,您無法控管代管 Google 服務 (例如 Cloud SQL 執行個體) 的虛擬私有雲網路。此外,由於權限限制,您可能無法控管影響網路的階層式防火牆政策規則。
執行連線測試時,您會輸入一組特定參數,並以網路追蹤或查詢的形式,收到格式化的結果。如果測試在網路中有多個可能路徑 (例如目的地端點是具有多個後端的 Google Cloud 負載平衡器),Connectivity Test 會產生多筆追蹤記錄。
- 「相符」表示 Connectivity Tests 找到 Google Cloud設定,允許模擬封包繼續通過測試路徑。
- 「不相符」表示連線測試找不到相符的結果。因此,設定不存在。
- 「拒絕比對」表示 Connectivity Tests 找到Google Cloud 設定,模擬測試封包必須捨棄。
連線能力測試元件
Connectivity Test 是頂層元件,包含設定分析所需的所有其他測試子元件。這些元件的說明如下:
- 來源和目的地端點
- 測試和追蹤記錄的可連線詳細資料,包括由設定分析判定的整體可連線結果
- 一或多個追蹤記錄,每個追蹤記錄都包含一或多個步驟
- 每個步驟的狀態
每項測試都有專屬名稱,每個步驟都有相關聯的狀態和 Info 中繼資料。舉例來說,如果步驟檢查路徑,該步驟就會包含中繼資料。RouteInfo
下圖顯示從一個 Compute Engine VM 執行個體到另一個執行個體的測試。如要瞭解測試元件的說明,請參閱下文各節。
來源和目的地端點
Connectivity Tests 設定分析支援 5 元組封包標頭,但不含來源連接埠。這是因為來源通訊埠不會用於驗證 Google Cloud 網路設定中的資源。因此,執行測試時不需要提供這項資訊。
封包標頭包含下列元件:
- 網路通訊協定
- 來源端點,包含下列其中一項:
- VM 執行個體名稱
- 來源 IP 位址
- 來源 App Engine 服務
- Cloud Run 函式 (第 1 代) 環境
- Cloud Run 服務
- Cloud SQL 執行個體名稱
- GKE 控制層的叢集名稱
- 目的地端點,由下列其中一項和通訊埠號碼組成:
- VM 執行個體名稱
- 目的地 IP 位址
- Cloud SQL 執行個體名稱
- GKE 控制層的叢集名稱
- Private Service Connect 端點
您也可以指定 Google Cloud 或非Google Cloud 網路類型,或是網路類型與 IP 位址或 VM 執行個體名稱的組合,以明確識別網路位置。
VM、IP 位址和 Google 管理的服務支援下列網路通訊協定:
- TCP
- UDP
- ICMP
- ESP
- AH
- SCTP
- IPIP
無伺服器虛擬私有雲存取連接器支援下列網路通訊協定:
- TCP
- UDP
支援 TCP 或 UDP 通訊協定的目標通訊埠。如未指定通訊埠,預設設定為通訊埠 80。
追蹤記錄、步驟和狀態
設定分析包含一或多個追蹤記錄。每項追蹤記錄代表測試中一個獨特的模擬封包轉送路徑。
- 每項追蹤記錄都包含多個依序執行的步驟。
- 每個步驟都包含與 Google Cloud 設定相關的狀態,Connectivity Tests 會檢查該步驟的設定。
- 狀態可分為非最終狀態和最終狀態。
非最終狀態
非最終狀態代表測試路徑中每個 Google Cloud資源的設定檢查,例如 VM 執行個體、端點、防火牆規則、路徑或 Google Cloud 負載平衡器。
非最終狀態共有四種:
- 初始
- 檢查設定
- 轉送
- 轉移
詳情請參閱「設定分析狀態」。
最終狀態
每項追蹤記錄都必須以最終狀態結尾,也就是追蹤記錄中的最後一個步驟。
最終狀態有以下四種:
DropAbortForwardDeliver
每個狀態都有相關聯的原因。詳情請參閱各個最終狀態的詳細資料。
整體可連性結果
設定分析也會提供整體可觸及結果,可能的值有四種:Reachable、Unreachable、Ambiguous 或 Undetermined。
瞭解整體可連線結果有助於設定監控或自動化功能。
詳情請參閱「整體可觸及性結果」。
假冒郵件檢查
當 VM 例項的模擬封包使用該例項不具備的 IP 位址時,連線測試會執行偽造檢查。VM 擁有的 IP 位址包括所有 VM 內部 IP 位址和次要 IP 位址。
如果該位址似乎來自外部流量 (也稱為外部位址),則 IP 位址會在偽造檢查中失敗。
中繼資料
每個狀態都可以有相關聯的中繼資料,形式為 Info 欄位。
舉例來說,InstanceInfo 包含 VM 執行個體的詳細資料,包括名稱和 IP 位址。
設定分析會提供測試本身的中繼資料,以及測試中每個步驟的中繼資料。
即時資料層分析的運作方式
即時資料層分析的探查機制不涉及客體 OS,且使用者完全不會察覺。系統會代表來源端點將探測訊號注入網路,並在傳送至目標端點前捨棄。探測器不計入一般網路費用、遙測指標和流量記錄。
後續步驟
找出及修正 ICMP 問題 (教學課程)