サービス境界内でユーザー管理のノートブックのインスタンスを使用する

このページでは、VPC Service Controls を使用して、サービス境界内でユーザー管理のノートブック インスタンスを設定する方法について説明します。

始める前に

  1. VPC Service Controls の概要をご覧ください。

  2. VPC Service Controls を使用してサービス境界を作成します。このサービス境界によって、指定したサービスの Google 管理リソースが保護されます。サービス境界を作成するときに、次のことを行います。

    1. サービス境界にプロジェクトを追加するときに、ユーザー管理のノートブック インスタンスを含むプロジェクトを追加します。

    2. サービス境界にサービスを追加する際に、Notebooks API を追加します。

    必要なプロジェクトやサービスを追加せずにサービス境界を作成した場合は、サービス境界の管理を参照して、サービス境界を更新する方法を確認してください。

Cloud DNS を使用して DNS エントリを構成する

Vertex AI Workbench ユーザー管理ノートブック インスタンスは、Virtual Private Cloud ネットワークがデフォルトで処理しない複数のドメインを使用します。それらのドメインに送信されたリクエストを VPC ネットワークが正しく処理するには、Cloud DNS を使用して、DNS レコードを追加します。VPC ルートの詳細については、ルートをご覧ください。

ドメインのマネージド ゾーンを作成するには、リクエストを転送する DNS エントリを追加して、トランザクションを実行します。手順は次のとおりです。*.notebooks.googleapis.com を使用してステージングするためにリクエストを処理する必要のある複数のドメインごとに、これらの手順を繰り返します。

Cloud Shell、または Google Cloud CLI がインストールされている環境で、次の Google Cloud CLI コマンドを入力します。

  1. VPC ネットワークで処理する必要があるいずれかのドメインの限定公開マネージド ゾーンを作成するには:

        gcloud dns managed-zones create ZONE_NAME \
            --visibility=private \
            --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
            --dns-name=DNS_NAME \
            --description="Description of your managed zone"
        

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

    • ZONE_NAME: 作成するゾーンの名前。ドメインごとに別のゾーンを使用する必要があります。このゾーン名は、以降の手順でも使用します。
    • PROJECT_ID: VPC ネットワークを含むプロジェクトの ID
    • NETWORK_NAME: 前に作成した VPC ネットワークの名前
    • DNS_NAME: ドメイン名の *. より後の部分。末尾にピリオドが付きます。たとえば、*.notebooks.googleapis.comnotebooks.googleapis.com.DNS_NAME です。
  2. トランザクションを開始します。

        gcloud dns record-sets transaction start --zone=ZONE_NAME
        
  3. 次の DNS A レコードを追加します。これにより、Google の制限された IP アドレスにトラフィックが再ルーティングされます。

        gcloud dns record-sets transaction add \
            --name=DNS_NAME. \
            --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
            --zone=ZONE_NAME \
            --ttl=300
        
  4. 追加した A レコードを指すように、次の DNS CNAME レコードを追加します。これにより、ドメインに一致するすべてのトラフィックが、前の手順で一覧表示された IP アドレスにリダイレクトされます。

        gcloud dns record-sets transaction add \
            --name=\*.DNS_NAME. \
            --type=CNAME DNS_NAME. \
            --zone=ZONE_NAME \
            --ttl=300
        
  5. トランザクションを実行します。

        gcloud dns record-sets transaction execute --zone=ZONE_NAME
        
  6. 次の各ドメインについて、上記の手順を繰り返します。繰り返しごとに、ZONE_NAMEDNS_NAME はそのドメインの適切な値に変更します。PROJECT_IDNETWORK_NAME は、毎回同じものを使用します。*.notebooks.googleapis.com については、これらの手順はすでに完了しています。

    • *.notebooks.googleapis.com
    • *.notebooks.cloud.google.com
    • *.notebooks.googleusercontent.com
    • *.googleapis.com(他の Google API やサービスとやり取りするコードを実行)

サービス境界を構成する

DNS レコードを構成した後、サービス境界を作成するか、既存の境界を更新して、プロジェクトをサービス境界に追加します。

VPC ネットワークで、ネクストホップが Default internet gateway199.36.153.4/30 範囲のルートを追加します。

サービス境界内で Artifact Registry を使用する

サービス境界で Artifact Registry を使用する場合は、GKE 限定公開クラスタの制限付きアクセスを構成するをご覧ください。

共有 VPC を使用する

共有 VPC を使用する場合は、ホストとサービス プロジェクトをサービス境界に追加する必要があります。また、ホスト プロジェクトで Compute ネットワーク ユーザーのロールroles/compute.networkUser)をサービス プロジェクトの Notebooks サービス エージェントに付与する必要があります。詳細については、サービス境界の管理をご覧ください。

制限事項

上り(内向き)ポリシーと下り(外向き)ポリシーの ID タイプ

サービス境界の上り(内向き)ポリシーまたは下り(外向き)ポリシーを指定する場合は、すべての Vertex AI Workbench オペレーションの ID タイプとして ANY_SERVICE_ACCOUNTANY_USER_ACCOUNT を使用することはできません。

代わりに、ID タイプとして ANY_IDENTITY を使用してください。

インターネットを経由せずにワークステーションからユーザー管理のノートブックのプロキシにアクセスする

インターネット アクセスが制限されたワークステーションからユーザー管理のノートブック インスタンスにアクセスするには、次のドメインにアクセスできることを IT 管理者に確認します。

  • *.accounts.google.com
  • *.accounts.youtube.com
  • *.googleusercontent.com
  • *.kernels.googleusercontent.com
  • *.gstatic.com
  • *.notebooks.cloud.google.com
  • *.notebooks.googleapis.com

Google Cloudへの認証には、これらのドメインへのアクセス権が必要です。詳細な構成情報については、前のセクションの Cloud DNS を使用して DNS エントリを構成するをご覧ください。

次のステップ