このガイドでは、Vertex AI リソースの Private Service Connect インターフェースを設定する方法について説明します。
Vertex AI の次のようなリソースに Private Service Connect インターフェース接続を構成できます。
VPC ピアリング接続とは異なり、Private Service Connect インターフェース接続は推移的です。これにより、コンシューマー VPC ネットワークで必要な IP アドレスが少なくなります。これにより、 Google Cloud プロジェクトやオンプレミスで他の VPC ネットワークに柔軟に接続できます。
このガイドは、 Google Cloud ネットワーキングのコンセプトに精通しているネットワーク管理者を対象としています。
目標
このガイドでは、次のタスクについて説明します。
- コンシューマー VPC ネットワーク、サブネット、ネットワーク アタッチメントを構成します。
- Google Cloud ネットワーク ホスト プロジェクトにファイアウォール ルールを追加します。
- Private Service Connect インターフェースを使用するネットワーク アタッチメントを指定して、Vertex AI リソースを作成します。
始める前に
次の手順で Google Cloud プロジェクトを作成または選択し、Vertex AI と Private Service Connect で使用するように構成します。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
gcloud CLI を初期化した後に更新して、必要なコンポーネントをインストールします。
gcloud components update gcloud components install beta
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
gcloud CLI を初期化した後に更新して、必要なコンポーネントをインストールします。
gcloud components update gcloud components install beta
- プロジェクト オーナーではなく、プロジェクト IAM 管理者(
roles/resourcemanager.projectIamAdmin
)のロールがない場合は、ネットワーク リソースを管理するために必要なcompute.networkAttachments.update
、compute.networkAttachments.update
、compute.regionOperations.get
の権限を含む IAM ロール(Compute ネットワーク管理者(roles/compute.networkAdmin
)ロールなど)を付与するようオーナーに依頼してください。 - 必要なロールを AI Platform サービス エージェントに割り当てます。さまざまなシナリオで付与するロールの詳細については、このドキュメントの Vertex AI サービス エージェントが必要とするロールをご覧ください。
-
gcloud compute networks create NETWORK \ --subnet-mode=custom
NETWORK は、VPC ネットワークの名前に置き換えます。
-
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
次のように置き換えます。
- SUBNET_NAME: サブネットの名前。
PRIMARY_RANGE: 新しいサブネットのプライマリ IPv4 範囲(CIDR 表記)。
Vertex AI の IP 要件と制限事項は次のとおりです。
- Vertex AI は
/28
サブネットワークを推奨しています。 - ネットワーク アタッチメントのサブネットは、サブネット 100.64.0.0/10 と 240.0.0.0/4 を除く RFC 1918 アドレスと RFC 1918 以外のアドレスをサポートしています。
- Vertex AI は、指定されたネットワークからルーティング可能な RFC 1918 IP アドレス範囲にのみ接続できます。
Vertex AI は、プライベートで使用されるパブリック IP アドレスまたは次の RFC 1918 以外の範囲には到達できません。
100.64.0.0/10
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
詳細については、IPv4 サブネットの範囲をご覧ください。
- Vertex AI は
REGION: 新しいサブネットを作成する Google Cloud リージョン。
TCP ポート 22 で SSH アクセスを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create NETWORK-firewall1 \ --network NETWORK \ --allow tcp:22
TCP ポート 443 で HTTPS トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create NETWORK-firewall2 \ --network NETWORK \ --allow tcp:443
ICMP トラフィック(ping リクエストなど)を許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create NETWORK-firewall3 \ --network NETWORK \ --allow icmp
Vertex AI Training サービスまたは Vertex AI Agent Engine サービスを使用しているプロジェクトの AI Platform サービス エージェント アカウントに DNS
Peer(roles/dns.peer)
ロールを割り当てます。Vertex AI が使用する共有 VPC ネットワークを指定し、サービス プロジェクトにネットワーク アタッチメントを作成する場合は、Vertex AI を使用するサービス プロジェクトの AI Platform サービス エージェントに、VPC ホスト プロジェクトの DNSPeer(roles/dns.peer)
ロールを付与します。すべての ICMP、TCP、UDP トラフィックを許可するファイアウォール ルールを作成します(省略可)。
gcloud compute firewall-rules create NETWORK-firewall4 \ --network NETWORK --allow tcp:0-65535,udp:0-65535,icmp --source-ranges IP_RANGES
DNS 解決とトラフィック ルーティング用に限定公開 DNS ゾーンを設定します。限定公開 DNS ゾーンに DNS レコードを追加するには、リソース レコードセットを追加するをご覧ください。
- Ray on Vertex AI で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
- カスタム トレーニングで Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
- Vertex AI Pipelines で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
- Vertex AI Agent Engine で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する
VPC ネットワークとサブネットを設定する
既存のネットワークがない場合は、構成手順に沿って新しい VPC ネットワークを作成します。
ネットワーク アタッチメントを作成する
共有 VPC デプロイでは、ホスト プロジェクトでネットワーク アタッチメントに使用するサブネットを作成し、次にサービス プロジェクトで Private Service Connect ネットワーク アタッチメントを作成します。
次の例は、接続を自動的に受け入れるネットワーク アタッチメントを作成する方法を示しています。
gcloud compute network-attachments create NETWORK_ATTACHMENT_NAME \
--region=REGION \
--connection-preference=ACCEPT_AUTOMATIC \
--subnets=SUBNET_NAME
NETWORK_ATTACHMENT_NAME は、ネットワーク アタッチメントの名前に置き換えます。
ネットワーク アタッチメントがサービス プロジェクトとは異なるプロジェクトで作成されている場合は、Vertex AI API を呼び出すときにネットワーク アタッチメントの完全なパスを渡す必要があります。
Vertex AI サービス エージェントが必要とするロール
ネットワーク アタッチメントを作成するプロジェクトで、同じプロジェクトの Vertex AI サービス エージェントに compute.networkAdmin
ロールを付与します。このプロジェクトが Vertex AI を使用するサービス プロジェクトと異なる場合は、事前にこのプロジェクトで Vertex AI API を有効にする必要があります。
Vertex AI が使用する共有 VPC ネットワークを指定し、サービス プロジェクトにネットワーク アタッチメントを作成する場合は、Vertex AI を使用するサービス プロジェクトの Vertex AI サービス エージェントに、VPC ホスト プロジェクトの compute.networkUser
ロールを付与します。
ファイアウォール ルールを構成する
システムは、コンシューマー VPC に上り(内向き)ファイアウォール ルールを適用し、コンピューティング エンドポイントとオンプレミス エンドポイントから Private Service Connect インターフェースのネットワーク アタッチメントのサブネットと通信できるようにします。
ファイアウォール ルールの構成は任意です。ただし、次の例に示すように、一般的なファイアウォール ルールを設定することをおすすめします。
プライベート DNS ピアリングを設定する
PSC-I で構成された Vertex AI Training ジョブまたは Vertex AI Agent Engine エージェントが、顧客管理の Cloud DNS ゾーンで限定公開 DNS レコードを解決できるように、Vertex AI API には、Google 内部リソースとピアリングする DNS ドメインを指定するためのユーザー構成可能なメカニズムが用意されています。次の追加構成を行います。
トラブルシューティング
このセクションでは、Vertex AI で Private Service Connect を構成する際の一般的な問題について説明します。
共有 VPC で Vertex AI を構成する場合は、Vertex AI を使用するサービス プロジェクトにネットワーク アタッチメントを作成します。このアプローチでは、必要な権限と API が正しいプロジェクトで有効になっていることを確認することで、「Please make sure that the Vertex AI API is enabled for the project」などの特定のエラー メッセージを回避できます。