サービス境界内でユーザー管理のノートブック インスタンスを使用する
このページでは、VPC Service Controls を使用して、サービス境界内でマネージド ノートブック インスタンスを設定する方法について説明します。
始める前に
VPC Service Controls の概要をご覧ください。
マネージド ノートブック インスタンスを作成します。このインスタンスはまだサービス境界内にありません。
VPC ネットワークを作成するか、プロジェクトのデフォルトの VPC ネットワークを使用します。
サービス境界を作成して構成する
サービス境界を作成して構成するには、次の操作を行います。
VPC Service Controls を使用してサービス境界を作成します。このサービス境界によって、指定したサービスの Google 管理リソースが保護されます。サービス境界を作成するときに、次のことを行います。
サービス境界にプロジェクトを追加するときに、マネージド ノートブック インスタンスを含むプロジェクトを追加します。
サービス境界にサービスを追加する際に、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 やサービスとやり取りするコードを実行)
サービス境界内で Artifact Registry を使用する
サービス境界で Artifact Registry を使用する場合は、GKE 限定公開クラスタの制限付きアクセスを構成するをご覧ください。
共有 VPC を使用する
共有 VPC を使用する場合は、ホストとサービス プロジェクトをサービス境界に追加する必要があります。また、ホスト プロジェクトで Compute ネットワーク ユーザーのロール(roles/compute.networkUser
)をサービス プロジェクトの Notebooks サービス エージェントに付与する必要があります。詳細については、サービス境界の管理をご覧ください。
マネージド ノートブック インスタンスにアクセスする
Google Cloud コンソールで、[マネージド ノートブック] ページに移動します。
マネージド ノートブック インスタンス名の横にある [JupyterLab を開く] をクリックします。
マネージド ノートブック インスタンスの JupyterLab ユーザー インターフェースに初めてアクセスする場合は、データにアクセスしてマネージド ノートブック インスタンスを認証する権限を付与する必要があります。
[Authenticate your managed notebook] ダイアログで、ボタンをクリックして認証コードを取得します。
アカウントを選択して [許可] をクリックします。認証コードをコピーします。
[Authenticate your managed notebook] ダイアログに認証コードを貼り付け、[認証] をクリックします。
マネージド ノートブック インスタンスで JupyterLab が開きます。
制限事項
上り(内向き)ポリシーと下り(外向き)ポリシーの ID タイプ
サービス境界の上り(内向き)ポリシーまたは下り(外向き)ポリシーを指定する場合は、すべての Vertex AI Workbench オペレーションの ID タイプとして ANY_SERVICE_ACCOUNT
や ANY_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 エントリを構成するをご覧ください。
次のステップ
- VPC Service Controls の詳細を確認する。