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 da seguinte maneira.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

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

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Funções exigidas

Para receber as permissões necessárias para criar solicitações de reserva futuras compartilhadas, peça ao administrador para conceder a você o papel do IAM Compute Future Reservation User (roles/compute.futureReservationUser) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para criar futuras solicitações de reserva 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 papéis personalizados 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 reserva futura compartilhada

Nesta seção, explicamos como criar uma solicitação de reserva futura compartilhada.

Depois de criar uma solicitação de reserva futura compartilhada, ela só pode ser cancelada, excluída ou modificada pelo projeto do proprietário. No entanto, as reservas criadas automaticamente podem ser consumidas pelo projeto do proprietário e por qualquer projeto do consumidor com que a solicitação de reserva futura compartilhada é compartilhada.

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 uma solicitação de reserva adiantada, selecione um dos seguintes métodos:

  • Recomendado: especificar um modelo de instância

    Nesta seção, explicamos como usar um modelo de instância atual para definir as propriedades de uma solicitação de reserva futura compartilhada. 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 propriedades diretamente

    Nesta seção, explicamos como definir diretamente as propriedades de uma solicitação de reserva futura compartilhada. Esse método exige que você garanta manualmente que as propriedades das VMs e as reservas criadas automaticamente correspondam exatamente. Qualquer propriedade não correspondente evita o consumo de dois minutos.

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

É possível criar uma reserva adiantada compartilhada especificando um modelo de instância atual usando o console do Google Cloud, a CLI gcloud e a REST.

Console

Para criar uma solicitação de reserva futura compartilhada especificando um modelo de instância, siga estas etapas:

  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. No campo Nome, insira um nome para sua solicitação de reserva adiantada.

  5. No campo 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.

    Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  6. Opcional: no campo Descrição, insira uma descrição para a solicitação de reserva adiantada.

  7. No campo Região, selecione a região em que os recursos serão reservados.

  8. No campo Zona, selecione a zona em que os recursos serão reservados.

  9. No campo 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 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise.

    Especifique um valor recomendado para o horário de início para garantir a você tempo suficiente antes que a reserva adiantada entre no horário de bloqueio.

  10. No campo Horário de término, insira um horário de término para o 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.

  11. 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. Não selecione o projeto atual. Por padrão, é permitido consumir as reservas criadas automaticamente para essa solicitação de reserva futura.

  12. No campo 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 o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular a quantidade de novas reservas a serem criadas para uma solicitação de reserva adiantada aprovada pouco antes do horário de início, o Compute Engine subtrai desse total todas as reservas já existentes que correspondem à solicitação. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

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

    1. Para especificar as propriedades das VMs usando um modelo de instância, selecione Usar modelo de instância.

    2. No campo Modelo de instância, selecione o modelo de instância de sua escolha. Se você selecionar um modelo de instância regional, só será possível reservar recursos na região em que o modelo de instância está.

  14. 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 de alternar Ativar exclusão automática para a posição ativada (padrão).

      2. Opcional: no campo Horário da exclusão automática, insira uma nova 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é 2 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.

  15. Siga uma das seguintes ações:

    • Para criar uma solicitação de reserva adiantada e enviá-la ao Google Cloud para análise, clique em Enviar.

    • Para criar uma solicitação de reserva adiantada, clique em Salvar rascunho.

    • Para sair sem salvar, clique em Cancelar.

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 o flag --source-instance-template.

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --description="DESCRIPTION" \
    --name-prefix=NAME_PREFIX \
    --planning-status=PLANNING_STATUS \
    --project=PROJECT_ID \
    --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 a ser criada.
  • DESCRIPTION: opcional. Uma descrição para a solicitação de reserva adiantada.
  • NAME_PREFIX: o prefixo do nome da solicitação de reserva adiantada. O nome de cada reserva criada automaticamente para essa solicitação de reserva adiantada começa com o prefixo do nome. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  • PLANNING_STATUS: opcional. O status de planejamento da solicitação de reserva adiantada, que precisa ser um destes:

    • Para criar o rascunho de uma solicitação de reserva adiantada, especifique DRAFT.

    • Para criar a solicitação de reserva adiantada e enviá-la ao Google Cloud para aprovação, especifique SUBMITTED.

    Se você omitir a flag --planning-status, o valor dela será definido como DRAFT.

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

  • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas dos IDs de projeto com os quais essa solicitação de reserva futura pode ser compartilhada. Por exemplo, especifique 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, as reservas criadas automaticamente já são permitidas para a solicitação de reserva futura.
  • LOCATION: o local do modelo de instância. Especifique um dos seguintes valores:

    • Para um modelo de instância global: global

    • Para um modelo de instância regional: regions/REGION. Substitua REGION pela região em que o modelo de instância está. Se você especificar um modelo de instância regional, só será possível reservar VMs na região em que o modelo de instância está.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância. Se você especificar um modelo de instância, não será possível substituir as propriedades dele ao criar a solicitação de reserva adiantada. Caso contrário, ocorrerão erros.

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

    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 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar de maneira opcional uma solicitação de reserva adiantada depois que ela for aprovada ou antes de entrar 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 a flag --end-time pela flag --duration=END_DURATION, em que END_DURATION é a duração do período de reserva 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.

  • TOTAL_COUNT: o número total de VMs que você quer reservar para o período, a configuração da VM e o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular o número de reservas a serem criadas para uma reserva adiantada aprovada, o Compute Engine primeiro verifica se já existem reservas. Se já existirem reservas correspondentes à reserva adiantada aprovada, o número de reservas existentes será subtraído do número total solicitado de reservas na solicitação para determinar o número de novas reservas que o Compute Engine criará. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

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

