Criar solicitações de reserva futuras compartilhadas


Neste documento, explicamos como criar futuras solicitações de reserva compartilhadas.

Se o Google Cloud aprovar sua solicitação de reserva futura compartilhada, no horário de início especificado, o Compute Engine criará automaticamente reservas que são compartilhadas entre vários projetos. Essas reservas compartilhadas criadas automaticamente são consumidas pelas VMs correspondentes e reservas atuais no projeto que hospeda a reserva futura (projeto de proprietário) e os projetos com que a reserva futura é compartilhada (projetos do consumidor). Para mais informações sobre como as reservas compartilhadas criadas automaticamente funcionam e podem ser consumidas, consulte Criar reservas compartilhadas.

Antes de começar

  • Caso você ainda não tenha feito:
  • 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 criar solicitações de reserva futura compartilhadas, peça ao administrador para conceder a você o papel do IAM de Usuário da reserva futura do Compute (roles/compute.futureReservationUser) 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 criar solicitações de reserva adiantada compartilhadas. 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 criar solicitações de reserva futuras compartilhadas:

  • Para criar uma solicitação de reserva futura: compute.futureReservations.create no projeto
  • Para permitir que o Compute Engine crie reservas automaticamente: compute.reservations.create no projeto
  • Para especificar um modelo de instância: compute.instanceTemplates.useReadOnly no modelo de instância

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

Restrições

Além das restrições gerais para reservas futuras, a criação de solicitações de reserva futuras compartilhadas tem as seguintes restrições:

  • O projeto usado para criar futuras solicitações de reserva compartilhadas (o projeto do proprietário) precisa ser adicionado à lista de permissões para a organização Projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects). restrição de política por um administrador de políticas da organização. Para mais informações, consulte Permitir e restringir projetos para criar e modificar reservas compartilhadas na documentação de reservas do Compute Engine.

  • Se você mover um projeto que criou uma solicitação de reserva futura compartilhada para uma organização diferente, a reserva futura compartilhada será excluída. O projeto não é removido automaticamente da restrição da política da organização Projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects), mas você pode remover o projeto dessa restrição, se preferir.

  • Cada solicitação de reserva futura compartilhada pode ser compartilhada com até 100 projetos de consumidor.

  • Para cada organização, é possível criar até 100 solicitações de reserva futuras compartilhadas para cada combinação exclusiva de propriedades de VM.

Criar uma solicitação de rascunho

Ao criar uma solicitação de reserva futura, você pode salvar o pedido como um rascunho e enviá-lo posteriormente ao Google Cloud para análise ou enviar diretamente a solicitação para análise. O Google recomenda criar uma solicitação de rascunho primeiro, porque isso permite determinar o número de VMs que o Compute Engine vai provisionar para sua solicitação em vez de estimar esse número e, opcionalmente, modificar o número de VMs reservadas na solicitação antes de enviá-la para análise.

Para consumir uma reserva criada automaticamente para uma reserva adiantada, uma VM precisa ter propriedades que correspondam exatamente a essa reserva. Para especificar as propriedades das VMs que você quer solicitar que sejam reservadas ao criar um rascunho de solicitação de reserva adiantada, use um dos seguintes métodos:

  • Recomendado: especificar um modelo de instância

    É possível usar um modelo de instância atual para definir as propriedades de um rascunho de solicitação de reserva futura. Ao usar um modelo de instância, é possível definir as propriedades de uma solicitação de reserva futura e as VMs que podem consumir as reservas criadas automaticamente no mesmo lugar. No entanto, como os modelos são específicos do projeto, não é possível usar o mesmo modelo para criar VMs que possam consumir as reservas criadas automaticamente fora do projeto que criou a solicitação de reserva futura. Para os projetos com que a reserva é compartilhada, crie modelos semelhantes nesses projetos ou crie VMs especificando propriedades diretamente.

  • Especificar uma VM atual

    É possível usar uma VM atual para definir as propriedades de uma solicitação de reserva adiantada. Ao usar as propriedades de uma VM existente, é possível consumir as reservas criadas automaticamente provisionadas para a reserva futura criando VMs com propriedades que correspondem à VM de referência.

  • Especificar propriedades diretamente

    É possível definir diretamente as propriedades de um rascunho de solicitação de reserva futura. Esse método exige que você verifique manualmente se as propriedades das VMs e as reservas com criação automática são exatamente correspondentes. Qualquer propriedade incompatível impede o consumo.

Uma reserva criada automaticamente para uma reserva adiantada pode ser consumida de modo automático por qualquer VM com propriedades correspondentes. Se quiser evitar que uma VM consuma qualquer uma dessas reservas criadas automaticamente, veja como criar VMs sem consumir reservas.

Especificar um modelo de instância

