将预留与 Vertex AI Workbench 实例搭配使用

本文档介绍了如何使用 Compute Engine 预留来确保 Vertex AI Workbench 实例具有足够的虚拟机 (VM) 资源来运行。

预留是 Compute Engine 的一项功能。它们有助于确保您随时可以使用资源来创建具有相同硬件(内存和 vCPU)和可选资源(GPU 和本地 SSD 磁盘)的虚拟机。

当您创建预留时,Compute Engine 会验证指定可用区是否有可用的请求容量。如果有,Compute Engine 会预留资源并创建预留,然后会发生以下情况:

  • 预留的资源会立即可供您使用,并且会一直可用,直到您删除预留为止。

  • 系统会按照与运行中虚拟机相同的按需费率(包括任何适用的折扣)对预留的资源收费,直到您删除预留为止。使用预留时,虚拟机不会产生重复的资源费用,因为系统已针对预留资源的费用收取预留的费用。如需了解详情,请参阅 Compute Engine 可用区级资源的预留

限制和要求

当 Vertex AI Workbench 实例使用预留时,需要遵循 Compute Engine 预留的所有限制。请参阅预留的工作原理

此外,将预留与 Vertex AI Workbench 实例搭配使用时,存在以下限制和要求:

  • 您的预订必须符合以下条件之一:

    • 与 Vertex AI Workbench 实例位于同一项目中。
    • 与 Vertex AI Workbench 实例共享同一项目。
  • 预留的虚拟机属性必须与 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 预留。它可以是单项目预留,也可以是共享预留。如需了解详情,请参阅以下文档:

    预留可以包含 GPU 加速器。

    将预留用于新实例

    您可以使用 REST API 在创建新的 Vertex AI Workbench 实例时添加预留。

    在使用任何请求数据之前,请先进行以下替换:

    • PROJECT_ID:您的项目 ID
    • LOCATION:实例所在的可用区
    • INSTANCE_NAME:实例的名称
    • MACHINE_TYPE:更改实例的机器类型
    • RESERVATION_TYPE:预留类型;必须是 RESERVATION_ANYRESERVATION_SPECIFIC
    • RESERVATION_NAME:使用 RESERVATION_SPECIFIC 类型时,该项是预留的名称
      • 对于同一项目中的预留,您可以使用预留 ID。
      • 对于不同项目中的预留,您必须使用完整的预留路径。

    HTTP 方法和网址:

    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 实例。

    停止使用预留

    如需停止使用预留,您可以删除预留

    如果您希望继续将您的预留用于其他资源,但不希望现有的 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 实例问题

    后续步骤