ネットワークを設定する

このページでは、Vertex AI Workbench マネージド ノートブック インスタンスのネットワーク オプションと、ネットワークの設定方法について説明します。

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

概要

このガイドでは、次のネットワーク オプションの構成方法について説明します。

デフォルトでは、マネージド ノートブック インスタンスは Google が管理するネットワークを使用します。必要に応じて、プロジェクト内の Virtual Private Cloud ネットワークや、アクセス可能な共有 VPC ネットワークを指定することもできます。VPC または共有 VPC ネットワークを指定する場合、ネットワークにはプライベート サービス アクセス接続が必要です。

サポートされている機能の比較

次の表に、各ネットワーキング オプションでサポートされる共通機能を示します。

機能 Google が管理するネットワーク インスタンスのプロジェクト内の VPC ネットワーク 共有 VPC ネットワーク
外部 IP サポート対象 サポート対象 サポート対象
内部 IP サポート対象 サポート対象 サポート対象
限定公開の Google アクセス 非対応 サポート対象 サポート対象
VPC サポート対象 サポート対象 サポート対象
VPC ネットワーク ピアリング(サービス ネットワーキングが必要) 非対応 サポート対象 サポート対象

Google が管理するデフォルトのネットワークを使用する

デフォルトのネットワークは Google によって管理されます。追加設定を構成する必要はありません。

Google が管理するデフォルトのネットワークを使用するマネージド ノートブック インスタンスを作成すると、そのインスタンスはテナント プロジェクトにデプロイされ、デフォルトの VPC とサブネットを使用します。

Python パッケージや Conda パッケージなど、追加リソースをダウンロードするには、Google 管理のデフォルト ネットワークを使用するマネージド ノートブック インスタンスに外部 IP アドレスが必要です。

同じプロジェクト内の VPC ネットワークにインスタンスを接続する

マネージド ノートブック インスタンスと同じプロジェクト内の VPC ネットワークにマネージド ノートブック インスタンスを接続するには、次の手順を行います。

このオプションでは、プライベート サービス アクセスを構成する必要があります。

始める前に

  1. マネージド ノートブック インスタンスを配置する Google Cloud プロジェクトを作成または選択します。

    プロジェクト セレクタに移動

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine, Notebooks, and Service Networking APIs.

    Enable the APIs

  4. このガイドの gcloud コマンドラインのサンプルを実行するには、gcloud CLI をインストールする必要があります。

VPC のプライベート サービス アクセスを設定する

プライベート サービス アクセスを設定すると、お客様のネットワークと、Google またはサードパーティのサービス(サービス プロデューサー)が所有するネットワークの間にプライベート接続が確立されます。この場合、マネージド ノートブック インスタンスはサービス プロデューサーです。プライベート サービス アクセスを設定するには、サービス プロデューサーの IP 範囲を予約してから、マネージド ノートブック インスタンスとのピアリング接続を作成します。

プロジェクト ID を構成する

プロジェクト ID を構成するには、次のコマンドを使用します。

gcloud config set project PROJECT_ID
PROJECT_ID は、マネージド ノートブック インスタンスを配置する Google Cloud プロジェクトのプロジェクト ID に置き換えます。インスタンスは後で作成します。

API を有効にする

必要な API が有効になっていることを確認します。

VPC を作成または選択する

  1. マネージド ノートブックがサポートされているリージョンで、マネージド ノートブック インスタンスで使用する VPC を作成または選択します。

    プライベート サービス アクセスが構成された VPC がすでに存在し、その VPC を使用してマネージド ノートブック インスタンスをピアリングする場合は、マネージド ノートブック インスタンスを作成するに進んでください。

    新しい VPC を作成する必要がある場合は、次の gcloud CLI コマンドを実行します。

    gcloud compute networks create VPC_NAME \
        --project=PROJECT_ID --subnet-mode=auto \
        --mtu=1460 --bgp-routing-mode=regional
    
    gcloud compute firewall-rules create VPC_NAME-allow-icmp \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ ICMP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=icmp
    
    gcloud compute firewall-rules create VPC_NAME-allow-internal \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ connections\ from\ any\ source\ in\ the\ network\ IP\ range\ to\ any\ instance\ on\ the\ network\ using\ all\ protocols. \
        --direction=INGRESS --priority=65534 --source-ranges=10.128.0.0/9 \
        --action=ALLOW --rules=all
    
    gcloud compute firewall-rules create VPC_NAME-allow-rdp \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ RDP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 3389. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=tcp:3389
    
    gcloud compute firewall-rules create VPC_NAME-allow-ssh \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ TCP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 22. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=tcp:22

    VPC_NAME は、VPC の名前に置き換えます。

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 やサービスとやり取りするコードを実行)