Quando você especifica a flag --auto-delete-auto-created-reservations, o Compute Engine exclui automaticamente as reservas criadas automaticamente para sua solicitação de reserva adiantada. Por padrão, o horário de exclusão é em até 2 horas após o horário de término do período de reserva. Também é possível alterar isso realizando uma 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 um horário específico após o horário de término do período de reserva, especifique as flags --auto-delete-auto-created-reservations e --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create example-future-reservation \
          --auto-delete-auto-created-reservations \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          ...
      

      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, especifique as sinalizações --auto-delete-auto-created-reservations e --auto-created-reservations-duration.

      gcloud beta compute future-reservations create example-future-reservation \
          --auto-delete-auto-created-reservations \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          ...
      

      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 impedir que o Compute Engine exclua automaticamente as reservas criadas automaticamente, especifique a flag --no-auto-delete-auto-created-reservations. Desative a opção de exclusão automática se quiser anexar sua reserva criada automaticamente a um compromisso.

    gcloud beta compute future-reservations create example-future-reservation \
        --no-auto-delete-auto-created-reservations \
        ...
    

Por exemplo, o comando a seguir cria um rascunho de solicitação de reserva adiantada usando o modelo de instância global example-template para 80 VMs. A solicitação de reserva futura é compartilhada com project-1 e project-2. O período de reserva começa à meia-noite de 10 de novembro de 2023 UTC e termina à meia-noite de 10 de dezembro de 2023 UTC. As reservas criadas automaticamente para a reserva futura são criadas na zona us-central1-a, têm um nome que começa com fr-02-reservation e são excluídas automaticamente à meia-noite de 13 de dezembro de 2023 UTC.

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

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.

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

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "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á.

  • ZONE: a zona em que você quer reservar recursos.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: se você definir este campo como true, o Compute Engine excluirá de modo automático as reservas criadas automaticamente para essa solicitação de reserva adiantada, independentemente de serem totalmente consumidas ou não. Defina esse campo como false se você quiser anexar sua reserva criada automaticamente a um compromisso.

    Por padrão, o horário de exclusão é em até duas horas após o horário de término do período de reserva. Para mudar isso, siga um destes procedimentos:

    • 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 especifique o campo autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDeleteTime": "DELETE_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 carimbo de data/hora RFC 3339, que precisa ser conforme a seguir:

      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 do fuso horário Tempo Universal Coordenado (UTC). Por exemplo, para usar o fuso horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    • 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 especifique o campo autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        ...
      }
      

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

  • DESCRIPTION: opcional. Uma descrição para a solicitação de reserva adiantada.

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

  • NAME_PREFIX: o prefixo do nome da solicitação de reserva adiantada. O nome de cada reserva criada automaticamente para essa solicitação de reserva adiantada começa com o prefixo do nome. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs de projeto com os quais essa solicitação de reserva futura pode ser compartilhada. 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, as reservas criadas automaticamente para essa solicitação de reserva futura já são permitidas.
  • PLANNING_STATUS: opcional. O status de planejamento da solicitação de reserva adiantada, que precisa ser um destes:

    • Para criar o rascunho de uma solicitação de reserva adiantada, especifique DRAFT.

    • Para criar a solicitação de reserva adiantada e enviá-la ao Google Cloud para aprovação, especifique SUBMITTED.

    Se você omitir o campo planningStatus, o valor dele será definido como DRAFT.

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

    • Para um modelo de instância global: global

    • Para um modelo de instância regional: regions/REGION. Substitua REGION pela região em que o modelo de instância está. Se você especificar um modelo de instância regional, só será possível reservar VMs na região em que o modelo de instância está.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância. Se você especificar um modelo de instância, não será possível substituir as propriedades dele ao criar a solicitação de reserva adiantada. Caso contrário, ocorrerão erros.

  • TOTAL_COUNT: o número total de VMs que você quer reservar para o período, a configuração da VM e o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular o número de reservas a serem criadas para uma reserva adiantada aprovada, o Compute Engine primeiro verifica se já existem reservas. Se já existirem reservas correspondentes à reserva adiantada aprovada, o número de reservas existentes será subtraído do número total solicitado de reservas na solicitação para determinar o número de novas reservas que o Compute Engine criará. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

  • START_TIME: o horário de início do período de reserva formatado como um carimbo de data/hora RFC 3339. O horário de início não pode ser posterior a 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise. Além disso, especifique um valor recomendado para o horário de início para garantir a você tempo suficiente antes que uma reserva adiantada entre no horário de bloqueio.

  • 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, o comando a seguir cria um rascunho de solicitação de reserva adiantada usando o modelo de instância global example-template para 80 VMs. A solicitação de reserva futura é compartilhada com project-1 e project-2. O período de reserva começa à meia-noite de 10 de novembro de 2023 UTC e termina à meia-noite de 10 de dezembro de 2023 UTC. As reservas criadas automaticamente para a reserva futura são criadas na zona us-central1-a, têm um nome que começa com fr-02-reservation e são excluídas automaticamente à meia-noite de 13 de dezembro de 2023 UTC.

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

