Modificar reservas


Neste documento, explicamos como modificar uma reserva atual.

Modificar uma reserva é útil quando, por exemplo, sua capacidade precisa mudar ou você quer permitir ou impedir que projetos consumam uma reserva compartilhada. Se você quiser modificar uma reserva compartilhada, só poderá modificá-la usando o projeto de proprietário.

Para modificar uma reserva anexada a um compromisso, consulte Substituir reservas anexadas a compromissos.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Funções exigidas

Para receber as permissões necessárias para modificar reservas, peça ao administrador para conceder a você o papel do IAM de Administrador do Compute (roles/compute.admin) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para modificar reservas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para modificar reservas:

  • Para modificar a opção de exclusão automática em uma reserva ou os projetos do consumidor em uma reserva compartilhada: compute.reservations.update no projeto
  • Para modificar o número de VMs em uma reserva: compute.reservations.resize no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Modificar reservas

Com base nas propriedades que você quer modificar em uma reserva, use um dos seguintes métodos:

Se você quiser mudar alguma propriedade não mencionada nesta lista, consulte Alterar outras propriedades em uma reserva neste documento.

Modificar a exclusão automática de uma reserva

É possível modificar quando o Compute Engine exclui automaticamente uma reserva atual seguindo um destes procedimentos:

Para modificar a exclusão automática de uma reserva, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Reservas.

    Acessar "Reservas"

  2. Na guia Reservas sob demanda (padrão), na coluna Nome, clique no nome da reserva que você quer modificar.

    A página de detalhes da reserva será exibida.

  3. Na linha Horário da exclusão automática, clique em Editar o horário da exclusão automática.

  4. No painel Atualizar reserva, siga um destes procedimentos:

    • Para excluir a reserva em uma data e hora específicas, faça o seguinte:

      1. Se a opção de exclusão automática ainda não estiver ativada, clique no botão Ativar a exclusão automática para ativar a opção.

      2. No campo Horário da exclusão automática, insira uma data e hora em que o Compute Engine excluirá a reserva automaticamente.

    • Caso contrário, clique no botão de alternar Ativar exclusão automática para a posição desativada.

  5. Clique em Enviar.

    A modificação da reserva pode levar alguns segundos para ser concluída.

gcloud

Ao ativar a opção de exclusão automática em uma reserva, é possível especificar uma data e hora em que a reserva deve ser excluída ou um período após o qual ela deve ser excluída.

Para ativar a opção de exclusão automática ou alterar a data de exclusão da reserva, siga um destes procedimentos:

  • Para excluir a reserva em uma data e hora específicas, use o comando gcloud beta compute reservations update com a flag --delete-at-time.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-at-time=DELETE_AT_TIME \
        --zone=ZONE
    

    Substitua:

    • RESERVATION_NAME: o nome de uma reserva.

    • DELETE_AT_TIME: uma data e hora formatadas como um Carimbo de data/hora RFC 3339.

    • ZONE: a zona em que está localizada a VM.

  • Para excluir a reserva após uma duração específica, use o comando gcloud beta compute reservations update com a flag --delete-after-duration.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-after-duration=DELETE_AFTER_DURATION \
        --zone=ZONE
    

    Substitua:

    • RESERVATION_NAME: o nome de uma reserva.

    • DELETE_AFTER_DURATION: uma duração em dias, horas, minutos ou segundos antes da exclusão automática da reserva. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para 1 dia, 2 horas, 3 minutos e 4 segundos.

    • ZONE: a zona em que está localizada a VM.

Para desativar a opção de exclusão automática, use o comando gcloud beta compute reservations update com a flag --disable-auto-delete.

gcloud beta compute reservations update RESERVATION_NAME \
    --disable-auto-delete \
    --zone=ZONE

Substitua:

  • RESERVATION_NAME: o nome de uma reserva.

  • ZONE: a zona em que está localizada a VM.

REST

Ao ativar a opção de exclusão automática em uma reserva, é possível especificar uma data e hora em que a reserva deve ser excluída ou um período após o qual ela deve ser excluída.