マネージド ノートブック インスタンスの IP 範囲を予約する

サービス プロデューサーの IP 範囲を予約すると、その範囲をマネージド ノートブック インスタンスやその他のサービスで使用できるようになります。同じ範囲を使用して他のサービス プロデューサーと接続する予定がある場合は、IP が不足しないように、より大きな範囲を割り振ります。

gcloud compute addresses create を使用して予約済みの範囲を設定するには、次のコマンドを使用します。

gcloud compute addresses create PEERING_RANGE_NAME \
    --global \
    --prefix-length=16 \
    --description="Managed notebooks range" \
    --network=NETWORK_NAME  \
    --purpose=VPC_PEERING

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

  • PEERING_RANGE_NAME: 範囲の名前
  • NETWORK_NAME: ネットワークの名前

prefix-length 値が 16 の場合、サブネット マスクが /16 の CIDR ブロックは、Vertex AI Workbench マネージド ノートブックなどの Google Cloud サービスで使用するために予約されます。

無効なサービス ネットワーク構成を回避するため、/24 以下のサブネット マスクを使用してください。

次のコマンドを使用して、アドレスを確認します。

gcloud compute addresses list

ピアリング接続を確立する

gcloud services vpc-peerings connect を使用して、VPC ホスト プロジェクトと Google のサービス ネットワーキングの間にピアリング接続を確立します。

gcloud services vpc-peerings connect \
    --service=servicenetworking.googleapis.com \
    --network=NETWORK_NAME \
    --ranges=PEERING_RANGE_NAME \
    --project=PROJECT_ID

ピアリングを一覧表示するには、次のコマンドを使用します。

gcloud services vpc-peerings list --network=NETWORK_NAME

マネージド ノートブック インスタンスを作成する

リクエストのデータを使用する前に、次のように置き換えます。

  • USER_ACCOUNT: メールアドレス形式のユーザー アカウント。
  • MACHINE_TYPE: マシンタイプ(例: n1-standard-1)。
  • PROJECT_ID: マネージド ノートブック インスタンスのプロジェクト ID。
  • NETWORK_NAME: VPC ネットワーク名。
  • LOCATION: VPC ネットワークのリージョン。
  • NOTEBOOK_NAME: マネージド ノートブック インスタンスの名前。
  • SUBNET_NAME: VPC ネットワークのサブネット名。
  • PEERING_RANGE_NAME: 省略可。ピアリング範囲を指定する場合は、名前を指定します。

HTTP メソッドと URL:

POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME

リクエストの本文(JSON):