{
  "autoDeleteAutoCreatedReservations": "true",
  "autoCreatedReservationsDeleteTime": "2023-12-13T00:00:00Z",
  "name": "fr-02",
  "namePrefix": "fr-02-reservation",
  "specificSkuProperties": {
    "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-template",
    "totalCount": "80"
  },
  "planningStatus": "DRAFT",
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2023-11-10T00:00:00Z",
    "endTime": "2023-12-10T00:00:00Z"
  }
}

Especificar propriedades da VM diretamente

É possível criar uma solicitação de reserva adiantada compartilhada especificando propriedades diretamente usando o console do Google Cloud, a CLI gcloud e a REST.

Console

Para criar uma solicitação de reserva futura compartilhada especificando as propriedades diretamente, siga estas etapas:

  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. No campo Nome, insira um nome para sua solicitação de reserva adiantada.

  5. No campo 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.

    Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  6. Opcional: no campo Descrição, insira uma descrição para a solicitação de reserva adiantada.

  7. No campo Região, selecione a região em que os recursos serão reservados.

  8. No campo Zona, selecione a zona em que os recursos serão reservados.

  9. No campo 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 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise.

    Especifique um valor recomendado para o horário de início para garantir a você tempo suficiente antes que a reserva adiantada entre no horário de bloqueio.

  10. No campo Horário de término, insira um horário de término para o 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.

  11. 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. Não selecione o projeto atual. Por padrão, é permitido consumir as reservas criadas automaticamente para essa solicitação de reserva futura.

  12. No campo 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 o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular a quantidade de novas reservas a serem criadas para uma solicitação de reserva adiantada aprovada pouco antes do horário de início, o Compute Engine subtrai desse total todas as reservas já existentes que correspondem à solicitação. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

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

    1. Selecione Especificar tipo de máquina (padrão).

    2. Selecione uma das seguintes opções:

      • Para cargas de trabalho comuns, clique na guia Uso geral (padrão).

      • Para cargas de trabalho que exigem alto desempenho, clique na guia Otimização de computação.

      • Para cargas de trabalho com altas proporções entre memória e vCPUs, clique na guia Otimização de memória.

      • Para cargas de trabalho que usam unidades de processamento gráfico (GPUs), clique na guia GPUs.

    3. Siga uma das seguintes ações:

      • Se você especificou Uso geral, Otimização para computação ou Otimização de memória na etapa anterior, faça isto:

        1. Na lista Série, selecione uma série de máquina.

        2. Na lista Tipo de máquina, selecione um tipo de máquina.

        3. Opcional: para personalizar ainda mais a máquina das VMs que você está solicitando reserva, expanda Configurações avançadas e siga as instruções.

      • Se você especificou GPUs na etapa anterior, faça isto:

        1. No menu Tipo de GPU, selecione um tipo de GPU.

        2. No menu Número de GPUs, selecione o número de GPUs.

        3. Opcional: se o tipo de GPU permitir e você quiser usar os recursos reservados para executar cargas de trabalho com uso intensivo de gráficos, marque a caixa de seleção Ativar estação de trabalho virtual (NVIDIA GRID).

        4. Na lista Tipo de máquina, selecione um tipo de máquina.

        5. Na lista Plataforma de CPU, selecione uma plataforma para as VMs que você está solicitando reserva.

    4. Opcional: se o tipo de máquina permitir e você quiser adicionar SSDs locais, faça isto:

      1. No campo Número de discos, selecione o número de discos para os SSDs locais.

      2. Na seção Tipo de interface, selecione uma das seguintes interfaces:

        • SCSI (padrão)

        • NVMe

  14. 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 de alternar Ativar exclusão automática para a posição ativada (padrão).

      2. Opcional: no campo Horário da exclusão automática, insira uma nova 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é 2 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.

  15. Siga uma das seguintes ações:

    • Para criar uma solicitação de reserva adiantada e enviá-la ao Google Cloud para análise, clique em Enviar.

    • Para criar uma solicitação de reserva adiantada, clique em Salvar rascunho.

    • Para sair sem salvar, clique em Cancelar.

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.

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
    --auto-delete-auto-created-reservations \
    --description="DESCRIPTION" \
    --local-ssd=size=375,interface=INTERFACE_1 \
    --local-ssd=size=375,interface=INTERFACE_2 \
    --machine-type=MACHINE_TYPE \
    --min-cpu-platform=MIN_CPU_PLATFORM \
    --name-prefix=NAME_PREFIX \
    --planning-status=PLANNING_STATUS \
    --project=PROJECT_ID \
    --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 a ser criada.
  • Opcional: para adicionar unidades de processamento gráfico (GPUs) a cada VM reservada, especifique:

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

    • ACCELERATOR_TYPE: o tipo de GPU a ser adicionada às VMs reservadas.

    Verifique se o tipo de máquina especificado na solicitação de reserva futura é compatível com os tipos de GPUs especificados e se a GPU está disponível na zona em que você quer reservar recursos. Caso contrário, você vai encontrar erros.

  • DESCRIPTION: opcional. Uma descrição para a solicitação de reserva adiantada.
  • INTERFACE_1 e INTERFACE_2: opcional. O tipo de interface que você quer que os SSDs locais de cada VM usem. O valor precisa ser um dos indicados abaixo:

    Cada SSD local tem 375 GB. Repita a flag --local-ssd para cada SSD local que quiser adicionar. É possível especificar no máximo 24 SSDs locais.

  • MACHINE_TYPE: um tipo de máquina a ser usado em cada VM. Especifique um dos seguintes valores:

    • Para um tipo de máquina predefinido: MACHINE_FAMILY-standard-CPUS.

    • Para um tipo de máquina personalizado: MACHINE_FAMILY-custom-CPUS-MEMORY. Antes de especificar um tipo de máquina personalizado, analise as limitações para VMs com tipos de máquina personalizados.

    Substitua:

    • MACHINE_FAMILY: a família de máquinas.

    • CPUS: o número de vCPUs.

    • MEMORY: a memória total para uma instância reservada. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB.

    Por exemplo, para especificar um tipo de máquina personalizado N2 com 4 vCPUs e 5 GB de memória, que é de 5.120 MB, especifique n2-custom-4-5120.

  • MINIMUM_CPU_PLATFORM: opcional. A plataforma de CPU mínima a ser usada em cada VM. Se você omitir a flag --min-cpu-platform, o valor dela será definido como a plataforma de CPU padrão da zona.

  • NAME_PREFIX: o prefixo do nome da solicitação de reserva adiantada. O nome de cada reserva criada automaticamente para essa solicitação de reserva adiantada começa com o prefixo do nome. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  • PLANNING_STATUS: opcional. O status de planejamento da solicitação de reserva adiantada, que precisa ser um destes:

    • Para criar o rascunho de uma solicitação de reserva adiantada, especifique DRAFT.

    • Para criar a solicitação de reserva adiantada e enviá-la ao Google Cloud para aprovação, especifique SUBMITTED.

    Se você omitir a flag --planning-status, o valor dela será definido como DRAFT.

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

  • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas dos IDs de projeto com os quais essa solicitação de reserva futura pode ser compartilhada. Por exemplo, especifique 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, as reservas criadas automaticamente já são permitidas para a solicitação de reserva futura.
  • START_TIME: o horário de início do período de reserva formatado como um carimbo de data/hora RFC 3339, que precisa ser conforme a seguir:

    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 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise. Para ter tempo suficiente para cancelar, excluir ou modificar de maneira opcional uma solicitação de reserva adiantada depois que ela for aprovada ou antes de entrar 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 a flag --end-time pela flag --duration=END_DURATION, em que END_DURATION é a duração do período de reserva 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.

  • TOTAL_COUNT: o número total de VMs que você quer reservar para o período, a configuração da VM e o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular o número de reservas a serem criadas para uma reserva adiantada aprovada, o Compute Engine primeiro verifica se já existem reservas. Se já existirem reservas correspondentes à reserva adiantada aprovada, o número de reservas existentes será subtraído do número total solicitado de reservas na solicitação para determinar o número de novas reservas que o Compute Engine criará. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

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

