Modificar reservas


Neste documento, explicamos como modificar reservas. Para modificar reservas anexadas a compromissos, consulte Substituir reservas anexadas a compromissos.

Modifique uma reserva quando, por exemplo, sua capacidade precisar mudar ou você quiser mudar quais cargas de trabalho podem consumir uma reserva.

Limitações

Antes de modificar uma reserva, considere o seguinte:

  • Só é possível modificar uma reserva compartilhada no mesmo projeto em que ela foi criada.

  • Só é possível modificar uma reserva criada automaticamente para uma reserva futura após o término do período de reserva.

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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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 a fim de 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, os projetos do consumidor em uma reserva compartilhada ou se os jobs da Vertex AI podem consumir uma reserva de instâncias com GPUs anexadas: compute.reservations.update no projeto
  • Para modificar o número de instâncias 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:

Para mudar propriedades não mencionadas nesta lista, é necessário criar uma nova reserva. Para instruções, 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 instâncias reservadas em uma reserva

É possível aumentar ou diminuir o número de instâncias de computação reservadas em uma reserva. No entanto, antes de modificar o número de instâncias, considere o seguinte para evitar erros:

  • Para aumentar o número de instâncias em qualquer reserva, verifique o seguinte:

  • Para diminuir o número de instâncias em uma reserva específica, verifique se o número de instâncias que consomem a reserva não excede o novo número menor. Se for o caso, faça uma das seguintes ações com as instâncias em excesso do novo número:

    • Excluir instâncias

    • Interromper ou suspender as instâncias

Para modificar o número de instâncias reservadas em 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. Clique em Editar.

  4. No campo Número de instâncias de VM, insira o número atualizado de instâncias 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 instâncias 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 novo número de instâncias a serem reservadas.

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

REST

Para modificar o número de instâncias 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 novo número de instâncias a serem reservadas.

Modificar a política de compartilhamento de uma reserva

Ao modificar a política de compartilhamento de uma reserva de instâncias de computação de GPU, é possível permitir ou impedir que jobs de treinamento ou de previsão personalizados 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 instâncias 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 instâncias 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 instâncias de GPU, use o comando gcloud compute reservations update com a flag --reservation-sharing-policy.

gcloud 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 instâncias de GPU, faça uma solicitação PATCH para o método reservations.update. No URL da solicitação, inclua o parâmetro de consulta paths definido como reservationSharingPolicy.serviceShareType.

PATCH https://compute.googleapis.com/compute/v1/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