搭配 Agent Runtime 使用 Private Service Connect 介面

Agent Runtime 支援 Private Service Connect 介面 (PSC 介面) 和 DNS 對等互連,可啟用私密安全的輸出流量。這樣一來,代理程式就能安全存取虛擬私有雲或地端部署網路中的資源。

本文說明如何透過 PSC 介面搭配 Agent Runtime 使用,並提供相關設定詳細資料。

總覽

您的代理程式會部署在安全的 Google 管理網路中,無法存取虛擬私有雲 (VPC) 網路。PSC 介面會建立私密安全的網路橋接器,因此建議您使用這項解決方案,與虛擬私有雲、地端部署和多雲端環境中私下代管的服務互動。

設定 PSC 介面時,Agent Runtime 會在 Google 擁有的租戶專案中佈建介面,您的代理程式會在該專案中執行。這個介面會直接連結至專案中的網路連結。代理程式與 VPC 之間的所有流量都會在 Google 網路中安全傳輸,絕不會經過公開網際網路。

除了提供私人存取權,使用 VPC Service Controls 時,也必須透過 PSC 介面啟用網際網路存取權。

代理程式能否存取公開網際網路,取決於專案的安全設定,特別是您是否使用 VPC Service Controls。

  • 不使用 VPC Service Controls:如果只使用 PSC 介面設定代理程式,來自代理程式的流量會轉送至 VPC。根據預設,虛擬私有雲不會為這類流量提供通往公用網際網路的出站路徑。如要為代理啟用網際網路存取權,您必須在 VPC 中明確設定輸出路徑。舉例來說,您可以在虛擬私有雲中設定專屬的 Proxy VM。詳情請參閱「Agent Runtime PSC 介面程式碼研究室」。

  • 使用 VPC Service Controls:如果專案屬於 VPC Service Controls 範圍,範圍會封鎖代理程式的預設網際網路存取權,以防資料外洩。如要允許代理程式在此情境中存取公開網際網路,您必須明確設定安全輸出路徑,將流量透過虛擬私有雲傳送。建議您在虛擬私有雲 perimeter 內設定 Proxy 伺服器,並建立 Cloud NAT 閘道,允許 Proxy VM 存取網際網路。

Private Service Connect 介面的設定詳細資料

如要使用 Private Service Connect 介面,為已部署的代理程式啟用私人連線,您需要在使用者專案中設定虛擬私有雲網路、子網路和網路連結。

子網路 IP 範圍規定

Agent Runtime 必須為每個 Agent Engine 使用者專案提供至少 /28 子網路。

網路連結的子網路支援 RFC 1918 和非 RFC 1918 位址,但 100.64.0.0/20240.0.0.0/4 子網路除外。Agent Runtime 只能連線至可從指定網路路由傳輸的 RFC 1918 IP 位址範圍。Agent Runtime 無法連線至私用公開 IP 位址,或下列非 RFC 1918 範圍:

  • 100.64.0.0/20
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 240.0.0.0/4

詳情請參閱「設定 Private Service Connect 介面」。

搭配共用虛擬私有雲使用 Private Service Connect 介面

您可以搭配共用虛擬私有雲架構使用 Private Service Connect 介面,在服務專案中建立 Agent Runtime,同時使用中央主專案的網路。

如要讓服務專案使用主專案的網路,服務專案的 Agent Platform 服務代理人需要主專案的 Compute 網路使用者 (roles/compute.networkUser) 角色。

操作步驟如下:

  1. 在主專案中建立子網路

  2. 在服務專案或主專案中建立網路連結。您可以在連線至 Shared VPC 的任何專案中建立網路連結,但建議將網路連結放在服務專案中,以簡化權限:

    • 服務專案中的網路附件 (建議):將 Compute Network Admin (roles/compute.networkAdmin) 角色授予服務專案的 Agent Platform 服務代理人。服務代理必須具備這個角色,才能更新網路連結,接受來自 Google 內部專案的流量。如果不想使用 Compute 網路管理員角色,可以改為建立具有下列權限的自訂角色,並將該角色授予服務專案的 Agent Platform 服務代理程式:

      • compute.networkAttachments.get
      • compute.networkAttachments.update
      • compute.regionOperations.get

    • 主專案中的網路連結:完成下列步驟:

      1. 在主專案中啟用 Agent Platform API。詳情請參閱「設定 Private Service Connect 介面」。

      2. 如果主機專案中沒有 Agent Platform Service Agent,請使用下列指令建立:

        gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID
        

        其中,PROJECT_ID 是您的專案 ID。

      3. 將 Compute 網路管理員 (roles/compute.networkAdmin) 角色授予主專案的 Agent Platform 服務代理人。詳情請參閱「設定 Private Service Connect 介面」。如果不想使用 Compute Network Admin 角色,可以改為建立具有下列權限的自訂角色,然後將該角色授予主專案的 Agent Platform 服務代理程式:

        • compute.networkAttachments.get
        • compute.networkAttachments.update
        • compute.regionOperations.get

DNS 對接

Private Service Connect 介面提供安全的網路路徑,而 DNS 對等互連則提供服務探索機制。使用 PSC 介面時,您必須知道 VPC 網路中服務的特定 IP 位址。雖然您可以使用服務的內部 IP 位址連線,但我們不建議在 IP 可能變更的實際工作環境系統中這麼做。透過 DNS 對等互連,已部署的代理程式可以使用穩定且人類可讀的 DNS 名稱 (而非 IP 位址),連線至您的虛擬私有雲網路中的服務。透過 DNS 對接,已部署的代理程式可以使用 VPC 中 Cloud DNS 私人區域的記錄,解析 DNS 名稱。詳情請參閱「設定私人 DNS 對等互連」。

限制

使用 Agent Runtime 的 Private Service Connect 介面有下列限制:

  • 如要變更 Runtime 代理程式的現有 Private Service Connect 介面,必須重新建立資源。

後續步驟

指南

瞭解如何根據開發需求,在 Agent Platform Runtime 部署代理程式。