Quando você especifica a flag --auto-delete-auto-created-reservations, o Compute Engine exclui automaticamente as reservas criadas automaticamente para sua solicitação de reserva adiantada. Por padrão, o horário de exclusão é em até 2 horas após o horário de término do período de reserva. Também é possível alterar isso realizando uma 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 um horário específico após o horário de término do período de reserva, especifique as flags --auto-delete-auto-created-reservations e --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create example-future-reservation \
          --auto-delete-auto-created-reservations \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          ...
      

      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, especifique as sinalizações --auto-delete-auto-created-reservations e --auto-created-reservations-duration.

      gcloud beta compute future-reservations create example-future-reservation \
          --auto-delete-auto-created-reservations \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          ...
      

      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 impedir que o Compute Engine exclua automaticamente as reservas criadas automaticamente, especifique a flag --no-auto-delete-auto-created-reservations. Desative a opção de exclusão automática se quiser anexar sua reserva criada automaticamente a um compromisso.

    gcloud beta compute future-reservations create example-future-reservation \
        --no-auto-delete-auto-created-reservations \
        ...
    

Por exemplo, o comando a seguir cria um rascunho de solicitação de reserva adiantada para 80 VMs. A solicitação de reserva futura é compartilhada com project-1 e project-2. O período de reserva começa à meia-noite de 10 de novembro de 2023 UTC e termina à meia-noite de 10 de dezembro de 2023 UTC. As VMs reservadas especificam um tipo de máquina n2-standard-4, uma plataforma de CPU mínima de skylake e um SSD local com a interface scsi e 375 GB cada. As reservas criadas automaticamente para a reserva futura são criadas na zona us-central1-a, têm um nome que começa com fr-02-reservation e são excluídas automaticamente à meia-noite de 13 de dezembro de 2023 UTC.

