本文說明如何透過 PSC 介面搭配 Agent Runtime 使用。
總覽
代理程式會部署在 Google 管理的安全網路中,無法存取虛擬私有雲 (VPC) 網路。PSC 介面會建立私密安全的網路橋接器,因此建議您使用這項解決方案,與虛擬私有雲、地端部署和多雲端環境中私下代管的服務互動。
設定 PSC 介面時,Agent Runtime 會在代理執行的 Google 擁有租戶專案中佈建介面。這個介面會直接連至專案中的網路連結。代理與虛擬私有雲之間的所有流量都會在 Google 網路中安全傳輸,絕不會經過公開網際網路。
除了提供私人存取權,使用 VPC Service Controls 時,也必須透過 PSC 介面啟用網路連線能力。
代理程式能否存取公用網際網路,取決於專案的安全設定,特別是您是否使用 VPC Service Controls。
不使用 VPC Service Controls:如果只使用 PSC 介面設定代理程式,來自代理程式的流量會轉送至 VPC。根據預設,虛擬私有雲不會為這類流量提供傳出至公開網際網路的路徑。如要為代理程式啟用網路連線能力,您必須在虛擬私有雲中明確設定輸出路徑。舉例來說,您可以在虛擬私有雲中設定專屬的 Proxy VM。詳情請參閱 Agent Runtime PSC 介面程式碼實驗室。
使用 VPC Service Controls:如果專案屬於 VPC Service Controls perimeter,perimeter 會封鎖代理程式的預設網路連線能力,防止資料遭竊。如要允許代理在這種情況下存取公開網際網路,您必須明確設定安全輸出路徑,透過虛擬私有雲轉送流量。建議您在虛擬私有雲 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/20 和 240.0.0.0/4 除外。Agent Runtime 只能連線至可從指定網路路由傳輸的 RFC 1918 IP 位址範圍。Agent Runtime 無法連線至私人使用的公開 IP 位址,或下列非 RFC 1918 範圍:
100.64.0.0/20192.0.0.0/24192.0.2.0/24198.18.0.0/15198.51.100.0/24203.0.113.0/24240.0.0.0/4
詳情請參閱「設定 Private Service Connect 介面」。
將 Private Service Connect 介面與 Shared VPC 搭配使用
您可以將 Private Service Connect 介面與共用虛擬私有雲架構搭配使用,在服務專案中建立 Agent Runtime,同時使用中央主機專案的網路。
如要讓服務專案使用主專案的網路,服務專案的 Agent Platform 服務代理需要主專案的 Compute 網路使用者 (roles/compute.networkUser) 角色。
操作步驟如下:
在主專案中建立子網路。
在服務專案或主專案中建立網路連結。您可以在任何連結至 Shared VPC 的專案中建立網路連結,但建議將網路連結放在服務專案中,以簡化權限:
服務專案中的網路連結 (建議):將 Compute 網路管理員 (
roles/compute.networkAdmin) 角色授予服務專案的 Agent Platform 服務代理。服務代理必須具備這個角色,才能更新網路連結,接受來自 Google 內部專案的流量。如不想使用 Compute Network Admin 角色,可以改為建立具有下列權限的自訂角色,並將該角色授予服務專案的 Agent Platform 服務代理:compute.networkAttachments.getcompute.networkAttachments.updatecompute.regionOperations.get
主專案中的網路連結:請完成下列步驟:
在主專案中啟用 Agent Platform API。詳情請參閱「設定 Private Service Connect 介面」。
如果主機專案中沒有 Agent Platform Service Agent,請使用下列指令建立:
gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID其中,PROJECT_ID 是您的專案 ID。
將 Compute 網路管理員 (
roles/compute.networkAdmin) 角色授予主專案的 Agent Platform 服務代理。詳情請參閱「設定 Private Service Connect 介面」。如果不想使用 Compute 網路管理員角色,可以改為建立具有下列權限的自訂角色,並將該角色授予主機專案的 Agent Platform 服務代理:compute.networkAttachments.getcompute.networkAttachments.updatecompute.regionOperations.get
DNS 對接
Private Service Connect 介面提供安全的網路路徑,而 DNS 對等互連則提供服務探索機制。使用 PSC 介面時,您必須知道虛擬私有雲網路中服務的特定 IP 位址。雖然您可以使用內部 IP 位址連線至服務,但對於 IP 可能會變更的正式環境系統,我們不建議這麼做。透過 DNS 對接,已部署的代理程式可以使用穩定且人類可讀的 DNS 名稱 (而非 IP 位址),連線至您的虛擬私有雲網路中的服務。DNS 對接可讓部署的代理,使用虛擬私有雲中 Cloud DNS 私人區域的記錄,解析 DNS 名稱。詳情請參閱「設定私人 DNS 對接」。
限制
具備 Agent 執行階段的 Private Service Connect 介面有下列限制:
- 如要變更 Runtime 代理程式的現有 Private Service Connect 介面,必須重新建立資源。