Ao criar uma solicitação de reserva futura compartilhada especificando um modelo de instância, considere o seguinte:

  • Um modelo de instância contém configurações específicas do projeto. Portanto, só é possível acessar e usar um modelo de instância no mesmo projeto. Se você criar uma solicitação de reserva futura compartilhada especificando um modelo de instância, será necessário criar modelos semelhantes para criar VMs ou criar VMs ao especificar propriedades de correspondência diretamente, para consumir as reservas criadas automaticamente em cada projeto de consumidor.

  • É preciso criar a solicitação de reserva adiantada na mesma região e zona dos recursos no modelo de instância. Todos os recursos regionais ou zonais especificados em um modelo de instância, como um tipo de máquina ou um disco permanente, restringem o uso do modelo aos locais em que esses recursos estão localizados. Por exemplo, se o modelo de instância especificar um disco permanente já existente na zona us-central1-a, será necessário criar sua solicitação de reserva adiantada na mesma zona. Caso contrário, a criação da solicitação de reserva adiantada falhará.

    Para verificar se um modelo já existente especifica algum recurso que o vincule a uma região ou zona específica, veja os detalhes do modelo e procure referências a esses recursos regionais ou zonais dentro dele.

  • Se você quiser anexar as reservas criadas automaticamente provisionadas para uma reserva adiantada para um compromisso, desative a opção de exclusão automática. Para mais informações, consulte Restrições após a criação.

Depois de criar uma solicitação de reserva adiantada, não será possível modificá-la para substituir as propriedades de VM do modelo ou especificar outro modelo. Em vez disso, se você precisar mudar as propriedades da VM especificadas na solicitação, crie uma nova solicitação de reserva adiantada.

Para criar uma reserva futura compartilhada especificando um modelo de instância existente, selecione uma das seguintes opções:

Console

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

    Acessar "Reservas"

  2. Clique na guia Reservas adiantadas.

  3. Clique em Criar reserva adiantada.

    A página Criar uma reserva adiantada abre.

  4. Em Nome, insira um nome para sua solicitação de reserva adiantada.

  5. Em Prefixo, digite um prefixo de nome. O nome de cada reserva criada automaticamente com base nessa solicitação de reserva adiantada começa com esse prefixo.

  6. Para Região e Zona, selecione a região e a zona em que os recursos serão reservados.

  7. Em Horário de início, insira um horário de início para o período de reserva. O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para modificar, cancelar ou excluir a reserva futura antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  8. Em Horário de término, insira o horário de término do período de reserva. O período de reserva precisa durar pelo menos 24 horas.

    Na seção Resumo da duração, é possível ver a duração do período de reserva. Para aumentar as chances de o Google Cloud aprovar sua solicitação de reserva adiantada depois de enviá-la para análise, especifique um valor recomendado para o período de reserva.

  9. Na seção Tipo de compartilhamento, faça o seguinte:

    1. Para especificar uma solicitação de reserva futura compartilhada, clique em Compartilhado.

    2. Clique em Adicionar projetos e selecione os projetos atuais da organização com que você quer compartilhar a reserva futura. É possível selecionar até 100 projetos.

  10. Em Número de instâncias de VM, insira a contagem total de VMs que você quer reservar para o período, a configuração da VM e os projetos especificados nesta solicitação de reserva adiantada.

  11. Na seção Configuração da máquina, faça o seguinte:

    1. Selecione Usar modelo de instância.

    2. Em Modelo de instância, selecione o modelo de instância que preferir. Se você selecionar um modelo de instância regional, só poderá reservar na mesma região que a do modelo.

  12. Na seção Horário de exclusão automática de reservas geradas automaticamente, siga um destes procedimentos:

    • Para permitir que o Compute Engine exclua automaticamente as reservas criadas automaticamente para sua solicitação de reserva adiantada, realize estas ações:

      1. Clique no botão Ativar exclusão automática para ativar a opção, se ela ainda não estiver definida.

      2. Opcional: em Horário da exclusão automática, digite uma data e hora para excluir as reservas criadas automaticamente. A data e a hora precisam ser posteriores ao horário de término do período de reserva. Se você deixar esse campo em branco, as reservas criadas automaticamente serão excluídas em até duas horas após o horário de término do período de reserva.

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

  13. Para concluir a criação do rascunho da solicitação de reserva futura, clique em Salvar rascunho.

A página Reservas abre. A criação da solicitação de reserva adiantada pode levar até um minuto para ser concluída.

gcloud

Para criar uma solicitação de reserva futura compartilhada especificando um modelo de instância, use o comando gcloud beta compute future-reservations create com as flags --share-setting=projects e --share-with.

