本頁面說明 Connectivity Tests 如何評估可及性。並說明設定分析和即時資料層分析的運作方式。
什麼是可及性?
如果防火牆和路徑等網路設定允許流量從一個端點傳送到另一個端點,則資源就可供其他端點存取。舉例來說,如果網路設定允許 VM1 將封包傳送至 VM2,則 VM2 可從 VM1 連線。
請注意下列 Connectivity Tests 評估可及性的相關事項:
- 連線能力測試會評估從特定來源到特定目的地的可連性。VM1 可連線至 VM2,但不一定代表 VM3 也能連線至 VM2。
- 連線測試可測量單向可及性。雖然 VM1 可以開啟與 VM2 的連線,但這並不代表 VM2 可以開啟與 VM1 的連線。防火牆規則可能會允許單一方向的流量,但不允許另一方向的流量。
- 連線能力測試會評估特定通訊協定和目的地通訊埠的可及性。雖然 VM1 可以連上
tcp:443
上的 VM2,但不代表它可以連上tcp:80
。 - 連線測試只會測試 Google Cloud 可能影響從來源傳送至目的地的封包遞送作業的 VPC 網路設定。不會檢查目的地是否執行有效的伺服器、作業系統防火牆規則是否可能封鎖流量,或安全軟體是否封鎖含有病毒酬載的封包。
可及性的概念源自圖形理論。在概念上,網路的整個可達性圖表會以節點的形式包含所有端點,以及表示從來源節點到目的地節點的可達性的方向邊緣。
「可及性分析」是一個較為通用的術語,用來描述可用於判斷網路可及性的一系列分析。可連性分析的用途之一是連線測試。在本例中,連線是指網路連線的狀態。
針對網路轉送路徑的每個步驟,可連性分析會測試並提供基礎網路設定的結果。舉例來說,連線能力測試會分析套用至模擬測試封包的 Google Cloud 防火牆規則和路由。
連線測試的運作方式
Connectivity Tests 包含兩個主要元件:設定分析和即時資料層分析。本節將說明這兩種分析類型的運作方式。
設定分析的運作方式
本節說明 Connectivity Tests 及其元件的運作方式。
Connectivity Tests 會執行可連性分析,根據理想設定模型評估測試路徑中的 Google Cloud 資源。這項功能會透過即時資料層分析功能傳送封包,驗證資料層的狀態,並提供支援設定的基準資訊。如要進一步瞭解即時資料層分析的運作方式,請參閱「即時資料層分析的運作方式」。
身為網路管理員,您可以控管許多可能影響分析結果的設定,但也有一些例外狀況。舉例來說,您無法控管代管 Google 代管服務 (例如 Cloud SQL 執行個體) 的 VPC 網路。此外,由於權限限制,您可能無法控制影響網路的階層式防火牆政策規則。
執行連線測試時,您會輸入特定參數組合,並以網路追蹤記錄或查詢的格式,接收經過格式化的結果。如果測試在網路中有多個可能的路徑 (例如,目的地端點是具有多個後端的 Google Cloud 負載平衡器),連線測試就會產生多個追蹤記錄。
- 「相符」表示連線能力測試找到可讓模擬封包繼續沿著測試路徑前進的 Google Cloud設定。
- 「No match」表示連線能力測試找不到相符的項目。因此,設定不存在。
- 「拒絕比對」表示連線能力測試找到了Google Cloud 設定,其中模擬的測試封包必須遭到捨棄。
Connectivity Tests 元件
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
。
追蹤記錄、步驟和狀態
設定分析包含一或多個追蹤記錄。每個追蹤記錄都代表測試中模擬的一個封包轉送路徑。
- 每個追蹤記錄都包含多個排序的步驟。
- 每個步驟都包含與 Connectivity Tests 檢查該步驟的 Google Cloud 設定相關的狀態。
- 狀態分為非最終狀態和最終狀態。
非最終狀態
非最終狀態代表對測試路徑中每個 Google Cloud資源 (例如 VM 執行個體、端點、防火牆規則、路由或 Google Cloud 負載平衡器) 的設定檢查。
非最終狀態有四種:
- 初始
- 設定檢查
- 轉送
- 轉移
詳情請參閱「設定分析狀態」。
最終狀態
每個追蹤記錄都必須以最終狀態結束,這是追蹤記錄中的最後一個步驟。
四種可能的最終狀態如下:
Drop
Abort
Forward
Deliver
每個狀態都有相關原因。詳情請參閱每個最終狀態的詳細資料。
整體可連性結果
設定分析也會提供整體可及性結果,可採用以下四個值之一:Reachable
、Unreachable
、Ambiguous
或 Undetermined
。
瞭解整體可及性結果有助於設定監控或自動化功能。
詳情請參閱「整體可及性結果」。
假冒檢查
當 VM 例項的模擬封包使用該例項不具備的 IP 位址時,連線測試會執行偽造檢查。VM 擁有的 IP 位址包括所有 VM 內部 IP 位址和次要 IP 位址。
如果該位址似乎來自外部流量 (也稱為外部位址),則 IP 位址會在偽造檢查中失敗。
中繼資料
每個狀態都可以有相關聯的中繼資料,以 Info
欄位形式呈現。舉例來說,InstanceInfo
包含 VM 執行個體的詳細資料,包括名稱和 IP 位址。
設定分析會提供測試本身的中繼資料,以及測試中每個步驟的中繼資料。
即時資料層分析的運作方式
即時資料層分析的探測機制不涉及客體作業系統,且對使用者完全透明。系統會代表來源端點將探針插入網路,並在傳送至目的地端點之前捨棄。探測器會從一般網路計費、遙測指標和流量記錄中排除。