連線測試設定分析會檢查從指定來源到指定目的地的網路路徑中,每個 Google Cloud資源的設定,並經歷一系列測試狀態。請參考下列說明,瞭解這些狀態。
如要進一步瞭解連線能力測試 (包括即時資料層分析的詳細資訊),請參閱總覽。
測試狀態
連線測試設定分析會依照以下順序,提供下列測試狀態的資料:
- 初始狀態
- 設定檢查狀態
- 轉送狀態
- 轉換狀態
- 特殊狀態
- 最終狀態
- 整體可連性結果
其中有些狀態會顯示在每個追蹤記錄中,而其他狀態則只會在測試特定 Google Cloud 資源的設定或執行特定工作時顯示。
最終狀態和整體可到達性結果提供最重要的測試輸出內容。
此外,測試輸出內容還可包含與一或多個狀態相關聯的 Google Cloud 資源中繼資料,例如虛擬機器 (VM) 執行個體的名稱和 IP 位址相關資訊。
設定分析如何評估可及性
設定分析會驗證該路徑中 Google Cloud 資源的設定,模擬透過網路路徑傳送的測試封包。無效的網路設定示例包括沒有後端的 Cloud Load Balancing 轉送規則,或是不存在的網路路徑。
在設定檢查狀態期間,連線測試會收集網路路徑的相關資訊,例如使用者設定的路徑、根據 BGP 廣告的動態路徑,或根據政策的路徑。設定分析會根據適用性和順序選擇網路路徑。
針對設定檢查狀態,verified
表示 Connectivity Tests 確認測試的Google Cloud 資源設定有效。這項設定可讓模擬的測試封包繼續透過所測試的網路路徑。
針對輸入和輸出防火牆規則,verified
表示設定分析確認防火牆規則有效。防火牆規則允許模擬的測試封包通過。
如果 Connectivity Tests 判定設定無效,封包的最終狀態會是 Drop
。
整體可連性結果
設定分析會提供可及性狀態的整體摘要,也就是結果。結果可以是下列四個值之一:Reachable
、Unreachable
、Ambiguous
和 Undetermined
。
值資料表
下表說明各類型整體可及性結果的值。
整體可連性結果 | 說明 |
---|---|
Reachable |
可能有兩種情況。在兩種情況下,連線能力測試都沒有發現任何設定問題。因此,這兩種情況都會被視為 Reachable 。
|
Unreachable |
來自來源的封包應會在抵達目的地之前遭到捨棄。所有追蹤記錄的最終狀態為 Drop 。 |
Ambiguous |
如果來源和目的地端點無法明確指出網路中的測試位置,且整體可及性結果包含多個混合 在這種情況下,多個追蹤記錄中的最終狀態會傳回不同的最終狀態。 |
Undetermined |
無法判斷可及性。單一追蹤記錄的最終狀態為 無法判斷從來源到目的地的可及性,原因如下:
|
多個追蹤記錄
每個設定分析可能包含多個追蹤,且這些追蹤的最終狀態可能不相同。舉例來說,如果為負載平衡器設定了 n
後端 VM 執行個體, Google Cloud 負載平衡器的 VIP 封包可能會有 n
追蹤記錄。這些 n
追蹤記錄可能不會有相同的最終狀態。
由於分析作業可能會產生多個可能的追蹤記錄,因此下列情況為真:
- 如果只有一個追蹤結果,整體可及性結果就會與追蹤的最終狀態相同。
- 如果有多個追蹤結果,系統會根據所有追蹤記錄中包含的最終狀態分布情況,計算整體可及性結果。
結果中繼資料
除了追蹤記錄的整體可及性結果外,每個測試結果都包含下列中繼資料:
- 測試狀態驗證的時間
- 測試失敗或取消的錯誤詳細資料
- 每個追蹤記錄的追蹤記錄詳細資料
測試失敗或取消的錯誤詳細資料會以代碼和訊息的形式顯示在整體可及性結果中。舉例來說,如果測試的最終狀態為 Abort
,可能會顯示 Failed to pull initial config. An internal error occurred.
等錯誤訊息
初始狀態
在初始狀態期間,設定分析會模擬從網路端點開始。
訊息 | 說明 |
---|---|
START_FROM_INSTANCE |
封包來自 Compute Engine 執行個體。InstanceInfo 中繼資料已由 Connectivity Tests 填入。 |
START_FROM_INTERNET |
封包來自網際網路。EndpointInfo 中繼資料已由 Connectivity Tests 填入。 |
START_FROM_PRIVATE_NETWORK |
封包來自 VPC 網路或內部來源 IP 位址的內部部署網路。如果來源是使用者可見的 VPC 網路,則會透過連線測試,在 NetworkInfo 中填入網路詳細資料。 |
START_FROM_CLOUD_FUNCTION |
封包來自 Cloud Run 函式。CloudFunctionInfo 中繼資料是由 Connectivity Tests 填入。 |
START_FROM_CLOUD_RUN_REVISION |
封包源自 Cloud Run 服務的修訂版本。CloudRunRevisionInfo 中繼資料是由 Connectivity Tests 填入。 |
START_FROM_APP_ENGINE_VERSION |
該封包來自某個 App Engine 標準環境服務版本。AppEngineVersionInfo 中繼資料已由 Connectivity Tests 填入。 |
最終狀態
有四種最終狀態:Drop
、Abort
、Forward
和 Deliver
。以下各節都包含表格,內含各狀態的訊息和說明。
拖放
連線測試因下列原因無法連線至測試目標,因此捨棄模擬測試封包。
訊息 | 說明 |
---|---|
UNKNOWN_EXTERNAL_ADDRESS |
無法將目的地外部位址解析為已知的目標。 |
FOREIGN_IP_DISALLOWED |
啟用 ip_forward 之後,VM 執行個體只能傳送或接收具備外部 IP 位址的封包。換句話說,外部 IP 位址未通過冒用檢查。 |
FIREWALL_RULE |
因防火牆規則而捨棄,除非基於連線追蹤允許。 Connectivity Tests 可能會拒絕測試封包,因為封包符合封鎖防火牆規則。不過,實際的資料層可能會因防火牆規則的連線追蹤而允許封包通過。連線追蹤可讓現有連線的封包傳回,即使有防火牆規則也一樣。 |
NO_ROUTE |
因沒有路徑而捨棄封包。 |
ROUTE_BLACKHOLE |
由於比對路徑的下一個躍點不存在,因此遭到捨棄。 |
ROUTE_WRONG_NETWORK |
封包已傳送至錯誤 (非預期) 的網路,如偵測無效或不一致的設定所示。 |
PRIVATE_TRAFFIC_TO_INTERNET |
含有內部目的地 IP 位址的封包已傳送至網際網路閘道。 |
PRIVATE_GOOGLE_ACCESS_DISALLOWED |
僅具備內部 IP 位址的 VM 執行個體嘗試存取 Google API 或 Google 服務,但未啟用私人 Google 存取權。 |
NO_EXTERNAL_ADDRESS |
僅具備內部 IP 位址的 VM 執行個體嘗試透過下一個躍點為預設網際網路閘道的路徑存取外部主機。在子網路中未啟用 Cloud NAT,或沒有其他使用不同類型下一個躍點 (例如 Proxy VM) 的預設路徑時,會出現此錯誤。 |
UNKNOWN_INTERNAL_ADDRESS |
無法將目的地內部位址解析為已知的目標。 |
FORWARDING_RULE_MISMATCH |
轉送規則的通訊協定和通訊埠與封包標頭不符,或封包並非源自或導向地區負載平衡器所在的區域。 |
FORWARDING_RULE_NO_INSTANCES |
轉送規則未設定後端。 |
FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK |
防火牆規則封鎖了對後端的健康狀態檢查探測,導致後端無法接收來自負載平衡器的流量。 在 Cloud Load Balancing 的測試序列中,設定分析會驗證是否已設定現有的防火牆規則,以便將健康狀態檢查探測封包傳送至 Cloud Load Balancing 後端。這項設定檢查會產生 |
INSTANCE_NOT_RUNNING |
封包是從或至未處於執行中狀態的 VM 執行個體傳送。 |
TRAFFIC_TYPE_BLOCKED |
流量類型遭到封鎖,使用者無法設定防火牆規則來啟用該類流量。詳情請參閱「一律封鎖的流量」。 |
GKE_MASTER_UNAUTHORIZED_ACCESS |
未取得 Google Kubernetes Engine 控制層端點的存取權。詳情請參閱「叢集端點的存取權」。 |
DROPPED_INSIDE_GKE_SERVICE |
Google Kubernetes Engine 服務中捨棄了封包。 |
CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS |
未經授權,無法存取 Cloud SQL 執行個體端點。詳情請參閱「透過授權網路進行授權」。 |
DROPPED_INSIDE_CLOUD_SQL_SERVICE |
封包已在 Cloud SQL 服務中遭到捨棄。 |
GOOGLE_MANAGED_SERVICE_NO_PEERING |
來源網路與 Google 代管服務網路之間並未對等互連,因此封包遭到捨棄。 |
CLOUD_SQL_INSTANCE_NO_IP_ADDRESS |
封包遭到捨棄,因為 Cloud SQL 執行個體沒有私人或公開 IP 位址。 |
PSC_CONNECTION_NOT_ACCEPTED |
封包遭到捨棄,因為系統不接受使用 Private Service Connect 連線至已發布的服務。 |
CLOUD_FUNCTION_NOT_ACTIVE |
封包遭到捨棄,因為 Cloud Run 函式未啟用。 |
VPC_CONNECTOR_NOT_SET |
封包遭到捨棄,因為 App Engine 標準環境服務、Cloud Run 函式或 Cloud Run 修訂版本未設定 無伺服器虛擬私有雲存取連接器。 |
VPC_CONNECTOR_NOT_RUNNING |
Serverless VPC Access 連接器未運作,因此封包遭到捨棄。 |
CLOUD_RUN_REVISION_NOT_READY |
封包遭到捨棄,因為 Cloud Run 修訂版本尚未準備好,無法處理流量。 |
取消
設定分析因缺乏基本資訊而停止,例如無法存取網路設定。
當連線測試的權限不足,無法從服務專案的主機專案取得設定時,通常會發生這種狀態,如下表所示。
訊息 | 說明 |
---|---|
UNKNOWN_NETWORK |
因不明網路而取消。在共用虛擬私有雲網路中,執行測試的使用者無法存取主機專案的網路設定 (包括防火牆規則和路徑),因此無法繼續進行分析。 執行連線測試時,執行測試的使用者必須能夠讀取主機專案中的路由等資源設定。這是因為網路資源是在主專案中分配,但實際資源位於服務專案中。 |
UNKNOWN_IP |
由於分析所需的 IP 位址不明,因此作業已取消。這是因為使用者輸入的內容不正確,或是設定分析無法根據提供的輸入參數判斷有效的端點。 在共用虛擬私人雲端網路中,執行測試的使用者沒有主專案的網路設定存取權。您必須具備這項存取權,才能對服務專案中的 IP 位址進行測試。 |
UNKNOWN_PROJECT |
無法從連線測試的輸入內容衍生專案資訊,因此分析已中止。這是因為使用者輸入的內容不正確,或是系統無法根據提供的輸入參數判斷有效專案。 |
PERMISSION_DENIED |
使用者缺少執行測試所需的所有或部分網路設定存取權限,因此分析已中止。 |
NO_SOURCE_LOCATION |
無法從測試輸入內容衍生有效的來源端點,因此分析作業已取消。這是因為使用者輸入內容有誤,或是系統無法根據提供的輸入參數,判斷有效的來源端點。 |
INVALID_ARGUMENT |
由於測試輸入內容中指定的來源和/或目的地端點無效,因此分析作業已中止。這則訊息的可能原因包括:
|
NO_EXTERNAL_IP |
分析作業已取消,因為流量是從公開 IP 位址傳送至沒有外部 IP 位址的 VM 執行個體。 |
UNINTENDED_DESTINATION |
沒有任何追蹤記錄可與測試輸入內容中指定的目的地資訊相符,因此分析作業已中止。 |
TRACE_TOO_LONG |
追蹤記錄中的步驟數量超過特定上限,因此分析作業已中止。這個問題可能是轉送迴圈所造成。 |
INTERNAL_ERROR |
發生內部伺服器錯誤,因此作業已取消。 |
SOURCE_ENDPOINT_NOT_FOUND |
找不到來源端點,因此作業已取消。 |
MISMATCHED_SOURCE_NETWORK |
來源網路與來源端點不符,因此作業已取消。 |
DESTINATION_ENDPOINT_NOT_FOUND |
找不到目的地端點,因此作業已取消。 |
MISMATCHED_DESTINATION_NETWORK |
目的地網路與目的地端點不符,因此作業已取消。 |
向上
分析在特定端點停止,無法繼續進行:
- 分析結果會根據使用者擁有權限的設定部分完成。
- 測試封包已轉送至設定不明的網路。
- 測試目標並未根據已知設定遭到捨棄,且測試封包已轉送至連線測試無法查看的網路。
訊息 | 已轉寄 |
---|---|
PEERING_VPC |
至對等 VPC 網路 |
VPN_GATEWAY |
連線至 Cloud VPN 閘道 |
INTERCONNECT |
輸出至 Cloud Interconnect 連線 |
GKE_MASTER |
連線至 GKE 控制層 |
IMPORTED_CUSTOM_ROUTE_NEXT_HOP |
傳送至自對等互連虛擬私有雲網路匯入的自訂路徑下一個躍點 |
CLOUD_SQL_INSTANCE |
至 Cloud SQL 執行個體 |
交付
分析能夠觸及目標並提供模擬測試封包。
Deliver
的最終狀態並不能保證流量可通過資料層。這項分析的目的,是驗證可能導致流量下降的設定問題。
訊息 | 目標 |
---|---|
INSTANCE |
Compute Engine VM 執行個體 |
INTERNET |
網際網路 |
GOOGLE_API |
Google API |
GKE_MASTER |
GKE 控制層 |
CLOUD_SQL_INSTANCE |
Cloud SQL 執行個體 |
PSC_GOOGLE_API |
所有使用 Private Service Connect 的 Google API 和服務 |
PSC_VPC_SC |
使用 Private Service Connect 的 VPC Service Controls |
PSC_PUBLISHED_SERVICE |
使用 Private Service Connect 的已發布服務 |
中繼資料
設定分析會顯示最終狀態的以下中繼資料。
中繼資料名稱 | 說明 |
---|---|
AbortInfo |
Abort 最終狀態的原因,以及導致該狀態的資源 URI。 |
DropInfo |
Drop 最終狀態的原因,以及造成該狀態的資源 URI。 |
ForwardInfo |
測試封包最終轉送至的目標類型和目標資源 URI (Forward 最終狀態)。 |
其他州
在測試封包到達其中一個最終狀態之前,會經過以下中繼狀態:設定檢查狀態、轉送狀態、轉換狀態和特殊狀態。
設定檢查狀態
在設定檢查狀態期間,連線能力測試會檢查模擬網路路徑中的 Google Cloud 資源設定,確認資源設定有效,並確認設定可讓模擬測試封包繼續透過網路路徑傳送。
如有需要,設定分析會執行模擬檢查。
訊息 | 說明 |
---|---|
APPLY_INGRESS_FIREWALL_RULE |
已驗證的輸入防火牆規則。 |
APPLY_EGRESS_FIREWALL_RULE |
已驗證的輸出防火牆規則。 |
APPLY_ROUTE |
已驗證的路線。 |
APPLY_FORWARDING_RULE |
符合的轉送規則。 |
SPOOFING_APPROVED |
封包是透過外部 IP 位址傳送或接收,但系統允許。 詳情請參閱假冒檢查。 |
轉送狀態
在轉送狀態期間,連線測試會模擬封包抵達測試路徑中中繼 Google Cloud 資源的情況 (例如抵達 Cloud VPN 閘道或Google Cloud 負載平衡器的封包)。
訊息 | 說明 |
---|---|
ARRIVE_AT_INSTANCE |
已抵達 Compute Engine VM 執行個體。 |
ARRIVE_AT_INTERNAL_LOAD_BALANCER |
抵達使用私人 IP 位址做為 VIP 的 Google Cloud 負載平衡器。 |
ARRIVE_AT_EXTERNAL_LOAD_BALANCER |
抵達 Google Cloud 負載平衡器的公開 IP 位址。 |
ARRIVE_AT_VPN_GATEWAY |
抵達 Cloud VPN 閘道。 |
ARRIVE_AT_VPN_TUNNEL |
到達 Cloud VPN 通道。 |
ARRIVE_AT_VPC_CONNECTOR |
到達 Serverless VPC Access 連接器。 |
轉換狀態
在轉換狀態期間,連線測試會驗證封包變更的模擬設定 (例如 Cloud NAT 翻譯封包標頭,或負載平衡 Proxy 終止並重新啟動 VM 執行個體的傳入 TCP 工作階段)。 Google Cloud
訊息 | 說明 |
---|---|
NAT |
封包標頭已翻譯。 |
PROXY_CONNECTION |
原始連線已終止,並啟動新的 Proxy 連線。 |
特殊狀態
在這個狀態下,測試檢視器沒有權限查看一或多個Google Cloud 資源。詳情請參閱「測試權限」。
中繼資料名稱 | 說明 |
---|---|
VIEWER_PERMISSION_MISSING |
測試結果檢視者沒有權限查看此步驟中 Google Cloud 資源的設定。 |
資源中繼資料
Connectivity Tests 會針對檢查的Google Cloud 資源設定,顯示下列中繼資料。
中繼資料名稱 | 說明 |
---|---|
EndpointInfo |
用於測試的端點。連線測試會從來源和目的地端點取得 EndpointInfo ,並使用資料層的模型驗證資訊。 |
FirewallInfo |
與防火牆規則相關聯的中繼資料。 |
ForwardingRuleInfo |
與 VPC 轉送規則相關聯的中繼資料。 |
InstanceInfo |
與 Compute Engine VM 執行個體相關聯的中繼資料。 |
LoadBalancerInfo |
與 Google Cloud 負載平衡器相關聯的中繼資料。 |
NetworkInfo |
與虛擬私有雲網路相關聯的中繼資料。 |
RouteInfo |
與虛擬私有雲網路路徑相關聯的中繼資料。 |
AppEngineVersionInfo |
與 App Engine 標準環境服務版本相關聯的中繼資料。 |
CloudRunRevisionInfo |
與 Cloud Run 修訂版本相關聯的中繼資料。 |
CloudFunctionInfo |
與 Cloud Run 函式相關聯的中繼資料。 |
VpcConnectorInfo |
與無伺服器虛擬私有雲存取連接器相關聯的中繼資料。 |