Para criar um rascunho de solicitação de reserva adiantada especificando um modelo de instância sem incluir as flags opcionais e excluir automaticamente a reserva criada automaticamente no fim do período de reserva, execute o seguinte comando:

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Substitua:

  • FUTURE_RESERVATION_NAME: o nome da solicitação de reserva adiantada.

  • MACHINE_TYPE: o tipo de máquina a ser usado para cada VM.

  • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas de IDs de projetos que podem consumir as reservas criadas automaticamente para essa solicitação de reserva futura, por exemplo, project-1,project-2. Você pode informar até cem projetos. Esses projetos precisam estar na mesma organização do projeto em que a solicitação de reserva futura será criada (o projeto do proprietário). Não especifique o projeto do proprietário. Por padrão, já é permitido consumir as reservas criadas automaticamente para essa solicitação de reserva futura.
  • PROJECT_ID: o ID do projeto em que você quer reservar recursos e onde o modelo de instância está localizado.

  • LOCATION: o local do modelo de instância. Especifique um dos seguintes valores:

    • Para um modelo de instância regional: regions/REGION. Substitua REGION pela região em que o modelo de instância está localizado. Se você especificar um modelo de instância regional, só será possível criar a solicitação de reserva adiante na mesma região do modelo.

    • Para um modelo de instância global: global

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância.

  • START_TIME: o horário de início do período de reserva como um carimbo de data/hora RFC 3339, que precisa ser formatado da seguinte maneira:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos, separados por hífens (-).

    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando um horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos, separados por dois pontos (:).

    • OFFSET: o fuso horário formatado como um ajuste de Tempo Universal Coordenado (UTC). Por exemplo, para usar o horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar uma solicitação de reserva adiantada depois da aprovação e antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  • END_TIME: o horário de término do período de reserva formatado como um carimbo de data/hora RFC 3339. O período de reserva precisa durar pelo menos 24 horas. Como alternativa, substitua a flag --end-time pela flag --duration=END_DURATION. Substitua END_DURATION pela duração do período de reserva em segundos. Por exemplo, especifique 1209600 para 1.209.600 segundos (14 dias).

    Para aumentar a probabilidade de o Google Cloud aprovar uma solicitação de reserva adiantada depois de enviá-la para análise, especifique uma duração mínima recomendada.

  • TOTAL_COUNT: a contagem total de VMs que você quer reservar.

  • ZONE: a zona em que os recursos serão reservados.

Por exemplo, suponha que você queira criar um rascunho de solicitação de reserva adiantada chamado fr-02 na zona us-central1-a com as seguintes propriedades:

  • Um período de reserva que começa à meia-noite de 10 de novembro de 2024 UTC e termina à meia-noite de 10 de dezembro de 2024 UTC.

  • Um total de 80 VMs.

  • Um modelo de instância regional da região us-central1
  • A opção de exclusão automática ativada. As reservas criadas automaticamente são excluídas no final do período de reserva.
  • A solicitação de reserva futura é compartilhada com project-1 e project-2.

Para criar fr-02, execute o seguinte comando:

gcloud beta compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --source-instance-template=projects/example-project/regions/us-central1/instanceTemplates/example-template \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Também é possível realizar uma ou mais das seguintes ações:

  • Para excluir as reservas criadas automaticamente após o horário de término do período de reserva, selecione um dos seguintes métodos:

    • Para excluir as reservas criadas automaticamente em uma data e hora específicas após o término do período de reserva, inclua a flag --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Substitua AUTO_CREATED_RESERVATIONS_DELETE_TIME por uma data e hora formatadas como um carimbo de data/hora RFC 3339.

    • Para excluir as reservas criadas automaticamente após uma duração específica e após o horário de término do período de reserva, inclua a flag --auto-created-reservations-duration.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Substitua DURATION_BEFORE_DELETE por uma duração em dias, horas, minutos ou segundos. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para 1 dia, 2 horas, 3 minutos e 4 segundos.

  • Para desativar a opção de exclusão automática para as reservas criadas automaticamente, substitua a flag --auto-delete-auto-created-reservations pela flag --no-auto-delete-auto-created-reservations.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • Para especificar um prefixo de nome para as reservas criadas automaticamente, inclua a flag --name-prefix.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Substitua NAME_PREFIX pelo prefixo de nome de cada reserva criada automaticamente. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, o Google Cloud recomenda especificar um prefixo de nome exclusivo.

REST

Para criar uma solicitação de reserva futura compartilhada especificando um modelo de instância, faça uma solicitação POST para o método beta.futureReservations.insert.

Para criar um rascunho de solicitação de reserva adiantada, especifique um modelo de instância sem incluir quaisquer campos opcionais, faça uma solicitação POST da seguinte maneira:

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você quer reservar recursos e onde o modelo de instância está localizado.

  • ZONE: a zona em que os recursos serão reservados.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: se você definir este campo como true, o Compute Engine excluirá automaticamente as reservas criadas automaticamente para essa reserva adianta em até duas horas após o horário de término do período de reserva. Se você quiser anexar suas reservas criadas automaticamente a um compromisso, defina esse campo como false.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs dos projetos com os quais essa solicitação de reserva futura pode ser compartilhada. Você pode especificar até 100 projetos. Esses projetos precisam estar na mesma organização do projeto em que a solicitação de reserva futura será criada (o projeto do proprietário). Não especifique o projeto do proprietário. Por padrão, as reservas criadas automaticamente para essa solicitação de reserva futura já são permitidas.
  • LOCATION: o local do modelo de instância. Especifique um dos seguintes valores:

    • Para um modelo de instância regional: regions/REGION. Substitua REGION pela região em que o modelo de instância está localizado. Se você especificar um modelo de instância regional, só será possível criar a solicitação de reserva adiante na mesma região do modelo.

    • Para um modelo de instância global: global

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância.

  • TOTAL_COUNT: a contagem total de VMs que você quer reservar.

  • START_TIME: o horário de início do período de reserva como um carimbo de data/hora RFC 3339, que precisa ser formatado da seguinte maneira:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos, separados por hífens (-).

    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando um horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos, separados por dois pontos (:).

    • OFFSET: o fuso horário formatado como um ajuste de Tempo Universal Coordenado (UTC). Por exemplo, para usar o horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar uma solicitação de reserva adiantada depois da aprovação e antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  • END_TIME: o horário de término do período de reserva formatado como um carimbo de data/hora RFC 3339. O período de reserva precisa durar pelo menos 24 horas. Outra possibilidade é substituir o campo endTime pelo campo duration para definir uma duração específica a partir do horário de início do período de reserva:

    "duration": {
      "seconds": END_DURATION
    }
    

    Substitua END_DURATION por uma duração em segundos. Por exemplo, especifique 1209600 para 1.209.600 segundos (14 dias).

    Para aumentar as chances de o Google Cloud aprovar uma solicitação de reserva adiantada depois de enviá-la para análise, especifique um dos valores recomendados para o período de reserva.