gcloud beta compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --auto-created-reservations-delete-time=2023-12-13T00:00:00Z \
    --local-ssd=size=375,interface=scsi \
    --machine-type=n2-standard-4 \
    --min-cpu-platform=skylake \
    --name-prefix=fr-02-reservation \
    --planning-status=DRAFT \
    --project=example-project \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --start-time=2023-11-10T00:00:00Z \
    --end-time=2023-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

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.

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

{
  "autoDeleteAutoCreatedReservations": "AUTO_DELETE_AUTO_CREATED_RESERVATIONS",
  "description": "DESCRIPTION",
  "name": "FUTURE_RESERVATION_NAME",
  "namePrefix": "NAME_PREFIX",
  "planningStatus": "PLANNING_STATUS",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": {
    "instanceProperties": {
      "guestAccelerators": [
        {
          "acceleratorCount": NUMBER_OF_ACCELERATORS,
          "acceleratorType": "ACCELERATOR_TYPE"
        }
      ],
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "INTERFACE_1"
        },
        {
          "diskSizeGb": "375",
          "interface": "INTERFACE_2"
        }
      ],
      "machineType": "MACHINE_TYPE",
      "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
    },
    "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 você quer reservar recursos.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS: se você definir este campo como true, o Compute Engine excluirá de modo automático as reservas criadas automaticamente para essa solicitação de reserva adiantada, independentemente de serem totalmente consumidas ou não. Defina esse campo como false se você quiser anexar sua reserva criada automaticamente a um compromisso.

    Por padrão, o horário de exclusão é em até duas horas após o horário de término do período de reserva. Para mudar isso, siga um destes procedimentos:

    • 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 especifique o campo autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDeleteTime": "DELETE_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 carimbo de data/hora RFC 3339, que precisa ser conforme a seguir:

      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 do fuso horário Tempo Universal Coordenado (UTC). Por exemplo, para usar o fuso horário padrão do Pacífico (PST), especifique -08:00. Outra possibilidade é não usar ajuste: especifique Z.

    • 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 especifique o campo autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations
      
      {
        "autoDeleteAutoCreatedReservations": "true",
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        ...
      }
      

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

  • DESCRIPTION: opcional. Uma descrição para a solicitação de reserva adiantada.

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

  • NAME_PREFIX: o prefixo do nome da solicitação de reserva adiantada. O nome de cada reserva criada automaticamente para essa solicitação de reserva adiantada começa com o prefixo do nome. Para ajudar a identificar as reservas criadas automaticamente para essa solicitação de reserva adiantada, é recomendável especificar um prefixo de nome exclusivo.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs de projeto com os quais essa solicitação de reserva futura pode ser compartilhada. 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, as reservas criadas automaticamente para essa solicitação de reserva futura já são permitidas.
  • PLANNING_STATUS: opcional. O status de planejamento da solicitação de reserva adiantada, que precisa ser um destes:

    • Para criar o rascunho de uma solicitação de reserva adiantada, especifique DRAFT.

    • Para criar a solicitação de reserva adiantada e enviá-la ao Google Cloud para aprovação, especifique SUBMITTED.

    Se você omitir o campo planningStatus, o valor dele será definido como DRAFT.

  • Opcional: para adicionar unidades de processamento gráfico (GPUs) a cada VM reservada, especifique:

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

    • ACCELERATOR_TYPE: o tipo de GPU a ser adicionada às VMs reservadas.

    Verifique se o tipo de máquina especificado na solicitação de reserva futura é compatível com os tipos de GPUs especificados e se a GPU está disponível na zona em que você quer reservar recursos. Caso contrário, você vai encontrar erros.

  • INTERFACE_1 e INTERFACE_2: opcional. O tipo de interface que você quer que os SSDs locais de cada VM usem. O valor precisa ser um dos indicados abaixo:

    Cada SSD local tem 375 GB. Repita a flag --local-ssd para cada SSD local que quiser adicionar. É possível especificar no máximo 24 SSDs locais.

  • MACHINE_TYPE: um tipo de máquina a ser usado em cada VM. Especifique um dos seguintes valores:

    • Para um tipo de máquina predefinido: MACHINE_FAMILY-standard-CPUS.

    • Para um tipo de máquina personalizado: MACHINE_FAMILY-custom-CPUS-MEMORY. Antes de especificar um tipo de máquina personalizado, analise as limitações para VMs com tipos de máquina personalizados.

    Substitua:

    • MACHINE_FAMILY: a família de máquinas.

    • CPUS: o número de vCPUs.

    • MEMORY: a memória total para uma instância reservada. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB.

    Por exemplo, para especificar um tipo de máquina personalizado N2 com 4 vCPUs e 5 GB de memória, que é de 5.120 MB, especifique n2-custom-4-5120.

  • MINIMUM_CPU_PLATFORM: opcional. A plataforma de CPU mínima a ser usada em cada VM. Se você omitir a flag --min-cpu-platform, o valor dela será definido como a plataforma de CPU padrão da zona.

  • TOTAL_COUNT: o número total de VMs que você quer reservar para o período, a configuração da VM e o(s) projeto(s) especificado(s) nessa solicitação de reserva adiantada.

    Ao calcular o número de reservas a serem criadas para uma reserva adiantada aprovada, o Compute Engine primeiro verifica se já existem reservas. Se já existirem reservas correspondentes à reserva adiantada aprovada, o número de reservas existentes será subtraído do número total solicitado de reservas na solicitação para determinar o número de novas reservas que o Compute Engine criará. Para mais informações, veja como o Compute Engine conta e provisiona recursos reservados.

  • START_TIME: o horário de início do período de reserva formatado como um carimbo de data/hora RFC 3339. O horário de início não pode ser posterior a 1 ano a partir da data e do horário em que você envia uma solicitação de reserva adiantada para análise. Além disso, especifique um valor recomendado para o horário de início para garantir a você tempo suficiente antes que uma reserva adiantada entre no horário de bloqueio.

  • 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, o comando a seguir cria um rascunho de solicitação de reserva adiantada para 80 VMs. A solicitação de reserva futura é compartilhada com project-1 e project-2. O período de reserva começa à meia-noite de 10 de novembro de 2023 UTC e termina à meia-noite de 10 de dezembro de 2023 UTC. As VMs reservadas especificam um tipo de máquina n2-standard-4, uma plataforma de CPU mínima de skylake e um SSD local com a interface SCSI e 375 GB cada. As reservas criadas automaticamente para a reserva futura são criadas na zona us-central1-a, têm um nome que começa com fr-02-reservation e são excluídas automaticamente à meia-noite de 13 de dezembro de 2023 UTC.

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

