設定虛擬私有雲網路對等互連

您可以設定 Vertex AI 與虛擬私有雲 (VPC) 對等互連,直接連線至 Vertex AI 中的特定資源,包括:

本指南說明如何設定 VPC 網路對等互連,讓您的網路與 Vertex AI 資源對等互連。本指南適合熟悉網路概念的網路管理員。 Google Cloud

總覽

本指南涵蓋下列工作:

  • 為虛擬私有雲設定私人服務連線。這會在您的 VPC 與 Google 的共用 VPC 網路之間建立對等互連連線。
  • 請考慮要為 Vertex AI 預留的 IP 範圍。
  • 如適用,請匯出自訂路徑,以便 Vertex AI 匯入。

事前準備

  • 選取要與 Vertex AI 資源建立對等互連的 VPC。每個區域一次只能與一個網路對等互連。
  • 選取或建立要用於 Vertex AI 的 Google Cloud 專案。
  • Verify that billing is enabled for your Google Cloud project.

  • Enable the Compute Engine API, Vertex AI API, and Service Networking APIs.

    Enable the APIs

  • 您也可以視需要使用共用虛擬私有雲。如果您使用共用虛擬私有雲,通常會在與虛擬私有雲主專案不同的專案中使用 Vertex AI。Google Cloud在兩個專案中啟用 Compute Engine API 和 Service Networking API。瞭解如何佈建共用虛擬私有雲
  • 如要執行本指南中的 gcloud 範例,請安裝 gcloud CLI

必要的角色

如果您不是專案擁有者或編輯者,請確認您是否具備 Compute Network Admin 角色 (roles/compute.networkAdmin),因為這個角色包含管理網路資源所需的角色。

與內部部署網路建立對等互連

如要與內部部署網路建立虛擬私有雲網路對等互連,請完成下列額外步驟:

  1. 將地端部署網路連線至虛擬私有雲。您可以使用 VPN 通道Interconnect
  2. 從虛擬私有雲到內部部署網路設定自訂路徑
  3. 匯出自訂路徑,供 Vertex AI 匯入。

為虛擬私有雲設定私人服務存取權

設定私人服務存取權時,您會在網路與 Google 或第三方服務 (服務生產端) 擁有的網路之間建立私人連線。在本例中,Vertex AI 是服務生產者。如要設定私人服務存取權,請為服務供應商保留 IP 範圍,然後與 Vertex AI 建立對等互連連線。

如果您已設定私人服務存取權的虛擬私有雲,請繼續匯出自訂路徑

  1. 為專案 ID、保留範圍名稱和網路名稱設定環境變數。如果您使用共用 VPC,請使用 VPC 主專案的專案 ID。否則,請使用您用於 Vertex AI 的專案 ID。 Google Cloud
  2. 啟用必要的 API。如果您使用共用虛擬私有雲,請參閱「搭配 Vertex AI 使用共用虛擬私有雲」。
  3. 使用 gcloud compute addresses create 設定保留範圍。
  4. 使用 gcloud services vpc-peerings connect,在虛擬私有雲主專案與 Google 的 Service Networking 之間建立對等互連連線。

    如果是私有推論端點,建議為子網路保留至少 /21 區塊,用於模型代管。如果保留的區塊較小,IP 位址不足可能會導致部署錯誤。

    PROJECT_ID=YOUR_PROJECT_ID
    gcloud config set project $PROJECT_ID
    
    # This is for display only; you can name the range anything.
    PEERING_RANGE_NAME=google-reserved-range
    
    NETWORK=YOUR_NETWORK_NAME
    
    # NOTE: `prefix-length=16` means a CIDR block with mask /16 will be
    # reserved for use by Google services, such as Vertex AI.
    gcloud compute addresses create $PEERING_RANGE_NAME \
      --global \
      --prefix-length=16 \
      --description="peering range for Google service" \
      --network=$NETWORK \
      --purpose=VPC_PEERING
    
    # Create the VPC connection.
    gcloud services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=$NETWORK \
      --ranges=$PEERING_RANGE_NAME \
      --project=$PROJECT_ID
    

進一步瞭解私人服務存取權

搭配使用共用虛擬私有雲與 Vertex AI

如果您在專案中使用共用 VPC,請參閱「佈建共用 VPC」一文,並務必完成下列步驟:

  1. 在主專案和服務專案中啟用 Compute Engine API 和 Service Networking API。必須為服務專案啟用 Vertex AI API。

  2. 在主專案中,於您的虛擬私有雲和 Google 服務之間建立虛擬私有雲網路對等互連連線。

  3. 建立 Vertex AI 時,您必須指定網路名稱,讓 Vertex AI 存取共用 VPC。

  4. 確認使用的服務或使用者帳戶具備「Compute 網路使用者」角色 (roles/compute.networkUser)。

為 Vertex AI 預留 IP 範圍

為服務生產端預留 IP 範圍後,Vertex AI 和其他服務就能使用該範圍。如果您使用相同範圍連線至多個服務供應商,請分配較大的範圍來容納這些供應商,以免 IP 位址用盡。