Por exemplo, suponha que você queira criar um rascunho de solicitação de reserva adiantada chamado fr-02 na zona us-central1-a com as seguintes propriedades:

  • Um período de reserva que começa à meia-noite de 10 de novembro de 2024 UTC e termina à meia-noite de 10 de dezembro de 2024 UTC.

  • Um total de 80 VMs.

  • Um modelo de instância regional da região us-central1
  • A opção de exclusão automática ativada. As reservas criadas automaticamente são excluídas no final do período de reserva.
  • A solicitação de reserva futura é compartilhada com project-1 e project-2.

Para criar fr-02, faça uma solicitação POST desta forma:

POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/example-project/regions/us-central1/instanceTemplates/example-template",
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Também é possível realizar uma ou mais das seguintes ações:

  • Para especificar um prefixo de nome para as reservas criadas automaticamente, inclua o campo namePrefix.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Substitua NAME_PREFIX pelo prefixo de nome de cada reserva criada automaticamente. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, o Google Cloud recomenda especificar um prefixo de nome exclusivo.

  • Para excluir as reservas criadas automaticamente após o horário de término do período de reserva, selecione um dos seguintes métodos:

    • Para excluir as reservas criadas automaticamente em um horário específico após o final do período de reserva, defina autoDeleteAutoCreatedReservations como true e inclua o campo autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Substitua DELETE_TIME por uma data e hora em que o Compute Engine excluirá as reservas criadas automaticamente. A data e a hora precisam ser formatadas como um carimbo de data/hora RFC 3339.

    • Para excluir as reservas criadas automaticamente após uma duração específica a partir do horário de início do período de reserva, defina autoDeleteAutoCreatedReservations como true e inclua o campo autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Substitua DURATION_BEFORE_DELETE por uma duração em segundos. Por exemplo, especifique 604800 para 604.800 segundos (7 dias).

Depois de criar um rascunho de solicitação de reserva futura, você pode determinar o número de VMs que o Compute Engine vai provisionar para a solicitação.

Especificar uma VM

Só é possível criar um rascunho de solicitação de reserva futura com base em uma VM atual no mesmo projeto e zona.

Depois que a solicitação de reserva futura for aprovada pelo Google Cloud e entrar no período de reserva, será possível consumir as reservas criadas automaticamente criando VMs com propriedades correspondentes à VM de referência. Para fazer isso, siga um destes procedimentos:

  • Crie e use um modelo de instância da seguinte maneira:

    1. Crie um modelo de instância com base na VM de referência sem substituir as propriedades dela.

    2. Crie VMs usando o modelo recém-criado fazendo uma ou ambas as seguintes ações:

  • Crie uma VM com propriedades que correspondam exatamente à VM de referência da seguinte maneira:

    • No projeto do proprietário, crie uma VM com base na VM de referência sem alterar as propriedades da VM que você está criando.

    • Nos projetos do consumidor, crie uma VM e verifique manualmente se as propriedades dela e da VM de referência correspondem.

