examlab .net 用最有效率的方法,考取最有價值的證照
本篇導覽 約 18 分鐘

Private Service Connect (PSC) 與專用 Google 存取通道

3,500 字 · 約 18 分鐘閱讀 ·

深入了解 Google Cloud 中的 Private Service Connect (PSC) 與專用 Google 存取通道 (Private Google Access)。學習如何安全地私下使用與發布服務,並為地端環境設定混合存取。

立即做 20 題練習 → 免費 · 不用註冊 · PSE

Google Cloud 中的私人存取

在「安全優先」的環境中,您應盡可能避免將流量路由至公共網際網路。Google Cloud 提供了多種「私人存取」技術,旨在將流量保留在 Google 的內部網路中。

對於 專業雲端安全工程師 (PSE) 而言,選擇使用 Private Service Connect (PSC) 還是 專用 Google 存取通道 (Private Google Access, PGA),取決於流量的來源以及所存取的服務類型。

白話文解釋

比喻一:PSC 端點就像旅館房間裡的內線電話分機

想像您的 VPC 是一間旅館,您想叫客房服務(某個 Google API 或合作夥伴的服務)。您不必撥外線(公共網際網路),旅館直接在房間牆上裝一支內線分機,把 x1234 透過旅館內部的 PBX 接到廚房。PSC endpoint 就是這支分機:一個本地子網路內的 IP(例如 10.0.1.50),悄悄把流量轉送到 storage.googleapis.com 或某個生產者的 Service Attachment,全程不會經過大廳。即使隔壁旅館也有 1234 號房,您的分機照樣能用,因為對應關係是本地的——這正是為什麼 PSC 能容忍 10.0.0.0/16 重疊範圍,而 VPC 對等互連卻無法。

比喻二:地端 PGA 就像走私人隧道的外交郵袋

您的地端機房是一間大使館,需要把檔案送到 Google 的金庫(GCS)。公共網際網路是城市的公開郵政;您改挖一條外交隧道(Cloud VPN 或 Interconnect),所有寄給 *.googleapis.com 的信封都蓋上特殊目的地戳章——受 VPC-SC 保護的走 restricted.googleapis.com 對應的 199.36.153.8/30,較寬鬆的 API 範圍則走 private.googleapis.com 對應的 199.36.153.4/30。您的地端 DNS 改寫地址標籤,BGP 把那個 /30 通告進隧道,Google 邊界只有看到流量是從您的私人路由進來才會接收。完全不經海關(公網)。

比喻三:Service Attachment 就像餐廳的外帶取餐窗口

生產者團隊把私有 SQL 服務放在一個 Internal Load Balancer 後面,他們在面向專屬 PSC NAT 子網路的牆上開了一個取餐窗口——也就是 Service Attachment。消費者(其他 VPC,甚至其他組織)只要在窗口外停一個 PSC endpoint 即可。生產者維護一份接受/拒絕清單(依專案 ID 或資料夾 ID),就像賓客名單;而 NAT 子網路把生產者的真實後端 IP 藏起來(廚房保持隱形)。這就是為什麼 PSC 可以跨組織擴展、不需要全網狀對等互連、也不會發生 IP 衝突——每個消費者只是帶著自己的內部 IP 走到窗口前。

透過 PSC 端點使用服務

Private Service Connect (PSC) 允許您使用自己 VPC 內的內部 IP 位址,存取 Google API 或由其他 VPC 發布的服務(例如第三方 SaaS)。

關鍵優勢:

  • 內部 IP: 您將服務對應到本地子網路的 IP 位址(例如 10.0.1.50)。
  • 無需對等互連 (Peering): 與 VPC 對等互連不同,PSC 不需要非重疊的 IP 範圍,也不會引入路由複雜性。
  • 安全範圍控管: 您可以像對待任何其他內部資源一樣,對 PSC 端點套用防火牆規則。

Private Service Connect (PSC) 是一項功能,允許您使用內部 IP 位址,跨 VPC 網路和組織私下存取服務。

為地端環境設定 PGA (混合雲)

專用 Google 存取通道 (PGA) 允許僅具備內部 IP 位址的 VM 或地端系統存取 Google API(如 GCS 或 BigQuery)。

兩種主要形式:

  1. VPC 版 PGA: 如果子網路啟用了「專用 Google 存取通道」,則該子網路中的 VM 可以存取 API。
  2. 地端版 PGA (混合雲): 地端主機透過 VPN 或專線 (Interconnect) 存取 Google API。這需要:
    • 199.36.153.8/30 (restricted.googleapis.com) 或 199.36.153.4/30 (private.googleapis.com) 路由至 Google。
    • 設定 DNS 覆蓋,將 *.googleapis.com 指向這些 IP。

當使用 VPC Service Controls 時,受限的 Google API (restricted.googleapis.com) 是首選端點,因為它僅支援可受服務周界保護的服務。

考試前請把以下四項背成肌肉記憶:

  • private.googleapis.com199.36.153.8/30——支援所有 Google API,強制 VPC-SC。
  • restricted.googleapis.com199.36.153.4/30——僅支援可被 VPC-SC 保護的 API,流量保留在服務周界內。
  • Google API 版的 PSC 使用消費者自選的內部 IP 並支援 global access;當您需要在每個服務上做防火牆層級的控管時,它會取代舊有的 /30 VIP。
  • 地端 PGA 同時需要兩件事:透過 Cloud VPN 或 Interconnect 用 BGP 通告 那個 /30設定 DNS 覆蓋(Cloud DNS 轉送區域或地端解析器),把 *.googleapis.com 指向該範圍。

