Use reservas com instâncias do Vertex AI Workbench

Este documento explica como usar as reservas do Compute Engine para ter um elevado nível de garantia de que as suas instâncias do Vertex AI Workbench têm recursos de máquinas virtuais (VMs) suficientes para serem executadas.

As reservas são uma funcionalidade do Compute Engine. Ajudam a garantir que tem os recursos disponíveis para criar VMs com o mesmo hardware (memória e vCPUs) e recursos opcionais (GPUs e discos SSD locais) sempre que precisar deles.

Quando cria uma reserva, o Compute Engine verifica se a capacidade pedida está disponível na zona especificada. Se for o caso, o Compute Engine reserva os recursos, cria a reserva e acontece o seguinte:

  • Os recursos reservados ficam imediatamente disponíveis para utilização e permanecem disponíveis até eliminar a reserva.

  • Os recursos reservados são cobrados à mesma taxa a pedido que as VMs em execução, incluindo todos os descontos aplicáveis, até que a reserva seja eliminada. Ao consumir uma reserva, uma VM não incorre em cobranças duplicadas pelos recursos, uma vez que a reserva já é faturada pelo custo dos recursos reservados. Para saber mais, consulte o artigo Reservas de recursos zonais do Compute Engine.

Limitações e requisitos

Todas as limitações das reservas do Compute Engine aplicam-se quando as instâncias do Vertex AI Workbench consomem reservas. Veja como funcionam as reservas.

Além disso, quando usar reservas com instâncias do Vertex AI Workbench, aplicam-se as seguintes limitações e requisitos:

  • A sua reserva tem de ser uma das seguintes:

    • No mesmo projeto que a sua instância do Vertex AI Workbench.
    • Partilhada com o mesmo projeto que a sua instância do Vertex AI Workbench.
  • As propriedades da VM de uma reserva têm de corresponder exatamente à sua instância do Vertex AI Workbench para consumir a reserva. Por exemplo, se uma reserva especificar um tipo de máquina e2-standard-8, a instância do Vertex AI Workbench só pode consumir a reserva se também usar um tipo de máquina e2-standard-8. Veja os requisitos.

Antes de começar

  1. Reveja os requisitos e as restrições para reservas.
  2. Reveja os requisitos de quota e as restrições para reservas partilhadas.
  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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Compute Engine and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Enable the Compute Engine and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Funções necessárias

    Para receber as autorizações de que precisa para usar reservas com instâncias do Vertex AI Workbench, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Crie uma reserva

    Crie uma reserva do Compute Engine. Pode ser uma reserva de projeto único ou uma reserva partilhada. A reserva pode ser a pedido ou uma reserva futura. Para mais informações, consulte Escolha um tipo de reserva.

    Use uma reserva com uma nova instância

    Para criar uma instância do Vertex AI Workbench que consuma uma reserva, pode usar a Google Cloud consola ou a API REST.

    Consola

    Para criar uma instância do Vertex AI Workbench que consuma uma reserva, faça o seguinte:

    1. Na Google Cloud consola, aceda à página Instâncias.

      Aceda a Instâncias

    2. Clique em  Criar novo.

    3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

    4. Na caixa de diálogo Criar instância, na secção Tipo de máquina, selecione o tipo de máquina e a configuração da GPU que correspondem à sua reserva.

    5. Em Plataforma de CPU e GPU, no menu Reservas, selecione a reserva a consumir.

    6. Clique em Criar.

      O Vertex AI Workbench cria uma instância e inicia-a automaticamente. Quando a instância estiver pronta para utilização, o Vertex AI Workbench ativa um link Abrir JupyterLab.

    REST

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • PROJECT_ID: o ID do seu projeto
    • LOCATION: a zona onde a sua instância está localizada
    • INSTANCE_NAME: o nome da sua instância
    • MACHINE_TYPE: o tipo de máquina da sua instância
    • RESERVATION_TYPE: o tipo de reserva; tem de ser RESERVATION_ANY ou RESERVATION_SPECIFIC
    • RESERVATION_NAME: o nome da sua reserva quando usa o tipo RESERVATION_SPECIFIC
      • Para reservas no mesmo projeto, pode usar o ID da reserva.
      • Para reservas num projeto diferente, tem de usar o caminho de reserva completo. Por exemplo: projects/PROJECT_ID/reservations/RESERVATION_NAME.

    Método HTTP e URL:

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

    Corpo JSON do pedido:

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

    Para enviar o seu pedido, escolha uma destas opções:

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    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

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $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
    Se for bem-sucedido, o corpo da resposta contém uma instância de Operation.

    Para mais informações, consulte a projects.locations.instances.create documentação da API REST.

    Deixe de usar a sua reserva

    Para deixar de usar a sua reserva, pode eliminá-la.

    Se quiser continuar a usar a sua reserva com outros recursos, mas não quiser que a sua instância do Vertex AI Workbench existente a use, tem de eliminar a instância.

    Faturação

    Quando consome uma reserva do Compute Engine, a faturação é feita com base no seguinte:

    • Os recursos do Compute Engine, incluindo quaisquer descontos de fidelidade (DFs) aplicáveis, ao preço do Compute Engine. Estes encargos têm a etiqueta goog-vertex-ai-product: workbench-instances no SKU. Consulte os preços do Compute Engine.

    • Taxas de gestão do Vertex AI Workbench, além da sua utilização de infraestrutura. Consulte os preços do Vertex AI Workbench.

    Resolver problemas

    Para encontrar métodos de diagnóstico e resolução de erros relacionados com a utilização de reservas com instâncias do Vertex AI Workbench, consulte o artigo Resolução de problemas de instâncias do Vertex AI Workbench.

    O que se segue?