Para criar uma solicitação de reserva futura compartilhada que use as propriedades de uma VM existente, faça o seguinte:

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

    Acessar "Reservas"

  2. Clique na guia Reservas adiantadas.

  3. Clique em Criar reserva adiantada.

    A página Criar uma reserva adiantada abre.

  4. Em Nome, insira um nome para sua solicitação de reserva adiantada.

  5. Em Prefixo, digite um prefixo de nome. O nome de cada reserva criada automaticamente com base nessa solicitação de reserva adiantada começa com esse prefixo.

  6. Para Região e Zona, selecione a região e a zona em que os recursos serão reservados.

  7. Em Horário de início, insira um horário de início para o período de reserva. O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para modificar, cancelar ou excluir a reserva futura antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  8. Em Horário de término, insira o horário de término do período de reserva. O período de reserva precisa durar pelo menos 24 horas.

    Na seção Resumo da duração, é possível ver a duração do período de reserva. Para aumentar as chances de o Google Cloud aprovar sua solicitação de reserva adiantada depois de enviá-la para análise, especifique um valor recomendado para o período de reserva.

  9. Na seção Tipo de compartilhamento, faça o seguinte:

    1. Para especificar uma solicitação de reserva futura compartilhada, clique em Compartilhado.

    2. Clique em Adicionar projetos e selecione os projetos atuais da organização com que você quer compartilhar a reserva futura. É possível selecionar até 100 projetos.

  10. Em Número de instâncias de VM, insira a contagem total de VMs que você quer reservar para o período, a configuração da VM e os projetos especificados nesta solicitação de reserva adiantada.

  11. Na seção Configuração da máquina, faça o seguinte:

    1. Selecione Usar VM atual.

    2. Em VM existente, selecione as propriedades que você quer usar para criar a reserva.

  12. Na seção Horário de exclusão automática de reservas geradas automaticamente, siga um destes procedimentos:

    • Para permitir que o Compute Engine exclua automaticamente as reservas criadas automaticamente para sua solicitação de reserva adiantada, realize estas ações:

      1. Clique no botão Ativar exclusão automática para ativar a opção, se ela ainda não estiver definida.

      2. Opcional: em Horário da exclusão automática, digite uma data e hora para excluir as reservas criadas automaticamente. A data e a hora precisam ser posteriores ao horário de término do período de reserva. Se você deixar esse campo em branco, as reservas criadas automaticamente serão excluídas em até duas horas após o horário de término do período de reserva.

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

  13. Para concluir a criação do rascunho da solicitação de reserva futura, clique em Salvar rascunho.

A página Reservas abre. A criação da solicitação de reserva adiantada pode levar até um minuto para ser concluída.

Depois de criar um rascunho de solicitação de reserva futura, você pode determinar o número de VMs que o Compute Engine vai provisionar para a solicitação.

Especificar propriedades diretamente

Se você quiser anexar as reservas criadas automaticamente provisionadas para uma reserva adiantada para um compromisso, desative a opção de exclusão automática. Para mais informações, consulte Restrições após a criação.

Para criar uma solicitação de reserva futura compartilhada especificando propriedades diretamente, selecione uma das seguintes opções:

Console

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

    Acessar "Reservas"

  2. Clique na guia Reservas adiantadas.

  3. Clique em Criar reserva adiantada.

    A página Criar uma reserva adiantada abre.

  4. Em Nome, insira um nome para sua solicitação de reserva adiantada.

  5. Em Prefixo, digite um prefixo de nome. O nome de cada reserva criada automaticamente com base nessa solicitação de reserva adiantada começa com esse prefixo.

  6. Para Região e Zona, selecione a região e a zona em que os recursos serão reservados.

  7. Em Horário de início, insira um horário de início para o período de reserva. O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para modificar, cancelar ou excluir a reserva futura antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  8. Em Horário de término, insira o horário de término do período de reserva. O período de reserva precisa durar pelo menos 24 horas.

    Na seção Resumo da duração, é possível ver a duração do período de reserva. Para aumentar as chances de o Google Cloud aprovar sua solicitação de reserva adiantada depois de enviá-la para análise, especifique um valor recomendado para o período de reserva.

  9. Na seção Tipo de compartilhamento, faça o seguinte:

    1. Para especificar uma solicitação de reserva futura compartilhada, clique em Compartilhado.

    2. Clique em Adicionar projetos e selecione os projetos atuais da organização com que você quer compartilhar a reserva futura. É possível selecionar até 100 projetos.

  10. Em Número de instâncias de VM, insira a contagem total de VMs que você quer reservar para o período, a configuração da VM e os projetos especificados nesta solicitação de reserva adiantada.

  11. Na seção Configuração da máquina, faça o seguinte:

    1. Selecione Especificar tipo de máquina, se ainda não estiver selecionado.

    2. Especifique o tipo de máquina a ser usado para as VMs reservadas.

  12. Na seção Horário de exclusão automática de reservas geradas automaticamente, siga um destes procedimentos:

    • Para permitir que o Compute Engine exclua automaticamente as reservas criadas automaticamente para sua solicitação de reserva adiantada, realize estas ações:

      1. Clique no botão Ativar exclusão automática para ativar a opção, se ela ainda não estiver definida.

      2. Opcional: em Horário da exclusão automática, digite uma data e hora para excluir as reservas criadas automaticamente. A data e a hora precisam ser posteriores ao horário de término do período de reserva. Se você deixar esse campo em branco, as reservas criadas automaticamente serão excluídas em até duas horas após o horário de término do período de reserva.

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

  13. Para concluir a criação do rascunho da solicitação de reserva futura, clique em Salvar rascunho.

A página Reservas abre. A criação da solicitação de reserva adiantada pode levar até um minuto para ser concluída.

gcloud

Para criar uma solicitação de reserva futura compartilhada especificando as propriedades diretamente, use o comando gcloud beta compute future-reservations create com as flags --share-setting=projects e --share-with.

