本文首先會說明如何擴大 Agent Platform 服務的觸及範圍,這些服務是透過私人服務連線部署。
接著會簡要討論將服務部署至 Private Service Connect 端點的動機,以防這更符合您的需求。
由於私人服務連線會在與您對等互連的代管網路中代管 Agent Platform 服務,請務必先熟悉「虛擬私有雲對等互連」一文的內容,再閱讀本文的其餘部分。
根據預設,對等互連設定只允許對等互連的 Agent Platform 網路連線至本機子網路中的端點。匯出自訂路徑後,生產端網路就能連線至您的網路有靜態或動態路徑的其他網路。
由於不支援遞移對等互連,即使啟用「匯出自訂路徑」,Agent Platform 的連線也無法連上直接與您網路對等互連的其他網路中的端點。在下圖所示範例中,封包可以遍歷對等互連連線 #1,但無法遍歷對等互連連線 #2。

如要讓 Agent Platform 連上使用者網路 #2,請將對等互連連線 #2 換成 VPN #2,如下圖所示。

在對等互連連線 1 中啟用自訂路徑,可讓來自 Agent Platform 網路的 IP 封包抵達使用者網路 2。
如要允許將使用者網路 #2 的回應封包轉送回 Agent Platform 網路,使用者網路 #2 的路由表也必須有回程路由。VPN 路由會透過 Cloud Router 上的邊界閘道通訊協定 (BGP) 交換,我們可以在使用者 #1 中自訂 BGP 設定,向其對等互連的使用者網路 #2 公告 Agent Platform 網路範圍 10.1.0.0/16 的路由。
請注意,您可以編輯 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 程式庫,pipeline 會嘗試在之前安裝,然後執行您可能已指定 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 位址集區,同時避免與 VPC 位址發生衝突。
- 即使初始設定正確,平行執行多個工作負載仍可能導致 RANGES_EXHAUSTED。
- 網路部署和疑難排解的複雜度:
- 由於不支援傳遞對等互連,您必須部署複雜的解決方法,才能在與虛擬私有雲網路對等互連的不同網路之間授予連線。
- 生產者環境中的路由表狀態並不明顯。由於您無法存取租戶專案,因此通常很難判斷 Agent Platform 工作負載實際可觸及的目標,必須經過大量測試才能確定。
另一種模式是將這些服務部署至 Private Service Connect 端點。
- 這項服務會耗用虛擬私有雲網路中的單一 IP 位址,讓您保留私人位址空間供自己使用。
- 由於 Agent Platform 服務 IP 位於您自己的網路中,因此建立及執行連線測試會比較簡單,可評估環境中其他位置與該 IP 的連線能力。