{
  "autoDeleteAutoCreatedReservations": "true",
  "autoCreatedReservationsDeleteTime": "2023-12-13T00:00:00Z",
  "name": "fr-02",
  "namePrefix": "fr-02-reservation",
  "specificSkuProperties": {
    "instanceProperties": {
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ],
      "machineType": "n2-standard-4",
      "minCpuPlatform": "Skylake"
    },
    "totalCount": "80"
  },
  "planningStatus": "DRAFT",
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2023-11-10T00:00:00Z",
    "endTime": "2023-12-10T00:00:00Z"
  }
}

Enviar um rascunho de solicitação de reserva adiantada para análise

É possível enviar um rascunho de solicitação de reserva adiantada ao Google Cloud para revisão usando o console do Google Cloud, a CLI gcloud e a REST. No entanto, se você também quiser modificar uma ou mais propriedades ao enviar o rascunho da solicitação de reserva adiantada para análise, consulte Modificar um rascunho ou uma solicitação de reserva adiantada recusada.

Console

Para enviar um rascunho de solicitação de reserva adiantada para análise, siga estas etapas:

  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 de detalhes do rascunho da solicitação de reserva adiantada abre.

  5. Para enviar o rascunho da solicitação de reserva adiantada ao Google Cloud 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 \
    --project=PROJECT_ID \
    --zone=ZONE

Substitua:

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

  • 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.

REST

Para enviar o rascunho de uma solicitação de reserva adiantada para análise, faça uma solicitação PATCH ao método beta.futureReservations.update com o campo planningStatus definido 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 adiantada, veja como solucionar problemas de solicitações de reserva adiantada.

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