Para criar um rascunho de solicitação de reserva adiantada especificando propriedades diretamente sem incluir as flags opcionais e excluir automaticamente a reserva criada automaticamente no fim do período de reserva, execute o seguinte comando:

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --machine-type=MACHINE_TYPE \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Substitua:

  • FUTURE_RESERVATION_NAME: o nome da solicitação de reserva adiantada.

  • MACHINE_TYPE: o tipo de máquina a ser usado para cada VM.

  • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas de IDs de projetos que podem consumir as reservas criadas automaticamente para essa solicitação de reserva futura, por exemplo, project-1,project-2. Você pode informar até cem projetos. Esses projetos precisam estar na mesma organização do projeto em que a solicitação de reserva futura será criada (o projeto do proprietário). Não especifique o projeto do proprietário. Por padrão, já é permitido consumir as reservas criadas automaticamente para essa solicitação de reserva futura.
  • START_TIME: o horário de início do período de reserva como um carimbo de data/hora RFC 3339, que precisa ser formatado da seguinte maneira:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos, separados por hífens (-).

    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando um horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos, separados por dois pontos (:).

    • OFFSET: o fuso horário formatado como um ajuste de Tempo Universal Coordenado (UTC). Por exemplo, para usar o horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar uma solicitação de reserva adiantada depois da aprovação e antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  • END_TIME: o horário de término do período de reserva formatado como um carimbo de data/hora RFC 3339. O período de reserva precisa durar pelo menos 24 horas. Como alternativa, substitua a flag --end-time pela flag --duration=END_DURATION. Substitua END_DURATION pela duração do período de reserva em segundos. Por exemplo, especifique 1209600 para 1.209.600 segundos (14 dias).

    Para aumentar a probabilidade de o Google Cloud aprovar uma solicitação de reserva adiantada depois de enviá-la para análise, especifique uma duração mínima recomendada.

  • TOTAL_COUNT: a contagem total de VMs que você quer reservar.

  • ZONE: a zona em que os recursos serão reservados.

Por exemplo, suponha que você queira criar um rascunho de solicitação de reserva adiantada chamado fr-02 na zona us-central1-a com as seguintes propriedades:

  • Um período de reserva que começa à meia-noite de 10 de novembro de 2024 UTC e termina à meia-noite de 10 de dezembro de 2024 UTC.

  • Um total de 80 VMs.

  • Um tipo de máquina predefinido N2 com 4 vCPUs.
  • A opção de exclusão automática ativada. As reservas criadas automaticamente são excluídas no final do período de reserva.
  • A solicitação de reserva futura é compartilhada com project-1 e project-2.

Para criar fr-02, execute o seguinte comando:

gcloud beta compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --machine-type=n2-standard-4 \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Também é possível realizar uma ou mais das seguintes ações:

  • Para anexar GPUs às VMs N1 reservadas, inclua a flag --accelerator.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --accelerator=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Substitua:

    • NUMBER_OF_ACCELERATORS: o número de GPUs a serem adicionadas por VM reservada.

    • ACCELERATOR_TYPE: um modelo de GPU com suporte para VMs N1. Para evitar erros, verifique se o modelo de GPU escolhido está disponível na zona em que você está criando a solicitação de reserva adiantada.

  • Para excluir as reservas criadas automaticamente após o horário de término do período de reserva, selecione um dos seguintes métodos:

    • Para excluir as reservas criadas automaticamente em uma data e hora específicas após o término do período de reserva, inclua a flag --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Substitua AUTO_CREATED_RESERVATIONS_DELETE_TIME por uma data e hora formatadas como um carimbo de data/hora RFC 3339.

    • Para excluir as reservas criadas automaticamente após uma duração específica e após o horário de término do período de reserva, inclua a flag --auto-created-reservations-duration.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Substitua DURATION_BEFORE_DELETE por uma duração em dias, horas, minutos ou segundos. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para 1 dia, 2 horas, 3 minutos e 4 segundos.

  • Para desativar a opção de exclusão automática para as reservas criadas automaticamente, substitua a flag --auto-delete-auto-created-reservations pela flag --no-auto-delete-auto-created-reservations.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • Para adicionar um ou mais discos SSD locais a cada VM reservada, inclua uma ou mais flags --local-ssd. É possível especificar até 24 discos SSD locais. Cada SSD local tem 375 GB.

    Por exemplo, para especificar dois discos SSD locais ao criar um rascunho de solicitação de reserva adiantada, inclua duas flags --local-ssd da seguinte maneira:

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Substitua INTERFACE_1 e INTERFACE_2 pelo tipo de interface que você quer que o disco SSD local use da seguinte maneira:

    Verifique se o tipo de máquina especificado para as VMs reservadas é compatível com as interfaces de disco escolhidas. Caso contrário, a criação da solicitação de reserva adiantada falhará. Para mais informações, veja como escolher uma interface de disco.

  • Para que as VMs reservadas usem uma plataforma mínima de CPU específica, em vez da plataforma de CPU padrão da zona, inclua a flag --min-cpu-platform.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Substitua MIN_CPU_PLATFORM por uma plataforma de CPU mínima. Para garantir que uma plataforma de CPU esteja disponível na zona em que você está reservando recursos, confira as plataformas de CPU disponíveis por zona.

  • Para especificar um prefixo de nome para as reservas criadas automaticamente, inclua a flag --name-prefix.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Substitua NAME_PREFIX pelo prefixo de nome de cada reserva criada automaticamente. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, o Google Cloud recomenda especificar um prefixo de nome exclusivo.

