サービス境界内でインスタンスを使用する
このページでは、VPC Service Controls を使用してサービス境界内に Vertex AI Workbench インスタンスを設定する方法について説明します。
始める前に
VPC Service Controls の概要をご覧ください。
Vertex AI Workbench インスタンスを作成します。このインスタンスはまだサービス境界内にありません。
VPC Service Controls を使用してサービス境界を作成します。このサービス境界によって、指定したサービスの Google 管理リソースが保護されます。サービス境界を作成するときに、次のことを行います。
サービス境界にプロジェクトを追加するときに、Vertex AI Workbench インスタンスを含むプロジェクトを追加します。
サービス境界にサービスを追加する際に、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 コマンドを入力します。
-
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 ネットワークを含むプロジェクトの IDNETWORK_NAME
: 前に作成した VPC ネットワークの名前-
DNS_NAME
: ドメイン名の*.
より後の部分。末尾にピリオドが付きます。たとえば、*.notebooks.googleapis.com
のnotebooks.googleapis.com.
はDNS_NAME
です。
-
-
トランザクションを開始します。
gcloud dns record-sets transaction start --zone=ZONE_NAME
-
次の 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
-
追加した A レコードを指すように、次の DNS CNAME レコードを追加します。これにより、ドメインに一致するすべてのトラフィックが、前の手順で一覧表示された IP アドレスにリダイレクトされます。
gcloud dns record-sets transaction add \ --name=\*.DNS_NAME. \ --type=CNAME DNS_NAME. \ --zone=ZONE_NAME \ --ttl=300
-
トランザクションを実行します。
gcloud dns record-sets transaction execute --zone=ZONE_NAME
-
次の各ドメインについて、上記の手順を繰り返します。繰り返しごとに、ZONE_NAME と DNS_NAME はそのドメインの適切な値に変更します。PROJECT_ID と NETWORK_NAME は、毎回同じものを使用します。
*.notebooks.googleapis.com
については、これらの手順はすでに完了しています。*.notebooks.googleapis.com
*.notebooks.cloud.google.com
*.notebooks.googleusercontent.com
*.googleapis.com
(他の Google API やサービスとやり取りするコードを実行)
サービス境界を構成する
DNS レコードを構成した後、サービス境界を作成するか、既存の境界を更新して、プロジェクトをサービス境界に追加します。
VPC ネットワークで、ネクストホップが Default internet gateway
の 199.36.153.4/30
範囲のルートを追加します。
サービス境界内で Artifact Registry を使用する
サービス境界で Artifact Registry を使用する場合は、GKE 限定公開クラスタの制限付きアクセスを構成するをご覧ください。
共有 VPC を使用する
共有 VPC を使用する場合は、ホストとサービス プロジェクトをサービス境界に追加する必要があります。また、ホスト プロジェクトで Compute ネットワーク ユーザー(roles/compute.networkUser
)ロールをサービス プロジェクトの Notebooks サービス エージェントに付与する必要があります。詳細については、サービス境界を管理するをご覧ください。
Vertex AI Workbench インスタンスにアクセスする
新しいインスタンスで Jupyter ノートブックを開くには:
Google Cloud コンソールで、[インスタンス] ページに移動します。
インスタンス名の横にある [JupyterLab を開く] をクリックします。
JupyterLab で、[File] > [New] > [Notebook] の順に選択します。
[Select kernel] ダイアログでカーネルを選択し、[Select] をクリックします。
新しいノートブック ファイルが開きます。
制限事項
Vertex AI Workbench で VPC Service Controls を使用する場合、次の制限が適用されます。
上り(内向き)ポリシーと下り(外向き)ポリシーの ID タイプ
サービス境界の上り(内向き)ポリシーまたは下り(外向き)ポリシーを指定する場合は、すべての Vertex AI Workbench オペレーションの ID タイプとして ANY_SERVICE_ACCOUNT
や ANY_USER_ACCOUNT
を使用することはできません。
代わりに、ID タイプとして ANY_IDENTITY
を使用してください。
インターネットに接続していないワークステーションから Vertex AI Workbench プロキシにアクセスする
インターネット アクセスが制限されたワークステーションから Vertex AI Workbench インスタンスにアクセスするには、次のドメインにアクセスできることを 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 エントリを構成するをご覧ください。