跳至主要內容
Study Jam:Gemini 專業應用 — 第 4/7 篇

Gemini Cloud Assist 網路除錯:先畫封包路徑

內文字級

Gemini Cloud Assist 網路除錯:先畫封包路徑
更新:2026-10-12

課程概述

「A 連不到 B」不是一個夠完整的網路問題。你至少要知道來源、目的、Protocol、Port、時間、預期路徑和最近變更,才能沿著 DNS、路由、防火牆、NAT、Load Balancer、VPN/Interconnect 和目的服務逐跳找證據。

Gemini Cloud Assist 可以協助查詢網路設定、解釋結果和草擬最小變更,Network Intelligence Center 的 Flow Analyzer 也能用自然語言產生查詢 VPC Flow Logs 的 SQL(這是 Gemini Cloud Assist 的功能,目前 Preview)。不過 AI 不會替你看到所有封包;它能用的證據取決於權限、已啟用的 API、Log 和監控資料。先把問題變成可重現的封包路徑,再請它幫忙,診斷才不會變成猜題。

Gemini Cloud Assist 輔助網路除錯:VPC、Shared VPC、Peering、路由、防火牆、DNS、NAT 與混合連線拓撲結合設定、Flow Logs 和監控,Connectivity Tests 逐跳找出可能阻斷點;AI 解釋證據並草擬最小變更,工程師驗證與模擬後才套用

網路除錯從可重現路徑和時間點開始。Connectivity Tests 分析設定,Flow Logs 與監控補充實際流量,Gemini 整理證據和候選根因;工程師核對範圍、Priority 與影響後才修改。

你將學到

  • 用五元組和時間窗口把模糊症狀變成可測問題
  • 規劃不與未來 GKE、受管服務和混合雲重疊的 CIDR
  • 分辨路由、防火牆、NAT、DNS 與應用層失敗
  • 正確解讀 Connectivity Tests 的設定分析與限制
  • 將 Gemini 產生的規則視為候選 Diff,經模擬、Review 和回滾設計後才套用

CIDR 要畫整個位址版圖,不只算現在 VM

規劃時要把下列範圍放在同一份 IPAM 或登錄表:

  • 每個環境、Region 和 Subnet 的 Primary range
  • GKE Pod 與 Service secondary ranges,以及成長預留
  • Private Service Access、Private Service Connect 和受管服務範圍
  • 地端、VPN、Interconnect、Peering、NCC 和合作夥伴網路
  • 未來併購、災難復原、測試環境與 IPv6 規劃

Gemini 可以協助計算 Prefix 和列出重疊,但輸入若漏掉一個未來可互連網路,結果就可能從數學正確變成架構錯誤。

Google Cloud CIDR 完整位址版圖:以組織 IP 註冊表統一切分環境與區域,為工作負載、GKE Pod、Service 與受管服務保留不同範圍,並跨混合雲與對等網路檢查重疊

位址計畫要能回答每個 Range 的 Owner、用途、環境、Region、生命週期和可互連對象。部署前用工具對完整清冊做重疊檢查,不靠人眼掃表格。

先寫出封包的五元組

一次 Connectivity Test 或 Log 查詢,至少固定:

  • Source IP/Instance/Service account 或 Endpoint
  • Destination IP/FQDN/Load Balancer/Managed service
  • Protocol 與 Destination port
  • 發生時間、頻率和是否只影響特定 Zone/使用者
  • 預期經過的 VPC、Peering、VPN、Interconnect、NAT 或 Proxy

如果目的端是 FQDN,先保存當下 DNS 解析結果;如果來源會經 Cloud NAT 或 Proxy,也要分清楚應用看到的來源和網路政策實際比對的來源。

防火牆規則要看完整政策,不只新增一條 Allow

Google Cloud 防火牆判斷會受到 Direction、Priority、Scope、Target、Source/Destination、Protocol/Port,以及 Hierarchical、Global/Regional Network Firewall Policy 和 VPC firewall rules 共同影響。AI 產生規則後要檢查:

  • 能不能用 Service account 或 Secure Tag 縮小 Target,而不是開整段 CIDR
  • 是否有更高優先序的 Deny/Allow 改變結果
  • Ingress 和 Egress 是否都已考慮,Return traffic 是否依 Connection tracking 放行
  • Logging 是否開在需要追蹤的規則上,保存量和成本是否合理
  • 變更會不會誤開管理 Port、跨環境或 Internet 路徑

不要把「允許某 Subnet 連 Cloud SQL 5432」直接翻成一條萬用 Firewall rule。Cloud SQL 連線方式可能是 Public IP、Private IP、PSC 或 Connector,實際路徑和授權方式不同,先畫路徑再決定控制。

Flow Logs、Firewall Logs 和 Connectivity Tests 各看不同事情

工具能回答什麼不能單獨證明什麼
VPC Flow Logs抽樣後的 Network flow、來源目的、流量與部分 Metadata不保證看見每個封包,也不一定直接告訴你哪條規則 Deny
Firewall Rules Logging特定 Firewall rule 的連線記錄沒開 Logging 的規則沒有相同證據,且仍要看路由與應用
Connectivity Tests依 Google Cloud 設定模擬預期 Forwarding path,部分場景加 Live data plane analysisReachable 不保證應用、TLS 或目的 Process 健康
Cloud Monitoring/服務 LogTunnel、Router、Load Balancer、DNS、應用和後端健康需要共同時間軸,單一 Error 可能只是下游症狀

表格超出欄寬時,可左右捲動;鍵盤可聚焦表格後用左右方向鍵查看。

