設定從 Agent Platform 連線至其他網路

本文首先概述如何擴大透過私人服務存取權部署的 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 較為簡單,可評估該服務與環境中其他位置之間的可連性。