本文將概略說明如何搭配使用 PSC 介面和 Agent Runtime,並提供設定詳情。
總覽
代理會部署在 Google 代管的安全網路中,無法存取您的虛擬私有雲 (VPC) 網路。PSC 介面會建立通往網路的私人安全橋梁,因此建議您使用這項解決方案,與虛擬私有雲、地端部署和多雲端環境中的私人託管服務互動。
設定 PSC 介面時,Agent Runtime 會在 Google 擁有的租戶專案中佈建介面,也就是代理執行的位置。這個介面會直接連線至專案中的網路連結。代理與虛擬私有雲之間的所有流量都會在 Google 網路內安全傳輸,絕不會經過公開網際網路。
除了提供私人存取權,使用 VPC Service Controls 時,也必須透過 PSC 介面啟用網路連線能力。
代理能否存取公開網際網路,取決於專案的安全設定,特別是您是否使用 VPC Service Controls。
不使用 VPC Service Controls:如果只為代理設定 PSC 介面,代理的流量會轉送至虛擬私有雲。根據預設,虛擬私有雲不會為這類流量提供傳出至公開網際網路的路徑。如要為代理啟用網路連線能力,您必須在虛擬私有雲中明確設定輸出路徑。例如,您可以在虛擬私有雲中設定專屬 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/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 介面和共用虛擬私有雲
Private Service Connect 介面可與共用虛擬私有雲架構搭配使用,讓您在服務專案中建立 Agent Runtime,同時使用中央主機專案的網路。
如要讓服務專案使用主專案的網路,服務專案的 Agent Platform 服務代理,必須具備主專案的 Compute 網路使用者 (roles/compute.networkUser) 角色。
操作步驟如下:
在主專案中建立子網路。
在服務專案或主專案中建立網路連結。您可以在任何連結至 Shared VPC 的專案中建立網路連結,但建議將網路連結放在服務專案中,以簡化權限:
服務專案中的網路連結 (建議):將 Compute 網路管理員 (
roles/compute.networkAdmin) 角色授予服務專案的 Agent Platform 服務代理。服務代理必須具備這個角色,才能更新網路連結,接受來自 Google 內部專案的流量。如果不想使用 Compute 網路管理員角色,可以改為建立具備下列權限的自訂角色,並將該角色授予服務專案的 Agent Platform 服務代理:compute.networkAttachments.getcompute.networkAttachments.updatecompute.regionOperations.get
主專案中的網路連結:請完成下列步驟:
在主專案中啟用 Agent Platform API。詳情請參閱「設定 Private Service Connect 介面」。
如果主專案中沒有 Agent Platform 服務代理,請使用下列指令建立:
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 對接」。
限制
搭配使用 Private Service Connect 介面與 Agent Runtime 時,須遵守下列限制:
- 如要變更執行階段代理程式現有的 Private Service Connect 介面,必須重新建立資源。