Connectivity Tests 的設定分析不代表真實 Data plane 狀態;Live analysis 也只支援部分路徑。看到 Packet could be delivered 後,還要測 DNS、TLS、Service listening、Host firewall、Health check 和應用依賴。

Google Cloud 連線問題逐跳排查:依序驗證 DNS、來源情境、有效路由、階層與網路防火牆、NAT 或負載平衡器等中介設備,以及目的端監聽與健康狀態

沿實際封包路徑逐跳蒐證:設定可達不等於服務可用,服務 Error 也不等於一定是網路。把每一跳的輸入、輸出和時間點對齊,才不會在錯的層次修問題。

Gemini Cloud Assist 要吃證據,不要吃結論

與其問「為什麼網路壞了」,可以提供:

2026-08-21 10:05–10:15,Project A 的 VM 10.10.1.5 連 Project B 內部 LB 10.20.0.8:443 逾時;DNS 已解析正確,Connectivity Test 結果為 UNREACHABLE,附 Trace、有效 Route 和最近 Firewall Policy Diff。請把事實和推論分開,列出最可能的三個阻斷點,以及每個要再查的證據;先不要產生修改指令。

如果使用 Investigations,要注意目前是 Preview,而且 2026 年 4 月 10 日後建立、執行與編輯調查只開放給 Premium Support 或透過 Account team 取得存取的使用者。沒有這項資格時,仍可用 Chat、Flow analyzer 和既有網路工具逐步查證。

查看流程與節點文字

箭頭表示流程方向;方括號與引號內是節點名稱,可搭配下方圖解閱讀。

%%{init: {"flowchart": {"curve": "linear", "nodeSpacing": 20, "rankSpacing": 28, "wrappingWidth": 600}}}%%
flowchart TB
  subgraph DEFINE_STAGE["1. 固定可重現路徑"]
      direction LR
      SYMPTOM["記錄錯誤、時間、頻率<br/>和最近變更"] --> TUPLE["固定來源、目的、Protocol<br/>Port 與預期路徑"]
      TUPLE --> DNS{"FQDN 在發生當下<br/>解析到正確位址嗎?"}
      DNS -->|"否"| DNS_FIX["查 DNS Zone、Policy<br/>Cache、Split horizon 與 TTL"]
  end
  DNS -->|"是"| ROUTE
  subgraph NETWORK_STAGE["2. 沿設定與封包路徑逐跳查"]
      direction LR
      ROUTE{"有效 Route、Peering、VPN<br/>或 Interconnect 路徑正確嗎?"} -->|"否"| ROUTE_FIX["修正 Route、Advertisement<br/>Overlap 或 Tunnel 狀態"]
      ROUTE -->|"是"| FIREWALL{"階層與 VPC Firewall<br/>對此五元組會放行嗎?"}
      FIREWALL -->|"否"| FW_FIX["找出實際命中政策<br/>草擬最小範圍變更"]
      FIREWALL -->|"是"| MIDDLE["檢查 NAT、LB、PSC<br/>Proxy 與 Return path"]
  end
  MIDDLE --> SERVICE
  subgraph SERVICE_STAGE["3. 驗證服務,再做最小修復"]
      direction LR
      SERVICE{"目的 Process、TLS、Health check<br/>和 Host firewall 都正常嗎?"} -->|"否"| APP_FIX["交給服務 Owner 修復<br/>不要誤改網路放寬權限"]
      SERVICE -->|"是"| PLAN["整理 Trace、Log 和候選根因<br/>Plan/Review 最小變更"]
      PLAN --> RETEST["套用後重跑同一測試<br/>監控副作用並保留回滾"]
  end
先固定五元組與時間,再沿 DNS、路由、防火牆、中介設備和目的服務查。每一步都要有證據;找不到網路阻斷點時,不要用更寬的 Allow rule 掩蓋應用問題。

實作重點

  • 保存 Connectivity Test Trace 和發生時間,不只截一張 Overall result
  • Flow Logs 先確認 Sampling、Aggregation、Metadata 和 Log scope,再解讀「沒有記錄」
  • Firewall 變更使用 Policy/Rule 的完整 Diff,檢查 Priority、Target、Direction 和 IPv4/IPv6
  • VPN/Interconnect 同時看 Tunnel/Attachment、Cloud Router、BGP Session、Advertised/Learned routes 和地端狀態
  • Gemini 產生的 gcloud 或 Terraform 先在 Test Project/Plan 驗證,不直接貼到 Production Shell
  • 修復後使用原本五元組重測,再加一組不該被允許的負向測試,確認沒有過度放寬

Lab 指引

Lab 連結:Gemini for Network Engineers — Google Skills

依課程頁,這門課有兩段影片、一個測驗和一個 Lab「Creating a VPC Network with Gemini」,Lab 說明寫的是在兩個網路之間設定 VPC Network Peering,再驗證兩台 VM 的私有通訊。驗證連線前先寫五元組和預期路徑,再看 Gemini;做完後可以自己延伸,對同一條路徑跑一次 Connectivity Tests,另外找一個目的服務健康或 DNS 的反例,練習分辨「設定可達」和「應用真的可用」。

延伸學習

Study Jam:Gemini 專業應用 — 第 4 篇/共 7 篇 查看系列全覽 →

讀完後,留一個學習紀錄

試著用自己的話說出一個重點,以及你會如何運用。實作文章請先核對結果與清理資源,再標記為讀完。

文章進度以你確認讀完的標記為準,可隨時取消。舊版造訪紀錄保留,但不計入讀完;這份自評不代表已掌握內容。

留言討論

文章目錄與系列

徽章解鎖!