口訣:「restricted 結尾是 4,private 結尾是 8」——限制較嚴的選項,最後一個 octet 數字較小。

透過 PSC 發布內部服務

您也可以使用 PSC 安全地將自己的服務提供給其他團隊或組織。

  1. 服務連接 (Service Attachment): 在生產者 (Producer) VPC 中建立,指向內部負載平衡器 (ILB)。
  2. 使用者端點 (Consumer Endpoint): 在使用者 (Consumer) VPC 中建立,指向服務連接。
  3. PSC 介面: 一項較新的功能,允許生產者直接將網路介面插入使用者的 VPC 中。

生產者 VPC 必須預留一個專屬的 PSC NAT 子網路purpose=PRIVATE_SERVICE_CONNECT)——Service Attachment 會把進來的消費者流量先 SNAT 成這個子網路裡的 IP,再轉送到 Internal Load Balancer。這正是讓生產者能藏起後端 IP、並接受 VPC CIDR 與自己重疊的消費者連線的關鍵。NAT 子網路大小必須依照同時連線數量規劃;NAT IP 耗盡時連線會悄悄被丟掉,看起來會很像防火牆問題,但其實不是。

使用 IAM 與防火牆保護 PSC 連線

安全性是在 PSC 連線的兩端同時套用的。

  • 使用者端: 使用 VPC 防火牆規則來控制哪些 VM 可以與 PSC 端點 IP 通訊。
  • 生產者端: 使用 PSC 接受/拒絕清單(基於專案 ID 或資料夾 ID)來控制誰可以連線到您的服務。
  • IAM: 需要 compute.serviceAttachments.getcompute.endpoints.create 權限。

私人服務存取的 DNS 設定

為了讓 PSC 和 PGA 順暢運作,DNS 必須將服務名稱(如 storage.googleapis.com)解析為私人 IP 位址。

  • Cloud DNS 私人區域:googleapis.com 建立一個區域,並加入 CNAME/A 記錄。
  • Service Directory: 自動管理 PSC 服務的 DNS 和元數據,方便進行服務探索。

Google API 的 PSC(組合 vs. 單一)

  • 組合式 (Bundled): 一個 PSC 端點對應到所有支援的 Google API。
  • 單一式 (Single): 為僅一項服務建立特定的 PSC 端點(例如僅針對 BigQuery)。這允許更嚴格的防火牆控制。

當您需要在網路層對高度敏感的服務執行嚴格的「需求知悉 (Need to Know)」存取控管時,請使用單一 API PSC 端點

監控 PSC 流量

PSC 流量在 VPC 流程記錄 (VPC Flow Logs) 中是可見的。

  • 尋找 PSC 端點的內部 IP。
  • 流程記錄將顯示位元組數和封包數,幫助您稽核使用情況並偵測異常。

共享 VPC 與 PSC 的整合

在共享 VPC 中,PSC 端點通常建立在服務專案 (Service Project) 中,但使用來自主機專案 (Host Project) 子網路的 IP 位址。

  • 服務專案管理員需要在主機子網路上擁有 compute.networkUser 角色。

PSC 與 VPC 對等互連的比較

功能 VPC 對等互連 (VPC Peering) Private Service Connect (PSC)
IP 重疊 不允許 允許 (PSC 對應至本地 IP)
傳遞性 是 (透過端點)
管理 需要雙方協議 生產者/使用者分離
路由 複雜 (全網狀) 簡單 (針對特定 IP)

在大型組織中,VPC 對等互連可能導致「IP 耗盡」和路由迴圈。PSC 是目前跨 VPC 邊界連接服務的首選現代化方法。

PSE 考試情境

情境 1:地端存取 GCS

「地端應用程式需要將日誌上傳到 GCS 儲存桶,且不使用公共網際網路。該公司使用的是專用連線 (Dedicated Interconnect)。應該如何設定?」 解答: 啟用地端主機的專用 Google 存取通道。設定地端 DNS 將 storage.googleapis.com 解析為 restricted.googleapis.com IP 範圍 (199.36.153.8/30)。透過 BGP 在專線上通報此範圍。

情境 2:連接 IP 重疊的 VPC

「A 公司收購了 B 公司。兩者都使用 10.0.0.0/16 範圍。A 公司需要存取 B 公司 VPC 中的特定 SQL 資料庫。最佳解決方案是什麼?」 解答: 使用 Private Service Connect。在 B 公司中,為該 SQL 資料庫建立一個內部負載平衡器以及一個服務連接。在 A 公司中,使用本地 IP 建立一個 PSC 端點

總結檢查表

  • 區分 PSC 與 PGA 的不同之處。
  • 解釋 restricted.googleapis.com 的作用。
  • 列出透過 PSC 發布服務的步驟。
  • 理解 DNS 如何實現私人存取。
  • 比較跨 VPC 連線時 PSC 與 VPC 對等互連的優劣。

官方資料來源

更多 PSE 主題