評估可連性

本頁面說明 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 執行個體到另一個執行個體的測試。如要瞭解測試元件的說明,請參閱下文各節。

VM 對 VM 追蹤的狀態機器。
VM 對 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 負載平衡器。

非最終狀態共有四種:

  • 初始
  • 檢查設定
  • 轉送
  • 轉移

詳情請參閱「設定分析狀態」。

最終狀態

每項追蹤記錄都必須以最終狀態結尾,也就是追蹤記錄中的最後一個步驟。

最終狀態有以下四種:

  • Drop
  • Abort
  • Forward
  • Deliver

每個狀態都有相關聯的原因。詳情請參閱各個最終狀態的詳細資料

整體可連性結果

設定分析也會提供整體可觸及結果,可能的值有四種:ReachableUnreachableAmbiguousUndetermined

瞭解整體可連線結果有助於設定監控或自動化功能。

詳情請參閱「整體可觸及性結果」。

假冒郵件檢查

當 VM 例項的模擬封包使用該例項不具備的 IP 位址時,連線測試會執行偽造檢查。VM 擁有的 IP 位址包括所有 VM 內部 IP 位址和次要 IP 位址。

如果該位址似乎來自外部流量 (也稱為外部位址),則 IP 位址會在偽造檢查中失敗。

中繼資料

每個狀態都可以有相關聯的中繼資料,形式為 Info 欄位。 舉例來說,InstanceInfo 包含 VM 執行個體的詳細資料,包括名稱和 IP 位址。

設定分析會提供測試本身的中繼資料,以及測試中每個步驟的中繼資料。

即時資料層分析的運作方式

即時資料層分析的探查機制不涉及客體 OS,且使用者完全不會察覺。系統會代表來源端點將探測訊號注入網路,並在傳送至目標端點前捨棄。探測器不計入一般網路費用、遙測指標和流量記錄。

後續步驟