REST

Para criar uma solicitação de reserva futura compartilhada especificando propriedades diretamente, faça uma solicitação POST para o método beta.futureReservations.insert.

Para criar um rascunho de solicitação de reserva adiantada especificando propriedades diretamente sem incluir campos opcionais, faça uma solicitação POST da seguinte maneira:

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "MACHINE_TYPE"
    },
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você quer reservar recursos.

  • ZONE: a zona em que os recursos serão reservados.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: se você definir este campo como true, o Compute Engine excluirá automaticamente as reservas criadas automaticamente para essa reserva adianta em até duas horas após o horário de término do período de reserva. Se você quiser anexar suas reservas criadas automaticamente a um compromisso, defina esse campo como false.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs dos projetos com os quais essa solicitação de reserva futura pode ser compartilhada. Você pode especificar até 100 projetos. Esses projetos precisam estar na mesma organização do projeto em que a solicitação de reserva futura será criada (o projeto do proprietário). Não especifique o projeto do proprietário. Por padrão, as reservas criadas automaticamente para essa solicitação de reserva futura já são permitidas.
  • TOTAL_COUNT: a contagem total de VMs que você quer reservar.

  • START_TIME: o horário de início do período de reserva como um carimbo de data/hora RFC 3339, que precisa ser formatado da seguinte maneira:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Substitua:

    • YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos, separados por hífens (-).

    • HH:MM:SS: um horário formatado como uma hora de dois dígitos usando um horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos, separados por dois pontos (:).

    • OFFSET: o fuso horário formatado como um ajuste de Tempo Universal Coordenado (UTC). Por exemplo, para usar o horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    O horário de início não pode ser posterior a um ano da data e hora em que foi enviada uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar uma solicitação de reserva adiantada depois da aprovação e antes que ela entre no horário de bloqueio, especifique um valor recomendado para o horário de início.

  • END_TIME: o horário de término do período de reserva formatado como um carimbo de data/hora RFC 3339. O período de reserva precisa durar pelo menos 24 horas. Outra possibilidade é substituir o campo endTime pelo campo duration para definir uma duração específica a partir do horário de início do período de reserva:

    "duration": {
      "seconds": END_DURATION
    }
    

    Substitua END_DURATION por uma duração em segundos. Por exemplo, especifique 1209600 para 1.209.600 segundos (14 dias).

    Para aumentar as chances de o Google Cloud aprovar uma solicitação de reserva adiantada depois de enviá-la para análise, especifique um dos valores recomendados para o período de reserva.

Por exemplo, suponha que você queira criar um rascunho de solicitação de reserva adiantada chamado fr-02 na zona us-central1-a com as seguintes propriedades:

  • Um período de reserva que começa à meia-noite de 10 de novembro de 2024 UTC e termina à meia-noite de 10 de dezembro de 2024 UTC.

  • Um total de 80 VMs.

  • Um tipo de máquina predefinido N2 com 4 vCPUs.
  • A opção de exclusão automática ativada. As reservas criadas automaticamente são excluídas no final do período de reserva.
  • A solicitação de reserva futura é compartilhada com project-1 e project-2.

Para criar fr-02, faça uma solicitação POST desta forma:

POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "n2-standard-4"
    },
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Também é possível realizar uma ou mais das seguintes ações:

  • Para especificar um prefixo de nome para as reservas criadas automaticamente, inclua o campo namePrefix.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "instanceProperties": {
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Substitua NAME_PREFIX pelo prefixo de nome de cada reserva criada automaticamente. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, o Google Cloud recomenda especificar um prefixo de nome exclusivo.

  • Para anexar GPUs às VMs N1 reservadas, inclua o campo guestAccelerators.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Substitua:

    • NUMBER_OF_ACCELERATORS: o número de GPUs a serem adicionadas por VM reservada.

    • ACCELERATOR_TYPE: um modelo de GPU com suporte para VMs N1. Para evitar erros, verifique se o modelo de GPU escolhido está disponível na zona em que você está criando a solicitação de reserva adiantada.

  • Para adicionar um ou mais discos SSD locais a cada VM reservada, inclua o campo localSsds. É possível especificar até 24 discos SSD locais. Cada SSD local tem 375 GB.

    Por exemplo, para especificar dois discos SSD locais ao criar um rascunho da solicitação de reserva adiantada, faça uma solicitação POST da seguinte maneira:

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Substitua INTERFACE_1 e INTERFACE_2 pelo tipo de interface que você quer que os discos SSD locais usem.

    Verifique se o tipo de máquina especificado para as VMs reservadas é compatível com as interfaces de disco escolhidas. Caso contrário, a criação da solicitação de reserva adiantada falhará. Para mais informações, veja como escolher uma interface de disco.

  • Para que as VMs reservadas usem uma plataforma mínima de CPU específica, em vez da plataforma de CPU padrão da zona, inclua a flag minCpuPlatform.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "machineType": "MACHINE_TYPE",
          "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Substitua MIN_CPU_PLATFORM por uma plataforma de CPU mínima. Para garantir que uma plataforma de CPU esteja disponível na zona em que você está reservando recursos, confira as plataformas de CPU disponíveis por zona.

  • Para excluir as reservas criadas automaticamente após o horário de término do período de reserva, selecione um dos seguintes métodos:

    • Para excluir as reservas criadas automaticamente em um horário específico após o final do período de reserva, defina autoDeleteAutoCreatedReservations como true e inclua o campo autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Substitua DELETE_TIME por uma data e hora em que o Compute Engine excluirá as reservas criadas automaticamente. A data e a hora precisam ser formatadas como um carimbo de data/hora RFC 3339.

    • Para excluir as reservas criadas automaticamente após uma duração específica a partir do horário de início do período de reserva, defina autoDeleteAutoCreatedReservations como true e inclua o campo autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Substitua DURATION_BEFORE_DELETE por uma duração em segundos. Por exemplo, especifique 604800 para 604.800 segundos (7 dias).

Depois de criar um rascunho de solicitação de reserva futura, você pode determinar o número de VMs que o Compute Engine vai provisionar para a solicitação.

Enviar uma solicitação de rascunho

Depois que uma solicitação de reserva adiantada for enviada, aprovada pelo Google Cloud e passar do tempo de bloqueio, será possível excluir a reserva adiantada e as reservas criadas automaticamente somente após o horário de término do período de reserva da reserva adiantada. A exclusão de uma reserva futura é útil se você precisar criar outra reserva futura com as mesmas propriedades. Assim, antes de criar uma solicitação de reserva adiantada, faça as seguintes verificações:

  • As reservas adiantadas ou reservas que já existem em um projeto restringem as configurações de compartilhamento das solicitações de reserva adiantada que podem ser criadas. Para garantir a criação com êxito de uma solicitação de reserva adiantada e que a solicitação não cause problemas em outros projetos com os quais você compartilha solicitações de reservas adiantadas ou reservas, consulte Restrições.

  • Você precisa se comprometer a pagar pelos recursos reservados que o Compute Engine provisiona durante todo o período de reserva, independentemente de as reservas criadas automaticamente serem usadas ou não. Para mais informações, consulte Faturamento.

Se você quiser modificar uma ou mais propriedades ao enviar o rascunho da solicitação de reserva adiantada para análise, consulte Modificar a solicitação de reserva adiantada.

Para enviar um rascunho de solicitação de reserva adiantada ao Google Cloud para análise, selecione uma das seguintes opções:

Console

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

    Acessar "Reservas"

  2. Clique na guia Reservas adiantadas.

  3. Na coluna Nome, clique no nome de uma solicitação de reserva adiantada com o status de aquisição Rascunho.

    A página Reservas adiantadas com os detalhes da solicitação de reserva adiantada abre.

  4. Clique em Editar rascunho.

    A página para atualizar o rascunho da solicitação de reserva adiantada é aberta.

  5. Para enviar o rascunho da solicitação de reserva adiantada para análise, clique em Enviar.

A página Reserva abre. Na coluna Status da solicitação de reserva adiantada que você acabou de enviar, o status da aquisição é definido como Aprovação pendente.

gcloud

Para enviar o rascunho de uma solicitação de reserva adiantada para análise, use o comando gcloud beta compute future-reservations update com a flag --planning-status definida como SUBMITTED.

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --planning-status=SUBMITTED \
    --zone=ZONE

Substitua:

  • FUTURE_RESERVATION_NAME: o nome do rascunho de uma solicitação de reserva adiantada já existente.

  • ZONE: a zona em que a solicitação de reserva adiantada está localizada.

REST

Para enviar o rascunho de uma solicitação de reserva adiantada para análise, faça uma solicitação PATCH para o método beta.futureReservations.update. No corpo da solicitação, inclua o campo planningStatus e defina-o como SUBMITTED.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus

{
  "name": "FUTURE_RESERVATION_NAME",
  "planningStatus": "SUBMITTED"
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a solicitação de reserva adiantada está localizada.

  • ZONE: a zona em que a solicitação de reserva adiantada está localizada.

  • FUTURE_RESERVATION_NAME: o nome do rascunho de uma solicitação de reserva adiantada já existente.

Depois de enviar um rascunho de solicitação de reserva adiantada para análise, faça isto:

Resolver problemas

Se você encontrar erros ao criar uma solicitação de reserva futura, saiba como resolver problemas de solicitações de reserva futura.

Se os problemas persistirem após a solução de problemas, entre em contato com o Gerente técnico de contas ou a Equipe de vendas.

A seguir