Para ativar a opção de exclusão automática ou alterar a data de exclusão da reserva, siga um destes procedimentos:

  • Para excluir a reserva em uma data e hora específicas, faça uma solicitação PATCH para o método beta.reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths definido como deleteAtTime.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime
    
    {
      "name": "RESERVATION_NAME",
      "deleteAtTime": "DELETE_AT_TIME"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a reserva está.

    • ZONE: a zona em que está localizada a VM.

    • RESERVATION_NAME: o nome de uma reserva.

    • DELETE_AT_TIME: uma data e hora formatadas como um Carimbo de data/hora RFC 3339.

  • Para excluir a reserva após uma duração específica, faça uma solicitação PATCH para o método beta.reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths definido como deleteAfterDuration.seconds.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAfterDuration.seconds
    
    {
      "name": "RESERVATION_NAME",
      "deleteAfterDuration": {
        "seconds": "DELETE_AFTER_DURATION"
      }
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a reserva está.

    • ZONE: a zona em que está localizada a VM.

    • RESERVATION_NAME: o nome de uma reserva.

    • DELETE_AFTER_DURATION: uma duração em segundos antes da exclusão automática da reserva. Por exemplo, especifique 86400 para 86.400 segundos (1 dia).

Para desativar a opção de exclusão automática, faça uma solicitação PATCH para o método beta.reservations.update. Na solicitação, especifique o parâmetro de consulta paths=deleteAtTime&paths=deleteAfterDuration e omita o corpo da solicitação.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime&paths=deleteAfterDuration

Substitua:

  • PROJECT_ID: o ID do projeto em que a reserva está.

  • ZONE: a zona em que está localizada a VM.

  • RESERVATION_NAME: o nome de uma reserva.

Modificar os projetos do consumidor em uma reserva compartilhada

Só é possível permitir que projetos consumam uma reserva compartilhada se esses projetos estiverem na mesma organização do projeto do proprietário. Para saber como migrar um projeto para a organização do projeto proprietário, consulte Migrar projetos entre recursos da organização na documentação do Resource Manager.

Depois de modificar quais projetos de consumidor podem consumir uma reserva compartilhada, o consumo da reserva pode mudar. Por exemplo, qualquer projeto de consumidor removido deixa de consumir recursos da reserva. Além disso, se a reserva tiver sido configurada para ser consumida automaticamente por qualquer VM que corresponda às propriedades dela (o comportamento padrão), qualquer projeto de consumidor adicionado poderá começar a consumir os recursos dela. Para monitorar o consumo de uma reserva, confira como verificar o consumo de reservas.

Para modificar os projetos de consumidor que podem consumir uma reserva compartilhada, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Reservas.

    Acessar "Reservas"

  2. Na guia Reservas sob demanda (padrão), na coluna Nome, clique no nome da reserva que você quer descrever.

    A página de detalhes da reserva será exibida.

  3. Clique em Editar.

  4. Na seção Projetos selecionados, siga um destes procedimentos:

    • Para interromper o compartilhamento da reserva com um projeto de consumidor específico, clique em Excluir.

    • Para começar a compartilhar a reserva com um ou mais projetos específicos, faça o seguinte:

      1. Clique em Adicionar projetos.

      2. Marque a caixa de seleção de cada projeto na organização do projeto do proprietário com a qual você quer compartilhar a reserva.

      3. Clique em Selecionar.

  5. Para confirmar as mudanças, clique em Salvar.

    A modificação da reserva pode levar alguns segundos para ser concluída.

gcloud

Ao modificar os projetos de consumidor de uma reserva compartilhada, especifique uma lista separada por vírgulas de IDs de projetos que você quer permitir ou impedir que consumam a reserva compartilhada. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não especifique o projeto proprietário na lista. Por padrão, é permitido consumir a reserva compartilhada.

Para modificar os projetos de consumidor de uma reserva compartilhada, selecione um dos seguintes métodos:

  • Para permitir que um ou mais projetos consumam uma reserva compartilhada, use o comando gcloud compute reservations update com a flag --add-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --add-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Substitua:

    • RESERVATION_NAME: o nome de uma reserva compartilhada atual.

    • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas de IDs de projetos com os quais a reserva deve ser compartilhada. Por exemplo, especifique project-1,project-2.

    • ZONE: a zona em que a reserva compartilhada está.

  • Para impedir que um ou mais projetos consumam uma reserva compartilhada, use o comando gcloud compute reservations update com a flag --remove-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --remove-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Substitua:

    • RESERVATION_NAME: o nome de uma reserva compartilhada atual.

    • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas de IDs de projetos com os quais você quer parar de compartilhar a reserva. Por exemplo, especifique project-1,project-2.

    • ZONE: a zona em que a reserva compartilhada está.

  • Para substituir a lista de projetos que podem consumir uma reserva compartilhada, use o comando gcloud beta compute reservations update com a sinalização --share-with.

    gcloud beta compute reservations update RESERVATION_NAME \
        --share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Substitua:

    • RESERVATION_NAME: o nome de uma reserva compartilhada atual.

    • ZONE: a zona em que a reserva compartilhada está.

    • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas de IDs de projetos com os quais a reserva deve ser compartilhada. Por exemplo, especifique project-1,project-2.

REST

Ao modificar os projetos do consumidor de uma reserva compartilhada, é necessário especificar os IDs dos projetos que você quer permitir ou impedir de consumir a reserva compartilhada. Esses projetos precisam estar na mesma organização do projeto proprietário. Não especifique o projeto do proprietário. Por padrão, é permitido consumir a reserva compartilhada.

Para modificar os projetos de consumidor de uma reserva compartilhada, selecione um dos seguintes métodos:

  • Para permitir que um ou mais projetos consumam uma reserva compartilhada, faça uma solicitação PATCH para o método reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths=shareSettings.projectMap.PROJECT_ID para cada projeto com que você quer compartilhar a reserva.

    Por exemplo, para permitir que dois projetos consumam uma reserva compartilhada, faça a seguinte solicitação PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME",
      "shareSetting": {
        "projectMap": {
          "CONSUMER_PROJECT_ID_1": {
            "projectId": "CONSUMER_PROJECT_ID_1"
          },
          "CONSUMER_PROJECT_ID_2": {
            "projectId": "CONSUMER_PROJECT_ID_2"
          }
        }
      }
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto proprietário, que é usado para criar a reserva compartilhada.

    • ZONE: a zona em que a reserva compartilhada está.

    • RESERVATION_NAME: o nome de uma reserva compartilhada atual.

    • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs de dois projetos com os quais você quer compartilhar a reserva.

  • Para impedir que um ou mais projetos consumam uma reserva compartilhada, faça uma solicitação PATCH para o método reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths=shareSettings.projectMap.PROJECT_ID para cada projeto com que você quer parar de compartilhar a reserva. Além disso, omita o campo shareSetting do corpo da solicitação.

    Por exemplo, para impedir que dois projetos consumam uma reserva compartilhada, faça a seguinte solicitação PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME"
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto proprietário, que é usado para criar a reserva compartilhada.

    • ZONE: a zona em que a reserva compartilhada está.

    • RESERVATION_NAME: o nome de uma reserva compartilhada atual.

    • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs de dois projetos com os quais você quer parar de compartilhar a reserva.

Modificar o número de VMs reservadas em uma reserva

É possível modificar uma reserva atual para aumentar ou diminuir o número de VMs reservadas.

Antes de modificar o número de VMs reservadas em uma reserva, verifique se as seguintes condições são atendidas:

  • Se você quiser aumentar o número de VMs reservadas em uma reserva, verifique o seguinte:

    • É preciso que haja recursos suficientes na zona em que a reserva está localizada.

    • É preciso ter cota suficiente, ou seja, cota de CPU e cota de GPU, para os recursos adicionais que você está reservando. Para aumentar a cota, consulte Visualizar e gerenciar cotas na documentação de cotas do Cloud.

  • Se o tipo de consumo da reserva for específico e você quiser diminuir o número de VMs reservadas nela, verifique se o número de VMs que estão consumindo a reserva não excede o tamanho da reserva desejada. Para fazer isso, use os seguintes métodos:

Para modificar o número de VMs reservadas em uma reserva, selecione uma das opções a seguir:

Console

  1. No console do Google Cloud, acesse a página Reservas.

    Acessar "Reservas"

  2. Na guia Reservas sob demanda (padrão), na coluna Nome, clique no nome da reserva que você quer modificar.

    A página de detalhes da reserva será exibida.

  3. Clique em Editar.

  4. No campo Número de instâncias de VM, insira o número atualizado de VMs a serem reservadas.

  5. Para confirmar, clique em Salvar.

    A modificação da reserva pode levar alguns segundos para ser concluída.

gcloud

Para modificar o número de VMs reservadas em uma reserva, use o comando gcloud compute reservations update.

gcloud compute reservations update RESERVATION_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Substitua:

  • RESERVATION_NAME: o nome de um reserva atual.

  • NUMBER_OF_VMS: o número de VMs a serem reservadas.

  • ZONE: a zona em que está localizada a VM.

REST

Para modificar o número de VMs reservadas em uma reserva, faça uma solicitação POST para o método reservations.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/resize

{
  "specificSkuCount": "NUMBER_OF_VMS"
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a reserva está.

  • ZONE: a zona em que está localizada a VM.

  • RESERVATION_NAME: o nome de um reserva atual.

  • NUMBER_OF_VMS: o número de VMs a serem reservadas.

Modificar a política de compartilhamento de uma reserva

Ao modificar a política de compartilhamento de uma reserva de VMs de GPU, é possível permitir ou impedir que jobs de treinamento personalizado ou de previsão na Vertex AI consumam a reserva.

Se você quiser impedir que a Vertex AI consuma uma reserva, antes de modificar a reserva, verifique se não há jobs de treinamento ou de previsão consumindo a reserva. Caso contrário, você vai encontrar erros.

Para modificar a política de compartilhamento de uma reserva de VMs de GPU, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Reservas.

    Acessar "Reservas"

  2. Na guia Reservas sob demanda (padrão), na coluna Nome, clique no nome da reserva de VMs de GPU que você quer modificar.

    A página de detalhes da reserva será exibida.

  3. Na linha Compartilhar com outros serviços do Google Cloud, clique em Editar configurações de compartilhamento de serviços.

  4. No painel Compartilhamento de reservas, siga um destes procedimentos:

    • Para permitir que a Vertex AI consuma a reserva, selecione Compartilhar reserva.

    • Para impedir que a Vertex AI consuma a reserva, selecione Não compartilhar reserva.

  5. Clique em Salvar.

    A modificação da reserva pode levar alguns segundos para ser concluída.

gcloud

Para modificar a política de compartilhamento de uma reserva de VMs de GPU, use o comando gcloud beta compute reservations update com a flag --reservation-sharing-policy.

gcloud beta compute reservations update RESERVATION_NAME \
    --reservation-sharing-policy=SHARING_POLICY \
    --zone=ZONE

Substitua:

  • RESERVATION_NAME: o nome de uma reserva.

  • SHARING_POLICY: a política de compartilhamento da reserva. Especifique um dos seguintes valores:

    • Para permitir que a Vertex AI consuma a reserva: ALLOW_ALL

    • Para não permitir que a Vertex AI consuma a reserva: DISALLOW_ALL

  • ZONE: a zona em que está localizada a VM.

REST

Para modificar a política de compartilhamento de uma reserva de VMs de GPU, faça uma solicitação PATCH para o método beta.reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths definido como reservationSharingPolicy.serviceShareType.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=reservationSharingPolicy.serviceShareType

{
  "name": "RESERVATION_NAME",
  "reservationSharingPolicy": {
    "serviceShareType": "SHARING_POLICY"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a reserva está.

  • ZONE: a zona em que está localizada a VM.

  • RESERVATION_NAME: o nome de uma reserva.

  • SHARING_POLICY: a política de compartilhamento da reserva. Especifique um dos seguintes valores:

    • Para permitir que a Vertex AI consuma a reserva: ALLOW_ALL

    • Para não permitir que a Vertex AI consuma a reserva: DISALLOW_ALL

Mudar outras propriedades de uma reserva

Se você quiser modificar uma propriedade que não é mencionada na seção Modificar reservas crie uma reserva de substituição.

Para substituir uma reserva sem arriscar uma redução não intencional na sua capacidade reservada, faça o seguinte:

  1. Crie um novo projeto único ou uma reserva compartilhada com as propriedades atualizadas.

  2. Se você não precisar mais da reserva original, exclua-a.

Resolver problemas

Saiba como resolver problemas com atualizações de reserva.

A seguir