本文首先概述如何擴大透過私人服務存取權部署的 Agent Platform 服務範圍。
接著,我們會簡短討論將服務部署至 Private Service Connect 端點的動機,以便您判斷是否更符合需求。
私人服務存取權會在與您對接的代管網路中託管 Agent Platform 服務,因此請務必先熟悉「虛擬私有雲對接」中的內容,再閱讀本文其餘部分。
根據預設,對等互連設定只允許對等互連的 Agent Platform 網路連線至本機子網路中的端點。匯出自訂路由後,供應商網路就能連到您的網路具有靜態或動態路由的其他網路。
由於不支援傳遞對接,即使啟用「匯出自訂路徑」,Agent Platform 的連線也無法連至與您網路直接對接的其他網路端點。在下圖所示的範例中,封包可以周遊對接連線 #1,但無法周遊對接連線 #2。

如要讓 Agent Platform 存取使用者網路 #2,請將對接連線 #2 替換為 VPN #2,如下圖所示。

在對接連線 #1 啟用自訂路由,即可讓來自代理平台網路的 IP 封包連至使用者網路 #2。
如要允許使用者網路 #2 的回應封包轉送回代理平台網路,使用者網路 #2 的轉送表也必須有傳回路徑。VPN 路由是透過 Cloud Router 上的邊界閘道通訊協定 (BGP) 交換,因此我們可以自訂使用者 1 的 BGP 設定,將代理平台網路範圍 10.1.0.0/16 的路由,advertise 給對等互連的使用者網路 2。
請注意,您可以編輯 VPN #1 BGP 設定的兩端,讓地端部署網路和 Agent Platform 網路學習彼此的路由。由於沒有嘗試從代理平台網路傳輸傳出路徑封包,也沒有透過與任何單一網路相關的「依序」對等互連連線傳輸回應封包,因此這些轉送嘗試都不會遭到明確封鎖。
設定從 Agent Platform 連線至網際網路
如果在啟動工作負載時未指定網路,工作負載會在 Google 代管的獨立供應商專案中執行。
如果指定網路,工作負載會在與用戶專案對接的供應商專案中執行。
根據預設,Agent Platform 網路和供應商網路都有各自的網際網路預設路徑。
如要強制將供應商網路的傳出連線透過您的網路轉送,可以為對接啟用 VPC Service Controls。請注意,這與 VPC Service Controls 的設定不同。
為對等互連啟用 VPC Service Controls 後,Agent Platform 網路會發生下列變化:
- 刪除預設網際網路路徑。
- 為目的地
199.36.153.4/30建立路由,並將預設網際網路閘道設為下一個躍點。 - 為
*.googleapis.com建立 Cloud DNS 代管私人區域,並使用適當的記錄將主機名稱對應至這四個位址之一。 - 授權
servicenetworking虛擬私有雲網路使用該區域。
完成這項變更後,您就可以從網路匯出預設路由,確保連至網際網路的傳出連線會透過虛擬私有雲網路轉送。這項異動也讓您能對 Agent Platform 的傳出流量套用任何必要政策。
如要查詢對接的 VPC Service Controls 狀態,請執行下列指令:
gcloud services vpc-peerings get-vpc-service-controls \
--network YOUR_NETWORK
如果啟用設定,系統會傳回 enabled: true;如果停用設定,則會傳回空白清單 ({})。
使用 VPC Service Controls
如果為工作負載指定網路,並啟用 VPC Service Controls,工作負載會在與用戶專案對接的供應商網路中執行,並受制於與用戶網路相同的政策。
如果這些政策封鎖傳出流量,工作負載同樣無法連上網際網路。在這種情況下,您必須按照上一節的步驟,強制工作負載的傳出流量通過虛擬私有雲網路中的 NAT 執行個體。
使用 Proxy 設定 Agent Platform 的連線能力
另一種控管 Agent Platform 傳出 IP 的模式,是強制工作負載的傳出連線通過您控管的網路 Proxy。此外,您也可以檢查傳出連線是否符合法規。
不過,使用第三方 Proxy 會強制使用者管理 Proxy 的憑證,以處理驗證申訴。此外,這些 Proxy 可能不會提供與 Agent Platform SDK 和 API 預期相交的加密套件清單。
Google Cloud 現在提供Secure Web Proxy,可協助您採用這種模式。現在,您可以按照「部署 Secure Web Proxy 執行個體」快速入門指南操作,並調整工作負載,以便使用該執行個體傳出連線。這些連線看起來會像是從 Proxy 的來源 IP 位址發起。
如果元件映像檔尚未安裝 KFP 程式庫,管道會嘗試在執行任何可能指定 Proxy 的程式碼「之前」安裝該程式庫。
如果管道需要透過 Proxy 從網際網路安裝套件,這項嘗試就會失敗,您可能會看到類似下列的錯誤:
Could not find a version that satisfies the requirement kfp==2.7.0
在這種情況下,如果您無法在執行程式碼前安裝 KFP,就必須使用已安裝 KFP 的映像檔。
您可以將 KFP 新增至任何基礎映像檔,並推送至存放區。
下列 Dockerfile 範例會將 KFP 新增至 python:3.8 基本映像檔。
FROM python:3.8
RUN pip install kfp==2.7.0
接著,您可以設定管道 @component 來使用這個映像檔:
@component(base_image="$PATH_TO_YOUR_REPOSITORY:YOUR_IMAGE")
管道元件執行後,程式碼就能透過 Proxy 自由安裝其他套件。以下範例使用 https://10.10.10.10:443 的 Proxy 安裝 numpy。
import subprocess
subprocess.call(['pip', 'install', '--proxy', 'https://10.10.10.10:443', 'numpy'])`
設定 API 存取權許可清單
如要讓 Gemini Enterprise Agent Platform 工作負載與 Google API 進行交易,您必須允許工作負載存取 Google API 使用的 IP 範圍。為此,您可以執行提供的指令碼,傳回預設網域的 IP 位址。
透過 Private Service Connect 提供混合式連線
透過私人服務存取權部署 Agent Platform 服務時,有幾項限制。
- 您可能需要為每個工作負載預留大量私人 IP 位址,同時避免與虛擬私有雲定址衝突。
- 即使初始設定正確,平行執行多個工作負載仍可能導致 RANGES_EXHAUSTED。
- 網路部署和疑難排解的複雜度:
- 由於不支援傳遞對接,您必須部署複雜的解決方法,才能在與虛擬私有雲網路對接的不同網路之間授予連線能力。
- 生產者環境中的轉送資料表狀態不會立即顯示。由於您無法存取租戶專案,因此通常很難在不進行大量測試的情況下,判斷 Agent Platform 工作負載實際可觸及的目標。
另一種模式是將這些服務部署至 Private Service Connect 端點。
- 這項服務會使用虛擬私有雲網路中的單一 IP 位址,讓您保留私人位址空間供自己使用。
- 由於 Agent Platform 服務 IP 位於您自己的網路中,因此建立及執行 Connectivity Tests 較為簡單,可評估該服務與環境中其他位置之間的可連性。