瞭解使用私人 IP 時,不同類型自訂訓練工作預留的預估 IP 範圍

如果使用下列參數啟動作業,作業會在與 VPC 和其他附加網路對等互連的 Google 管理網路中啟動:

--network = "projects/${host_project}/global/networks/${network}"

如果作業不需要存取網路,就不必進行這項宣告,因此可保留 IP 分配。

匯出自訂路徑

如果您使用自訂路徑,必須匯出這些路徑,Vertex AI 才能匯入。如未使用自訂路徑,請略過本節。

如要匯出自訂路徑,請更新虛擬私有雲中的對等互連連線。匯出自訂路徑會將虛擬私有雲網路中的所有符合資格的靜態和動態路徑 (例如內部部署網路的路徑) 傳送至服務供應商的網路 (本例為 Vertex AI)。這會建立必要的連線,並允許訓練作業將流量傳回您的內部部署網路。

請確認內部部署網路有返回 Vertex AI 分配 IP 位址範圍的路徑,以便將回應正確轉送回 Vertex AI。舉例來說,使用包含 Vertex AI IP 位址範圍的 Cloud Router 自訂路徑通告。

進一步瞭解與內部部署網路的私人連線

主控台

  1. 前往 Google Cloud 控制台的「VPC 網路對等互連」頁面。
    前往「VPC Network Peering」(VPC 網路對等互連) 頁面
  2. 選取要更新的對等互連連線。
  3. 按一下 [編輯]
  4. 選取「匯出自訂路徑」

gcloud

  1. 找出要更新的對等互連連線名稱。如果您有多個對等互連連線,請省略 --format 標記。

    gcloud services vpc-peerings list \
      --network=$NETWORK \
      --service=servicenetworking.googleapis.com \
      --project=$PROJECT_ID \
      --format "value(peering)"
    
  2. 更新對等互連連線,匯出自訂路徑。

    gcloud compute networks peerings update PEERING-NAME \
        --network=$NETWORK \
        --export-custom-routes \
        --project=$PROJECT_ID
    

查看對等互連連線的狀態

如要確認對等互連連線是否處於啟用狀態,可以使用下列指令列出連線:

gcloud compute networks peerings list --network $NETWORK

您應該會看到剛才建立的對等互連狀態為 ACTIVE。 進一步瞭解有效對等互連連線

疑難排解

本節列出設定虛擬私有雲網路對等互連與 Vertex AI 時的一些常見問題。

  • 將 Vertex AI 設定為使用共用虛擬私有雲網路時,請以下列方式指定網路 URI。

    "projects/YOUR_SHARED_VPC_HOST_PROJECT/global/networks/YOUR_SHARED_VPC_NETWORK"

  • 如果您指定 Vertex AI 使用共用虛擬私有雲網路,請確保服務專案中 Vertex AI 的任何使用者或服務帳戶參與者,在主專案中都已獲派 compute.networkUser 角色。

  • 請確認您已為網路連線的所有服務生產者 (包括 Vertex AI) 分配足夠的 IP 範圍。

  • 如果遇到 IP_SPACE_EXHAUSTEDRANGES_EXHAUSTEDPEERING_RANGE_EXHAUSTED 錯誤訊息,請務必增加網路中 servicenetworking 預留項目的可用 IP 位址數量。您可以新增範圍至現有的 VPC 網路對等互連設定,或是刪除部分 Vertex AI 資源,釋出已分配的 IP 位址。

  • 連線逾時:匯出自訂路徑後,來自 Vertex AI 的連線會透過您的網路傳送,以連線至其他網路中的端點。不過,這些端點可能不會透過您的網路將回覆傳回 Vertex AI。請務必在這些網路中新增靜態或動態路徑,以便將回程路徑導向 Vertex AI 分配的 IP 範圍。

  • 連線逾時 / 主機無法連線錯誤:由於系統不支援傳遞對等互連,即使啟用「匯出自訂路徑」,Vertex AI 的連線也無法連上直接與您網路對等互連的其他網路中的端點。請與網路管理員合作,確保沒有嘗試從一個直接對等互連網路直接將網路路由至另一個網路。如有需要,您可以將其中一個對等互連躍點替換為支援靜態或動態路徑的解決方案。

  • 無法連線至主機的 DNS 錯誤:如果 Vertex AI 工作需要在 VPC 中解析主機名稱,請確認您已完成與服務生產者共用私人 DNS 區域的設定。

  • 如果遇到 Unable to create an instance within a Shared VPC network 錯誤,請參閱「排解 Vertex AI Workbench 問題」。

  • 如果遇到 For the peered network $network_name, couldn't find a free blocks in allocated IP ranges. This is needed to create the cluster. 錯誤訊息,請務必增加服務可用的已分配範圍數量。您可以透過下列方式達成此目的:

    或者,您也可以考慮以私人服務存取權連線取代虛擬私有雲網路對等互連。

如需其他疑難排解資訊,請參閱 VPC 網路對等互連疑難排解指南

後續步驟