{
  "access_config": {
    "access_type": "SINGLE_USER",
    "runtime_owner": "USER_ACCOUNT"
  },
  "virtual_machine": {
    "virtual_machine_config": {
      "machine_type": "MACHINE_TYPE",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "subnet":  "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_NAME",
      "internal_ip_only": true,
      "reserved_ip_range": "PEERING_RANGE_NAME" # Optional
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME" | Select-Object -Expand Content
 

接続を確認する

マネージド ノートブック インスタンスが VPC ネットワークに接続されていることを確認するには、次の手順を行います。

  1. Google Cloud コンソールで、[VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] に移動

  2. [VPC ネットワーク ピアリング] ページで接続を探します。

カスタムルートをエクスポートする

カスタムルートを使用する場合は、Vertex AI Workbench マネージド ノートブックでインポートできるように、カスタムルートをエクスポートする必要があります。

カスタムルートをエクスポートするには、VPC でピアリング接続を更新します。カスタムルートをエクスポートすると、VPC ネットワーク内のすべての有効な静的ルートと動的ルート(オンプレミス ネットワークへのルートなど)がサービス プロデューサーのネットワーク(この場合はマネージド ノートブック)に送信されます。これにより、必要な接続が確立され、マネージド ノートブック インスタンスからオンプレミス ネットワークにトラフィックを戻すことが可能になります。

更新するピアリング接続の名前を一覧表示するには、次のコマンドを使用します。複数のピアリング接続がある場合は、--format フラグを省略します。

gcloud services vpc-peerings list \
    --network=NETWORK_NAME \
    --service=servicenetworking.googleapis.com \
    --project=PROJECT_ID \
    --format "value(peering)"

ピアリング接続を更新してカスタムルートをエクスポートするには、次のコマンドを使用します。

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK_NAME \
    --export-custom-routes \
    --project=PROJECT_ID

PEERING_NAME は、ピアリング接続の名前に置き換えます。

ピアリング接続の状態を確認する

ピアリング接続がアクティブかどうかを確認するには、次のコマンドを使用します。

gcloud compute networks peerings list --network NETWORK_NAME

作成したピアリング接続の状態が ACTIVE であることを確認します。詳しくは、アクティブなピアリング接続をご覧ください。

インスタンスを共有 VPC ネットワークに接続する

アクセス権のある共有 VPC ネットワークにマネージド ノートブック インスタンスに接続するには、次の手順を行います。

このオプションでは、プライベート サービス アクセスを構成する必要があります。

始める前に

  1. マネージド ノートブック インスタンスを配置する Google Cloud プロジェクトを作成または選択します。

    プロジェクト セレクタに移動

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine, Notebooks, and Service Networking APIs.

    Enable the APIs

  4. 共有 VPC を使用する場合、マネージド ノートブック インスタンスは VPC ホスト プロジェクトとは別の Google Cloud プロジェクトで実行されます。上記の手順を繰り返して、VPC ホスト プロジェクトで Compute Engine、Notebook、Service Networking API を有効にします。詳しくは、共有 VPC のプロビジョニングをご覧ください。

  5. このガイドの gcloud コマンドラインのサンプルを実行するには、gcloud CLI をインストールする必要があります。

VPC のプライベート サービス アクセスを設定する

プライベート サービス アクセスを設定すると、お客様のネットワークと、Google またはサードパーティのサービス(サービス プロデューサー)が所有するネットワークの間にプライベート接続が確立されます。この場合、マネージド ノートブック インスタンスはサービス プロデューサーです。プライベート サービス アクセスを設定するには、サービス プロデューサーの IP 範囲を予約してから、マネージド ノートブック インスタンスとのピアリング接続を作成します。

プロジェクト ID を構成する

プロジェクト ID を構成するには、次のコマンドを使用します。

gcloud config set project PROJECT_ID
PROJECT_ID は、VPC ホスト プロジェクトのプロジェクト ID に置き換えます。VPC をまだ作成していない場合は作成し、そのプロジェクト ID を使用します。

API を有効にする

VPC ホスト プロジェクトとマネージド ノートブック インスタンスが存在する Google Cloud プロジェクトの両方で必要な API が有効になっていることを確認します。

VPC を作成または選択する

  1. マネージド ノートブックがサポートされているリージョンで、マネージド ノートブック インスタンスで使用する VPC を作成または選択します。

    プライベート サービス アクセスが構成された VPC がすでに存在し、その VPC を使用してマネージド ノートブック インスタンスをピアリングする場合は、マネージド ノートブック インスタンスを作成するに進んでください。

    新しい VPC を作成する必要がある場合は、次の gcloud CLI コマンドを実行します。

    gcloud compute networks create VPC_NAME \
        --project=PROJECT_ID --subnet-mode=auto \
        --mtu=1460 --bgp-routing-mode=regional
    
    gcloud compute firewall-rules create VPC_NAME-allow-icmp \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ ICMP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=icmp
    
    gcloud compute firewall-rules create VPC_NAME-allow-internal \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ connections\ from\ any\ source\ in\ the\ network\ IP\ range\ to\ any\ instance\ on\ the\ network\ using\ all\ protocols. \
        --direction=INGRESS --priority=65534 --source-ranges=10.128.0.0/9 \
        --action=ALLOW --rules=all
    
    gcloud compute firewall-rules create VPC_NAME-allow-rdp \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ RDP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 3389. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=tcp:3389
    
    gcloud compute firewall-rules create VPC_NAME-allow-ssh \
        --project=PROJECT_ID \
        --network=projects/PROJECT_ID/global/networks/VPC_NAME \
        --description=Allows\ TCP\ connections\ from\ any\ source\ to\ any\ instance\ on\ the\ network\ using\ port\ 22. \
        --direction=INGRESS --priority=65534 --source-ranges=0.0.0.0/0 \
        --action=ALLOW --rules=tcp:22

    VPC_NAME は、VPC の名前に置き換えます。

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 やサービスとやり取りするコードを実行)

マネージド ノートブック インスタンスの IP 範囲を予約する

サービス プロデューサーの IP 範囲を予約すると、その範囲をマネージド ノートブック インスタンスやその他のサービスで使用できるようになります。同じ範囲を使用して他のサービス プロデューサーと接続する予定がある場合は、IP が不足しないように、より大きな範囲を割り振ります。

gcloud compute addresses create を使用して予約済みの範囲を設定するには、次のコマンドを使用します。

gcloud compute addresses create PEERING_RANGE_NAME \
    --global \
    --prefix-length=16 \
    --description="Managed notebooks range" \
    --network=NETWORK_NAME  \
    --purpose=VPC_PEERING

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

  • PEERING_RANGE_NAME: 範囲の名前
  • NETWORK_NAME: ネットワークの名前

prefix-length 値が 16 の場合、サブネット マスクが /16 の CIDR ブロックは、Vertex AI Workbench マネージド ノートブックなどの Google Cloud サービスで使用するために予約されます。

無効なサービス ネットワーク構成を回避するため、/24 以下のサブネット マスクを使用してください。

次のコマンドを使用して、アドレスを確認します。

gcloud compute addresses list

ピアリング接続を確立する

gcloud services vpc-peerings connect を使用して、VPC ホスト プロジェクトと Google のサービス ネットワーキングの間にピアリング接続を確立します。

gcloud services vpc-peerings connect \
    --service=servicenetworking.googleapis.com \
    --network=NETWORK_NAME \
    --ranges=PEERING_RANGE_NAME \
    --project=PROJECT_ID

ピアリングを一覧表示するには、次のコマンドを使用します。

gcloud services vpc-peerings list --network=NETWORK_NAME

マネージド ノートブック インスタンスを作成する

リクエストのデータを使用する前に、次のように置き換えます。

  • USER_ACCOUNT: メールアドレス形式のユーザー アカウント。
  • MACHINE_TYPE: マシンタイプ(例: n1-standard-1)。
  • PROJECT_ID: マネージド ノートブック インスタンスのプロジェクト ID。
  • NETWORK_NAME: VPC ネットワーク名。
  • LOCATION: VPC ネットワークのリージョン。
  • NOTEBOOK_NAME: マネージド ノートブック インスタンスの名前。
  • SUBNET_NAME: VPC ネットワークのサブネット名。
  • PEERING_RANGE_NAME: 省略可。ピアリング範囲を指定する場合は、名前を指定します。

HTTP メソッドと URL:

POST https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME

リクエストの本文(JSON):

{
  "access_config": {
    "access_type": "SINGLE_USER",
    "runtime_owner": "USER_ACCOUNT"
  },
  "virtual_machine": {
    "virtual_machine_config": {
      "machine_type": "MACHINE_TYPE",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
      "subnet":  "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET_NAME",
      "internal_ip_only": true,
      "reserved_ip_range": "PEERING_RANGE_NAME" # Optional
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/runtimes?runtimeId=NOTEBOOK_NAME" | Select-Object -Expand Content
 

接続を確認する

マネージド ノートブック インスタンスが共有 VPC ネットワークに接続していることを確認するには、次の手順を行います。

  1. Google Cloud コンソールで、[VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] に移動

  2. [VPC ネットワーク ピアリング] ページで接続を探します。

カスタムルートをエクスポートする

カスタムルートを使用する場合は、Vertex AI Workbench マネージド ノートブックでインポートできるように、カスタムルートをエクスポートする必要があります。

カスタムルートをエクスポートするには、VPC でピアリング接続を更新します。カスタムルートをエクスポートすると、VPC ネットワーク内のすべての有効な静的ルートと動的ルート(オンプレミス ネットワークへのルートなど)がサービス プロデューサーのネットワーク(この場合はマネージド ノートブック)に送信されます。これにより、必要な接続が確立され、マネージド ノートブック インスタンスからオンプレミス ネットワークにトラフィックを戻すことが可能になります。

更新するピアリング接続の名前を一覧表示するには、次のコマンドを使用します。複数のピアリング接続がある場合は、--format フラグを省略します。

gcloud services vpc-peerings list \
    --network=NETWORK_NAME \
    --service=servicenetworking.googleapis.com \
    --project=PROJECT_ID \
    --format "value(peering)"

ピアリング接続を更新してカスタムルートをエクスポートするには、次のコマンドを使用します。

gcloud compute networks peerings update PEERING_NAME \
    --network=NETWORK_NAME \
    --export-custom-routes \
    --project=PROJECT_ID

PEERING_NAME は、ピアリング接続の名前に置き換えます。

ピアリング接続の状態を確認する

ピアリング接続がアクティブかどうかを確認するには、次のコマンドを使用します。

gcloud compute networks peerings list --network NETWORK_NAME

作成したピアリング接続の状態が ACTIVE であることを確認します。詳しくは、アクティブなピアリング接続をご覧ください。

次のステップ