VPC ネットワーク ピアリングを設定する

Virtual Private Cloud(VPC)とピアリングするように Vertex AI を構成すると、Vertex AI の特定のリソースに直接接続できます。たとえば、次のものに接続できます。

このガイドでは、お使いのネットワークを Vertex AI リソースとピアリングするように VPC ネットワーク ピアリングを設定する方法について説明します。このガイドは、Google Cloud のネットワーキングのコンセプトに精通しているネットワーク管理者を対象としています。

概要

このガイドでは、次のタスクについて説明します。

  • VPC のプライベート サービス アクセスを構成する。これにより、VPC と Google の共有 VPC ネットワークの間にピアリング接続が確立されます。
  • Vertex AI 用に予約が必要な IP 範囲を検討してください。
  • 必要に応じて、Vertex AI でインポートできるようにカスタムルートをエクスポートします。

始める前に

  • Vertex AI リソースとピアリングする VPC を選択します。Vertex AI は、リージョンごとに一度に 1 つのネットワークとのみピアリングできます。
  • Vertex AI に使用する Google Cloud プロジェクトを選択または作成します。
  • Make sure that billing is enabled for your Google Cloud project.

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

    Enable the APIs

  • 必要に応じて、共有 VPCを使用できます。共有 VPC を使用する場合、通常は Vertex AI を VPC ホスト プロジェクトとは別の Google Cloud プロジェクトで使用します。両方のプロジェクトで Compute Engine API と Service Networking API を有効にします。共有 VPC のプロビジョニング方法を学習します。
  • このガイドの gcloud のサンプルを実行する場合は、gcloud CLI をインストールします。

必要なロール

プロジェクト オーナーまたは編集者でない場合は、ネットワーク リソースを管理するために必要なロールが含まれる Compute ネットワーク管理者のロールroles/compute.networkAdmin)が必要です。

オンプレミス ネットワークとのピアリング

オンプレミス ネットワークとの VPC ネットワーク ピアリングの場合、追加の手順があります。

  1. オンプレミス ネットワークを VPC に接続します。VPN トンネルまたは Interconnect を使用できます。
  2. VPC からオンプレミス ネットワークへのカスタムルートを設定します。
  3. カスタムルートをエクスポートして、Vertex AI でインポートできるようにします。

VPC のプライベート サービス アクセスを設定する

プライベート サービス アクセスを設定すると、お客様のネットワークと、Google またはサードパーティのサービス(サービス プロデューサー)が所有するネットワークの間にプライベート接続が確立されます。この場合、Vertex AI がサービス プロデューサーです。プライベート サービス アクセスを設定するには、サービス プロデューサーの IP 範囲を予約して、Vertex AI とのピアリング接続を作成します。

プライベート サービス アクセスが構成された VPC がすでにある場合は、カスタムルートのエクスポートに進みます。

  1. プロジェクト ID、予約済み範囲の名前、ネットワーク名の環境変数を設定します。共有 VPC を使用する場合は、VPC ホスト プロジェクトのプロジェクト ID を使用します。それ以外の場合は、Vertex AI に使用する Google Cloud プロジェクトのプロジェクト ID を使用します。
  2. 必要な API を有効にします。共有 VPC を使用する場合は、Vertex AI で共有 VPC を使用するをご覧ください。
  3. gcloud compute addresses create を使用して予約済みの範囲を設定します。
  4. gcloud services vpc-peerings connect を使用して、VPC ホストプロジェクトと Google のサービス ネットワーキングの間にピアリング接続を確立します。

    プライベート予測エンドポイントの場合、モデル ホスティング用にサブネットに少なくとも /21 ブロックを予約することをおすすめします。予約するブロックが小さいと、IP アドレスの不足が原因でデプロイエラーが発生する可能性があります。デプロイに RFC 1918 以外のアドレスを使用することもできます。

    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 を使用する場合は、共有 VPC をプロビジョニングする方法を参照し、必ず次の手順を完了してください。

  1. ホストとサービス プロジェクトで Compute Engine API と Service Networking API を有効にします。サービス プロジェクトで Vertex AI API を有効にする必要があります。

  2. ホスト プロジェクト内の VPC と Google サービスの間に VPC ネットワーク ピアリング接続を作成します。

  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 がインポートできるようカスタムルートをエクスポートする必要があります。カスタムルートを使用しない場合は、このセクションをスキップします。

カスタムルートをエクスポートするには、VPC でピアリング接続を更新します。カスタムルートをエクスポートすると、VPC ネットワーク内のすべての有効な静的ルートと動的ルート(オンプレミス ネットワークへのルートなど)がサービス プロデューサーのネットワーク(この場合は Vertex AI)に送信されます。これにより、必要な接続が確立され、トレーニング ジョブでオンプレミス ネットワークにトラフィックを戻すことが可能になります。

レスポンスが Vertex AI に正しく戻されるように、Vertex AI に割り当てられた IP アドレス範囲に戻るルートが、オンプレミス ネットワークにあることを確認します。たとえば、Vertex AI の IP アドレス範囲を含む Cloud Router のカスタムルート アドバタイズを使用します。

オンプレミス ネットワークとのプライベート接続について学習します。

コンソール

  1. Google Cloud コンソールの [VPC ネットワーク ピアリング] ページに移動します。
    [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 との VPC ネットワーク ピアリングの構成に関する一般的な問題について説明します。

  • 共有 VPC ネットワークを使用するように Vertex AI を構成する場合は、次のようにネットワーク URI を指定します。

    "projects/YOUR_SHARED_VPC_HOST_PROJECT/global/networks/YOUR_SHARED_VPC_NETWORK"

  • Vertex AI が使用する共有 VPC ネットワークを指定する場合は、サービス プロジェクトの 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 ゾーンをサービス プロデューサーと共有するための構成を完了していることを確認してください。

その他のトラブルシューティング情報については、VPC ネットワーク ピアリングのトラブルシューティング ガイドをご覧ください。

次のステップ