Gemini Enterprise Agent Platform リソースの Private Service Connect インターフェースを設定する

このガイドでは、Gemini Enterprise Agent Platform リソースの Private Service Connect インターフェース を設定する方法について説明します。

Gemini Enterprise Agent Platform の次のようなリソースに Private Service Connect インターフェース接続を構成できます。

VPC ピアリング 接続とは異なり、Private Service Connect インターフェース接続は 推移的です。これにより、コンシューマー VPC ネットワークで必要な IP アドレスが少なくなります。これにより、 Google Cloud プロジェクトやオンプレミスで他の VPC ネットワークに柔軟に接続できます。

このガイドは、 Google Cloud ネットワーキングのコンセプトに精通しているネットワーク管理者を対象としています。

目標

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

  • コンシューマー VPC ネットワーク、サブネット、ネットワーク アタッチメントを構成します。
  • ネットワーク Google Cloud ホスト プロジェクトにファイアウォール ルールを追加します。
  • Private Service Connect インターフェースを使用するネットワーク アタッチメントを指定して、Agent Platform リソースを作成します。

始める前に

次の手順で Google Cloud プロジェクト を作成または選択し、Gemini Enterprise Agent Platform と Private Service Connect で使用するように構成します。

  1. アカウントに Google Cloud ログインします。 を初めて使用する場合は、 Google Cloud、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Gemini Enterprise Agent Platform, Compute Engine, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Google Cloud CLI をインストールします。

  6. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  7. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  8. gcloud CLI を初期化した後に更新して、必要なコンポーネントをインストールします。

    gcloud components update
    gcloud components install beta
  9. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  10. Verify that billing is enabled for your Google Cloud project.

  11. Enable the Gemini Enterprise Agent Platform, Compute Engine, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  12. Google Cloud CLI をインストールします。

  13. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  14. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  15. gcloud CLI を初期化した後に更新して、必要なコンポーネントをインストールします。

    gcloud components update
    gcloud components install beta
  16. プロジェクト オーナーではなく、 プロジェクト IAM 管理者(roles/resourcemanager.projectIamAdmin のロールがない場合は、ネットワーク リソースを管理するために必要な compute.networkAttachments.updatecompute.networkAttachments.update、 および compute.regionOperations.get の権限を含む IAM ロール( Compute ネットワーク管理者(roles/compute.networkAdmin)ロールなど)を付与するようオーナーに依頼してください。
  17. 必要なロールを AI Platform サービス エージェントに割り当てます。 さまざまなシナリオで付与するロールの詳細については、このドキュメントの Gemini Enterprise Agent Platform サービス エージェントが必要とするロール をご覧ください。

VPC ネットワークとサブネットを設定する

既存のネットワークがない場合は、構成手順に沿って新しい VPC ネットワークを作成します。

  1. VPC ネットワークを作成します。

    gcloud compute networks create NETWORK \
        --subnet-mode=custom
    

    NETWORK は、VPC ネットワークの名前に置き換えます。

  2. サブネットを作成します。

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK \
        --range=PRIMARY_RANGE \
        --region=REGION
    

    次のように置き換えます。

    • SUBNET_NAME: サブネットの名前。
    • PRIMARY_RANGE:新しい サブネットのプライマリ IPv4 範囲(CIDR 表記)。

      Agent Platform の IP 要件と制限事項は次のとおりです。

      • Agent Platform は /28 サブネットワークを推奨します。
      • ネットワーク アタッチメントのサブネットは、サブネット 100.64.0.0/20 と 240.0.0.0/4 を除く RFC 1918 アドレスと RFC 1918 以外のアドレスをサポートしています。
      • Agent Platform は、指定されたネットワークからルーティング可能な RFC 1918 IP アドレス範囲にのみ接続できます。
      • Agent Platform は、プライベートで使用されるパブリック IP アドレスまたは次の RFC 1918 以外の範囲には到達できません。

        • 100.64.0.0/20
        • 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 サブネットの範囲をご覧ください。

    • REGION: 新しいサブネットを作成する Google Cloud リージョン。

ネットワーク アタッチメントを作成する

共有 VPC デプロイでは、ホスト プロジェクトでネットワーク アタッチメントに使用するサブネットを作成してから、サービス プロジェクトで Private Service Connect ネットワーク アタッチメントを作成します。

次の例は、接続を自動で受け入れるネットワーク アタッチメントを作成する方法を示しています。

   gcloud compute network-attachments create NETWORK_ATTACHMENT_NAME \
       --region=REGION \
       --connection-preference=ACCEPT_AUTOMATIC \
       --subnets=SUBNET_NAME

NETWORK_ATTACHMENT_NAME は、ネットワーク アタッチメントの名前に置き換えます。

ネットワーク アタッチメントがサービス プロジェクトとは異なるプロジェクトで作成されている場合は、Gemini Enterprise を呼び出すときにネットワーク アタッチメントのフルパスを渡す必要があります。

Gemini Enterprise Agent Platform サービス エージェントが必要とするロール

The Gemini Enterprise Agent Platform サービス エージェント(AI Platform サービス エージェント)は、ネットワーク リソースを管理し、Private Service Connect(Private Service Connect)インターフェース接続を容易にするために、特定の IAM ロールを必要とします。

ネットワーク構成に応じて、次のロールをサービス エージェント(service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com)に付与します。

  1. Compute ネットワーク管理者(roles/compute.networkAdmin

    ネットワーク アタッチメントを作成するプロジェクトで、サービス エージェントに roles/compute.networkAdmin ロールを付与する必要があります。

  2. Compute ネットワーク ユーザー(roles/compute.networkUser

    共有 VPC を使用していて、サービス プロジェクトにネットワーク アタッチメントを作成する場合は、サービス エージェント(サービス プロジェクトに配置)に VPC ホスト プロジェクトの roles/compute.networkUser ロールを付与します。

  3. DNS ピア(roles/dns.peer

    Agent Platform Managed Training や Agent Runtime などのリソースがプライベート DNS レコードを解決できるようにするには、サービス エージェントに roles/dns.peer ロールを付与します。このロールは、サービスを使用しているプロジェクトで付与します。共有 VPC を使用する場合は、VPC ホスト プロジェクトのサービス エージェントに roles/dns.peer ロールも付与する必要があります。

ファイアウォール ルールを構成する

システムは、コンシューマー VPC上り(内向き)ファイアウォール ルールを適用し、コンピューティング エンドポイントとオンプレミス エンドポイントから Private Service Connect インターフェースのネットワーク アタッチメントのサブネットと 通信できるように します。

ファイアウォール ルールの構成は任意です。ただし、次の例に示すように、一般的なファイアウォール ルールを設定することをおすすめします。

  1. TCP ポート 22 で SSH アクセスを許可するファイアウォール ルールを作成します。

    gcloud compute firewall-rules create NETWORK-firewall1 \
        --network NETWORK \
        --allow tcp:22
    
  2. TCP ポート 443 で HTTPS トラフィックを許可するファイアウォール ルールを作成します。

    gcloud compute firewall-rules create NETWORK-firewall2 \
        --network NETWORK \
        --allow tcp:443
    
  3. ICMP トラフィック(ping リクエストなど)を許可するファイアウォール ルールを作成します。

    gcloud compute firewall-rules create NETWORK-firewall3 \
        --network NETWORK \
        --allow icmp
    

プライベート DNS ピアリングを設定する

Private Service Connect インターフェースで構成された Agent Platform Managed Training ジョブまたは Agent Runtime エージェントが、顧客管理の Cloud DNS ゾーンでプライベート DNS レコードを解決できるようにするには、リソースの構成またはデプロイ時にネットワーク アタッチメントを指定して、プライベート DNS ピアリングを作成します。

psc_interface_configdns_peering_configs フィールドでターゲット ネットワークとドメイン サフィックスを指定して、DNS ピアリングを構成できます。

  • dns_peering_configs: DNS ピアリング構成のリスト:
    • domain: 限定公開 Cloud DNS ゾーンの DNS 名。
    • target_project: VPC ネットワークをホストするプロジェクト。ネットワーク アタッチメントを作成したプロジェクトとは異なる場合があります。
    • target_network: DNS ピアリングが確立されるターゲット プロジェクトの VPC ネットワーク名。

たとえば、Python でリソースを作成する場合は、次のようにプライベート DNS ピアリングを構成できます。

psc_interface_config = {
    "network_attachment": "NETWORK_ATTACHMENT",
    "dns_peering_configs": [
        {
            "domain": "DOMAIN_SUFFIX",
            "target_project": "TARGET_PROJECT",
            "target_network": "TARGET_NETWORK",
        },
    ],
}

次のように置き換えます。

  • NETWORK_ATTACHMENT: ネットワーク アタッチメントの名前またはフルパス。例: projects/SERVICE_PROJECT/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_NAME。Agent Platform を使用するサービス プロジェクトとは異なるプロジェクトにネットワーク アタッチメントを作成する場合は、ネットワーク アタッチメントのフルパスを渡す必要があります。
  • DOMAIN_SUFFIX: 限定公開 Cloud DNS ゾーンの DNS 名(例: example.com.)。
  • TARGET_PROJECT: VPC ネットワークをホストするプロジェクト。ネットワーク アタッチメントを作成したプロジェクトとは異なる場合があります。
  • TARGET_NETWORK: DNS ピアリングが確立されるターゲット プロジェクトの VPC ネットワーク名。

トラブルシューティング

このセクションでは、Gemini Enterprise Agent Platform で Private Service Connect を構成する際の一般的な問題について説明します。

共有 VPC で Agent Platform を構成する場合は、Agent Platform を使用するサービス プロジェクトにネットワーク アタッチメントを作成します。 このアプローチは、次のような特定のエラー メッセージを防ぐのに役立ちます。

_Please make sure that the Agent Platform API is enabled for the
project_, by ensuring the
necessary permissions and APIs are enabled in the correct project.

次のステップ

  • Ray on Vertex AI で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
  • カスタム トレーニングで Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
  • Agent Platform Pipelines で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する。
  • Agent Runtime で Private Service Connect インターフェースの下り(外向き)接続を使用する方法を学習する