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

Vertex AI Workbench インスタンスで VM リソースが必要なときに利用できるようにするには、Compute Engine の予約を使用します。予約を使用すると、Compute Engine ゾーンリソースのキャパシティを確実に確保できます。

制限事項と要件

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

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

  • Vertex AI Workbench インスタンスで Compute Engine 予約を使用する機能は限定公開プレビューです。アクセスをリクエストするには、アクセス リクエスト ページをご覧ください。

  • 確約利用割引は適用されません。

  • Vertex AI Workbench で予約を使用するには、Notebooks API を使用する必要があります。Google Cloud コンソールを使用して Vertex AI Workbench で予約を使用することはできません。

始める前に

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Compute Engine and Notebooks APIs.

    Enable the APIs

  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

必要なロール

Vertex AI Workbench インスタンスによる予約の使用に必要な権限がユーザー アカウントに付与されるように、プロジェクトで次の IAM ロールをユーザー アカウントに付与することを管理者へ依頼してください。

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

管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をユーザー アカウントに付与することもできます。

予約を作成する

  1. Compute Engine の予約を作成します。単一のプロジェクト予約にすることも、共有予約にすることもできます。詳細については、次のドキュメントをご覧ください。

    この予約に GPU アクセラレータを含めることができます。

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

新しい Vertex AI Workbench インスタンスを作成するときに、REST API を使用して予約を追加できます。

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

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

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 のインスタンスが含まれます。

予約を使用するには:

{
  "gce_setup": {
    "machine_type": "MACHINE_TYPE",
    "reservation_affinity": {
      "consume_reservation_type": "RESERVATION_ANY"
    }
  }
}

予約の使用を停止する

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

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

課金

予約済みの Compute Engine VM リソースは、Vertex AI Workbench インスタンスの実行中に Vertex AI Workbench によって課金されます。Vertex AI Workbench で VM リソースが使用されていない場合は、Compute Engine によって課金されます。

次のステップ