Vertex AI Workbench インスタンスで予約を使用する

このドキュメントでは、Compute Engine の予約を使用して、Vertex AI Workbench インスタンスの実行に必要な仮想マシン(VM)リソースを確実に用意する方法について説明します。

予約は Compute Engine の機能です。予約を使用すると、必要なときに同じハードウェア(メモリと vCPU)とオプションのリソース(GPU とローカル SSD ディスク)を使用して VM を作成するためのリソースを確保できます。

予約を作成するときに、Compute Engine は、指定されたゾーンでリクエストされた容量が使用可能であることを確認します。使用可能な場合、Compute Engine はリソースを予約し、予約を作成します。これにより、次の処理が行われます。

  • 予約済みリソースはすぐに使用でき、予約を削除するまで使用可能となります。

  • 予約済みリソースは、予約が削除されるまで、実行中の VM と同じオンデマンド料金(適用される割引を含む)で課金されます。予約を使用している間、予約済みリソースの料金がすでに請求されているため VM に重複するリソース料金は発生しません。詳細については、Compute Engine ゾーンリソースの予約をご覧ください。

制限事項と要件

Vertex AI Workbench インスタンスで予約を消費する場合は、Compute Engine 予約のすべての制限が適用されます。詳細については、予約の仕組みをご覧ください。

また、Vertex AI Workbench インスタンスで予約を使用する場合は、次の制限と要件が適用されます。

  • 予約は次のいずれかである必要があります。

    • Vertex AI Workbench インスタンスと同じプロジェクト。
    • Vertex AI Workbench インスタンスと同じプロジェクトと共有されます。
  • 予約を消費するには、予約の VM プロパティが Vertex AI Workbench インスタンスと完全に一致している必要があります。たとえば、予約で e2-standard-8 マシンタイプを指定した場合、Vertex AI Workbench インスタンスは e2-standard-8 マシンタイプも使用している場合にのみ、予約を消費できます。要件をご覧ください。

始める前に

  1. 予約に関する要件制限事項を確認します。
  2. 共有予約の割り当て要件制限事項を確認します。
  3. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Compute Engine and Notebooks APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Enable the Compute Engine and Notebooks APIs.

    Enable the APIs

  8. 必要なロール

    Vertex AI Workbench インスタンスで予約を使用するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

    予約を作成する

    Compute Engine の予約を作成します。単一のプロジェクト予約にすることも、共有予約にすることもできます。予約はオンデマンドまたは将来の予約にできます。詳細については、予約タイプを選択するをご覧ください。

    新しいインスタンスで予約を使用する

    予約を使用する Vertex AI Workbench インスタンスを作成するには、 Google Cloud コンソールまたは REST API を使用します。

    コンソール

    予約を使用する Vertex AI Workbench インスタンスを作成するには、次の操作を行います。

    1. Google Cloud コンソールで [インスタンス] ページに移動します。

      [インスタンス] に移動

    2. [新規作成] をクリックします。

    3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

    4. [インスタンスの作成] ダイアログの [マシンタイプ] セクションで、予約に一致するマシンタイプと GPU 構成を選択します。

    5. [CPU プラットフォームと GPU] の [予約] メニューで、使用する予約を選択します。

    6. [作成] をクリックします。

      Vertex AI Workbench がインスタンスを作成し、自動的に起動します。インスタンスを使用する準備が整うと、Vertex AI Workbench で [JupyterLab を開く] が有効になります。

    REST

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

    • PROJECT_ID: 実際のプロジェクト ID。
    • LOCATION: インスタンスが配置されているゾーン
    • INSTANCE_NAME: インスタンスの名前
    • MACHINE_TYPE: インスタンスのマシンタイプを変更します。
    • RESERVATION_TYPE: 予約のタイプ。RESERVATION_ANY または RESERVATION_SPECIFIC にする必要があります。
    • RESERVATION_NAME: RESERVATION_SPECIFIC タイプを使用する場合の予約の名前
      • 同じプロジェクト内の予約の場合は、予約 ID を使用できます。
      • 別のプロジェクトの予約の場合は、完全な予約パスを使用する必要があります。例: projects/PROJECT_ID/reservations/RESERVATION_NAME

    HTTP メソッドと URL:

    POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME

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

    {
      "gce_setup": {
        "machine_type": "MACHINE_TYPE",
        "reservation_affinity": {
          "consume_reservation_type": "RESERVATION_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": ["RESERVATION_NAME"]
        }
      }
    }
    

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

    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/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_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/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME" | Select-Object -Expand Content
    成功した場合、レスポンスの本文には Operation のインスタンスが含まれます。

    詳しくは、projects.locations.instances.create REST API のドキュメントをご覧ください。

    予約の使用を停止する

    予約の使用を停止するには、予約を削除します。

    他のリソースで予約を引き続き使用し、既存の Vertex AI Workbench インスタンスでは予約を使用しない場合は、インスタンスを削除する必要があります。

    課金

    Compute Engine 予約を使用すると、次の料金が発生します。

    • Compute Engine の料金で、適用される確約利用割引(CUD)を含む Compute Engine リソース。これらの料金には、SKU に goog-vertex-ai-product: workbench-instances というラベルが付いています。Compute Engine の料金をご覧ください。

    • インフラストラクチャの使用料に加えて、Vertex AI Workbench の管理手数料。Vertex AI Workbench の料金をご覧ください。

    トラブルシューティング

    Vertex AI Workbench インスタンスで予約の使用に関連するエラーを診断して解決する方法については、Vertex AI Workbench インスタンスのトラブルシューティングをご覧ください。

    次のステップ