Descontos por uso contínuo com base em recursos


O Compute Engine oferece descontos por compromisso de uso (CUDs) com base em recursos às suas cargas de trabalho previsíveis para ajudar a reduzir os custos dos recursos de que você precisa. É possível adquirir e renovar contratos ou compromissos de uso com base em recursos em troca de preços com grandes descontos para o uso de VMs.

Neste documento, descrevemos informações sobre os compromissos com base em recursos do Compute Engine, como comprá-os e os CUDs resultantes. Para saber mais sobre CUDs flexíveis do Compute Engine, consulte CUDs flexíveis.

Compromissos baseados em recursos são ideais para uso de estado previsível e estável. O Compute Engine permite comprar as seguintes categorias de compromissos baseados em recursos:

Os compromissos de recursos de hardware são separados dos compromissos de licenças. É possível comprar as duas categorias de compromissos para uma instância de VM, mas não é possível comprar um único compromisso que englobe recursos de hardware e licenças.

As recomendações de desconto por uso contínuo oferecem oportunidades para otimizar seus custos de computação, analisando as tendências de gastos da VM com e sem um contrato de desconto por uso contínuo. Ao comparar esses números, é possível ver quanto você pode economizar mensalmente com um contrato de uso contínuo. Para saber mais sobre como as recomendações de compromisso funcionam, consulte Noções básicas sobre recomendações de compromisso.

Os descontos por uso contínuo funcionam na maioria dos tipos de máquina do Compute Engine, inclusive os predefinidos e personalizados. Os descontos por uso contínuo são simples e flexíveis, e não exigem pagamento antecipado. Por aplicarem-se ao número agregado de vCPUs, memória, GPUs e discos SSDs locais em uma região, os descontos não são afetados pelas alterações na configuração da máquina da instância.

Para tipos de máquina compatíveis com o desempenho de rede por VM de Tier_1, as SKUs de largura de banda maior de 50, 75 e 100 Gbps são excluídas dos descontos.

As máquinas com núcleo compartilhado F1-micro e g1-small não são qualificadas para os descontos por uso contínuo.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine 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

Como funcionam os descontos por uso contínuo

Ao adquirir um contrato de compromisso de uso, você compra recursos do Compute Engine, como vCPUs, memória, GPUs, discos SSDs locais e nós de locatário individual, a um preço com desconto em troca do compromisso de pagamento desses recursos por um ou três anos. O desconto é de até 57% para a maioria dos recursos, como tipos de máquina ou GPUs. O desconto é de até 70% para tipos de máquina com otimização de memória. Confira os preços do compromisso de uso em diferentes tipos de máquina em Preços de instâncias de VM.

Durante a vigência do compromisso, você começa automaticamente a receber CUDs sobre o uso qualificado de recursos no projeto que corresponde aos tipos de recurso, tipo de máquina e região especificados no compromisso. Você continuará recebendo esses CUDs para o uso de recursos qualificados até que o compromisso expire.

O Compute Engine mantém uma garantia no seu projeto para cada região do projeto em que você adquire um compromisso. Quando você adquire um novo compromisso para qualquer região do projeto, o Compute Engine associa a garantia dessa região ao compromisso recém-criado.

Não é possível cancelar um compromisso de licença após a compra. O compromisso expira ao final da vigência especificada, de um ou três anos. No entanto, é possível ativar a renovação automática no seu compromisso para garantir que ele seja renovado automaticamente para um novo período.

Status do compromisso

O compromisso pode ter um dos seguintes status:

  • CREATING: o compromisso está sendo criado.
  • NOT_YET_ACTIVE ou PENDING: ele foi criado, mas ainda não está ativo. O Compute Engine cria compromissos com esse status.

    • Se você estiver usando a Google Cloud CLI ou a API REST para comprar o compromisso, esse valor de status será exibido como NOT_YET_ACTIVE.
    • Se você estiver usando o console do Google Cloud para adquirir seu compromisso, esse valor de status será exibido como PENDING.
  • ACTIVE: o compromisso está ativo.

  • EXPIRED: ele expirou. O Compute Engine reserva o direito de remover compromissos expirados há mais de 210 dias a partir da data de validade.

  • CANCELED: o Compute Engine cancelou o compromisso. O Compute Engine altera o status dos compromissos para CANCELED quando você os combina para criar um novo compromisso mesclado.

Entre o momento da compra do compromisso e o momento de ativação, o status dele permanece como NOT_YET_ACTIVE (ou como PENDING no console do Google Cloud). Após a ativação, o status do compromisso mudará para ACTIVE. Por exemplo, suponha que você compre o compromisso em 20 de janeiro às 22h nos EUA e no horário do Pacífico canadense (UTC-8 ou UTC-7). O Compute Engine cria seu compromisso imediatamente com o status dele como NOT_YET_ACTIVE. No entanto, seu compromisso passa a ser ACTIVE apenas em 21 de janeiro à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7).

Uso eficiente dos seus compromissos

Se você tiver apenas alguns projetos, será possível adquirir compromissos apenas para os recursos específicos que você pretende usar. Por exemplo, se você adquirir um compromisso de 8 núcleos e executar 24 durante o mês, receberá descontos por uso contínuo para 8 núcleos. Os outros 16 núcleos serão faturados com taxas padrão por uso não contínuo. Lembre-se de que, depois de comprar uma quantidade definida de compromissos, você receberá cobranças por eles mensalmente, mesmo que não os use. Por exemplo, se você comprar compromissos de 8 núcleos, pagará as taxas pelo uso contínuo desses 8 núcleos durante todo o mês, mesmo que só os tenha executado durante um curto período. Desse modo, só é vantajoso adquirir compromissos em incrementos que você sabe que vai usar.

Não é possível empilhar compromissos para cenários de burst. Por exemplo, se você comprou 10 núcleos por um mês e depois executou 20 núcleos durante metade do mês, seus compromissos não se aplicarão aos 20 núcleos completos porque o uso deles ocorreu somente por metade do mês.

Uso excedente

Qualquer uso de recursos por hora que não seja coberto pelos seus compromissos é cobrado com base nas taxas sob demanda e está qualificado para quaisquer descontos por uso prolongado (SUDs, na sigla em inglês) aplicáveis. Por exemplo, suponha que você execute um n2-standard-2 para uma parte do mês e um n2-standard-8 para outra do mesmo mês. O Compute Engine combina os dois e aplica SUDs à parte não coberta pelos descontos por compromisso de uso porque os dois tipos de máquina pertencem à família n2-standard.

Combinar reservas com compromissos

Um compromisso fornece um contrato de preço com desconto de um ou três anos, mas não reserva capacidade em uma zona específica. Uma reserva garante que a capacidade seja mantida em uma zona específica, mesmo que as VMs reservadas não estejam em execução. Para conseguir recursos zonais a preços com desconto e também garantir que a capacidade seja reservada para eles, você precisa adquirir compromissos e criar reservas para esses recursos zonais.

Também é possível anexar reservas aos compromissos baseados em recursos para garantir que as reservas sejam específicas a esses compromissos. Quando você se compromete a recursos de GPU ou SSD local, também é necessário reservá-los e anexar essas reservas ao compromisso.

Saiba mais em Como combinar reservas com descontos por compromisso de uso.

Compartilhar descontos por compromisso de uso entre projetos

Por padrão, os descontos por compromisso de uso são aplicados no nível do projeto, e você recebe os descontos por compromisso de uso aplicáveis somente para o projeto em que adquiriu o compromisso. Se você mover o projeto para o qual comprou seus compromissos para uma conta diferente do Cloud Billing, continuará recebendo os descontos por compromisso de uso aplicáveis a esse projeto na nova conta.

No entanto, o Compute Engine permite compartilhar descontos para compromissos de hardware entre vários projetos que compartilham a mesma conta do Cloud Billing. O compartilhamento dos descontos por uso contínuo em todos os projetos reduz a sobrecarga do gerenciamento de descontos por projeto e maximiza a economia ao agrupar todos os descontos no uso de recursos dos projetos.

Se você tiver vários projetos que compartilham a mesma Conta de faturamento do Cloud, poderá ativar o compartilhamento de desconto por uso contínuo para que todos os projetos nessa conta compartilhem todos os contratos de desconto por uso contínuo.

Por exemplo, você compra dois compromissos para 80 núcleos cada (um total de 160 núcleos) e executa 200 núcleos durante o mês em diferentes projetos na conta do Cloud Billing. Se você tiver ativado o compartilhamento de desconto por compromisso de uso da sua conta do Cloud Billing, receberá os descontos por compromisso de uso aplicáveis para 160 desses 200 núcleos usados nos projetos dessa conta. Os outros 40 núcleos serão faturados de acordo com as taxas de uso sob demanda e não compromissadas. Após a compra dos compromissos, seus recursos compromissados serão faturados mensalmente durante todo o período de compromisso, mesmo que você não use os recursos. Consulte noções básicas sobre o compartilhamento de descontos para conferir as recomendações de utilização econômica.

Os descontos por uso contínuo estão sujeitos ao preço e faturamento baseados em compromisso do Google Cloud. Ao adquirir esse desconto, você concorda com os termos.

Usar a atribuição para alocar descontos

Atribuição refere-se a como os descontos por uso contínuo são alocados nos projetos. Essas alocações são refletidas nas interfaces de gerenciamento de custos do Cloud Billing, como a exportação de custos de uso ou o console do Google Cloud.

A atribuição se aplica somente quando o compartilhamento de descontos está ativado. Você pode escolher o tipo de atribuição que quer usar antes de ativar o compartilhamento de descontos e, em seguida, ativar a configuração de atribuição ao ativar o compartilhamento de descontos.

Os compromissos do Compute Engine usam a atribuição proporcional por padrão. Os compromissos de atribuição proporcional são aplicados aos projetos de acordo com a quantidade do uso qualificado total consumido por cada projeto. Por exemplo, se o projeto A consumisse US$ 75 de uso e o projeto B consumisse US$ 25, o projeto A seria coberto por até 75% do crédito disponível e o projeto B seria coberto por até 25%.

Como alternativa, é possível escolher a atribuição priorizada para os compromissos do Compute Engine com base no uso que você especificar. Todos os compromissos não priorizados restantes são aplicados proporcionalmente ao uso qualificado nos projetos restantes. O valor total das cotas não pode exceder o valor do compromisso adquirido.

Para escolher a atribuição proporcional ou priorizada para compromissos do Compute Engine, consulte Escolher atribuição para compromissos baseados em recursos.

Especificações

  • Só é possível comprar compromissos baseados em recursos em uma região específica se você tiver cota disponível para essa região e para os seguintes itens:

    • Compromissos
    • Recursos confirmados (exceto a memória)

    Para mais informações, consulte Cotas para compromissos e recursos confirmados.

  • É necessário adquirir os compromissos por região.

  • Para gerenciar compromissos com a CLI gcloud, use gcloud na versão 147.0.0 ou mais recente. Para atualizar a CLI gcloud para a versão mais recente:

    gcloud components update
    

    Para verificar a versão da CLI gcloud que você está executando:

    gcloud version
    

Restrições

  • Os projetos que estão no período livre de cobranças com crédito e os que não têm histórico de pagamento não se qualificam para os descontos por uso contínuo.
  • Só é possível adquirir compromissos por região.
  • Não é possível alterar o projeto para o qual você comprou um compromisso. Caso queira compartilhar o desconto com vários projetos, ative o compartilhamento de desconto.

  • Para compromissos compartilhados entre projetos em uma Conta de faturamento do Cloud: se alguma parte do compromisso não for usada, a cobrança restante permanecerá no projeto que adquiriu essa parte do compromisso.

  • Os descontos por uso contínuo não se aplicam às instâncias de VM preemptivas, aos tipos de máquina com núcleo compartilhado N1 ou à memória estendida.

  • Para preços com desconto por uso contínuo para GPUs e discos SSD locais, é preciso reservar seus recursos e anexar essas reservas ao seu compromisso.

  • Os preços de desconto por compromisso de uso são independentes de preços sob demanda. Qualquer flutuação nos preços sob demanda não necessariamente se refletirá nos desconto por compromisso de uso.

  • Se uma reserva for anexada a um desconto por uso contínuo, ela não poderá ser excluída durante o prazo do compromisso.

  • Só é possível comprar compromisso de um ano em GPUs K80.

Preços

O faturamento do compromisso será feito mensalmente, e sua taxa mensal precisa ser paga mesmo que você não use todos os recursos comprometidos. A taxa de compromisso é a soma dos preços com desconto de todos os recursos comprometidos. O Compute Engine calcula o preço com desconto de cada recurso usando o preço sob demanda prevalecente no dia em que o compromisso é ativado. A taxa de compromisso mensal e os preços com desconto dos recursos permanecerão iguais até o final do prazo do compromisso, mesmo que os preços sob demanda sofram alteração.

O preço com desconto (também conhecido como preço de CUD) para instâncias de VM, com ou sem GPUs e discos SSD locais, varia de acordo com a região. Para ver as taxas atuais, consulte Preços de instâncias de VM.

Se você mover o projeto para o qual comprou compromissos para uma conta de faturamento do Cloud diferente, você continuará recebendo descontos por compromisso de uso para esse projeto em a nova conta do Cloud Billing. Saiba mais sobre como alterar a conta do Cloud Billing em um projeto.

Tipos de compromisso

É possível adquirir compromissos para os recursos a seguir.

Tipos de compromisso Recursos para os quais é possível adquirir descontos Aplicável aos tipos de recurso a seguir
Compromissos de uso geral E2
  • vCPUs
  • Memória
Todos os tipos de máquina E2
Compromissos de uso geral N2
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina N2
  • Todos os tipos de nó de locatário individual N2
Compromissos de uso geral N2D
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina N2D
  • Todos os tipos de nó de locatário individual N2D
Compromissos C3 de uso geral
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina C3
  • Todos os tipos de nó de locatário individual C3
Compromissos de uso geral C3D
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina C3D
  • Todos os tipos de nó de locatário individual C3D
Compromissos de uso geral de Tau T2D
  • vCPUs
  • Memória
Tipos de máquina Tau T2D padrão
Compromissos de uso geral N1
  • vCPUs
  • Memória
  • GPUs
  • SSD local
  • Todos os tipos de máquina N1, excluindo o núcleo compartilhado.
  • Todos os tipos de nó de locatário individual N1
  • GPUs:
    • NVIDIA T4
    • NVIDIA V100
    • NVIDIA P100
    • NVIDIA P4
    • NVIDIA K80
Compromissos H3 com otimização para computação
  • vCPUs
  • Memória
  • Todos os tipos de máquina H3
Compromissos C2 com otimização de computação
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina C2
  • Todos os tipos de nó de locatário individual C2
Compromissos C2D com otimização de computação
  • vCPUs
  • Memória
  • SSD local
Todos os tipos de máquina C2D
Compromissos M1/M2 com otimização de memória
  • vCPUs
  • Memória
  • SSD local
  • Todos os tipos de máquina M1 e M2
  • Todos os tipos de nó de locatário individual M1 e M2
Compromissos M3 com otimização de memória
  • vCPUs
  • Memória
  • SSD local
Todos os tipos de máquina M3
Compromissos A2 otimizados para aceleradores
  • vCPUs
  • Memória
  • GPUs
  • SSD local
  • Todos os tipos de máquina A2
  • GPUs:
    • NVIDIA A100
Compromissos A3 otimizados para aceleradores
  • vCPUs
  • Memória
  • GPUs
  • SSD local
  • Todos os tipos de máquina A3
  • GPUs:
    • NVIDIA H100
Compromissos G2 otimizados para aceleradores
  • vCPUs
  • Memória
  • GPUs
  • SSD local
  • Todos os tipos de máquina G2
  • Todos os tipos de nó de locatário individual da G2
  • GPUs:
    • NVIDIA L4

Não é possível adquirir compromissos para tipos de máquinas f1-micro ou g1-small e para a cobrança premium de locatário individual.

Compromissos para tipos de máquina

Compre o tipo de compromisso apropriado para os tipos de máquina que você está usando.

Compromissos de uso geral

Os descontos para compromissos de uso geral são aplicados aos recursos na ordem a seguir:

  1. Tipos de máquina personalizados E2, N2, N2D ou N1, dependendo do compromisso adquirido
  2. Nós de locatário individual
  3. Tipos de máquina predefinidos E2, N2, N2D, C3, C3D, Tau T2D ou N1, dependendo do compromisso adquirido

Ao adquirir compromissos de uso geral, você escolhe a série de máquinas a que o compromisso se aplica. Por exemplo, se você comprar compromissos de uso geral E2, eles se aplicarão apenas aos tipos de máquina E2. Da mesma forma, se você comprar compromissos de uso geral N2, N2D, C3, C3D, Tau T2D ou N1, eles nunca se sobrepõem.

Por exemplo, vamos supor que você tenha uma região com a combinação a seguir:

  • 10 vCPUs com tipo de máquina personalizado N2
  • Memória de 30 GB com tipo de máquina personalizado
  • 2 tipos de máquina predefinidos n2-standard-4

Você compra compromissos N2 para 15 vCPUs e 13,5 GB de memória para uso contínuo. Os descontos por uso contínuo seriam aplicados primeiro aos tipos de máquina personalizados N2. Os descontos restantes seriam aplicados aos tipos de máquina predefinidos N2. Nesse caso, todas as 10 vCPUs dos tipos de máquina personalizados N2 e os 13,5 GB de memória do tipo de máquina personalizado seriam cobrados com os preços de uso contínuo.

Os descontos para as 5 vCPUs restantes se aplicam a 5 vCPUs aleatórias nos dois tipos de máquina n2-standard-4 machine. Quaisquer recursos sem cobertura do uso contínuo podem se qualificar para os descontos por uso prolongado.

Para adquirir um compromisso para tipos de máquinas de uso geral, consulte Comprar compromissos sem reservas anexadas.

Compromissos com otimização de memória

Os descontos por compromisso de uso de otimização de memória estão disponíveis em dois níveis. Um nível se aplica a tipos de máquina M1 e M2. O outro nível se aplica apenas aos tipos de máquinas M3. Não é possível usar o mesmo desconto por compromisso de uso para todos os tipos de máquina com otimização de memória.

A cota para esses descontos por compromisso de uso é individual. Se você quiser usar um desconto por compromisso de uso para um tipo de máquina M1, é necessário ter uma cota para uma máquina M1. O mesmo acontece com o M2 e o M3, que é preciso ter a cota para o desconto por compromisso de uso.

Se você pretende usar tipos de máquinas com otimização de memória, compre compromissos de otimização de memória. Para adquirir um compromisso para tipos de máquina com otimização de memória, consulte Comprar compromissos sem reservas anexadas.

Compromissos com otimização de computação

Se você pretende usar tipos de máquinas com otimização de computação, compre compromissos com otimização de computação. Para adquirir um compromisso:

Compromissos com otimização para aceleradores

Se você pretende usar tipos de máquinas otimizados para aceleradores, adquira um compromisso para tipos de máquinas A3, A2 ou G2. Para adquirir um compromisso para os tipos de máquina A3, A2 ou G2, consulte Comprar compromissos com reservas anexadas.

Compromissos para GPUs e recursos SSD locais

Para adquirir compromissos para GPUs, discos SSD locais ou ambos, também é necessário reservar os recursos e anexar as reservas ao seu compromisso. A reserva desses recursos é necessária para garantir que eles estejam sempre disponíveis para você, quer sejam usados ou não. Não há qualquer outra cobrança pela reserva dos recursos.

Você precisa adquirir compromissos por tipos específicos de GPU. Por exemplo, é possível comprar GPUs para NVIDIA P100s ou NVIDIA V100s, mas não é possível adquirir compromissos para as GPUs NVIDIA P100 e aplicá-las a outros tipos de GPU.

Para adquirir um compromisso para GPUs, discos SSD locais ou ambos, consulte Compromissos de compra com reservas anexadas neste documento.

Para saber mais sobre compromissos com reservas anexadas, consulte Anexar reservas a compromissos baseados em recursos.

Cotas para compromissos e recursos confirmados

Só é possível comprar compromissos baseados em recursos em uma região específica se você tiver cota disponível para essa região e para os seguintes itens:

  • Compromissos
  • Recursos confirmados (exceto a memória)

Especificamente, para adquirir compromissos para qualquer vCPU, GPU ou discos SSD locais, é preciso ter uma cota disponível para compromissos e para as SKUs confirmadas específicas na região em que você quer adquirir o compromisso. Não há cota na memória. Portanto, não é necessário ter uma cota separada para que a memória confirmada compre um compromisso de memória.

Por exemplo, para adquirir cinco compromissos que abrangem 32 vCPUs do tipo de máquina N1 de uso geral, 16 GB de memória, 4 GPUs NVIDIA P4 e 2 discos SSDs locais na região us-central1, é preciso ter cota para cada um dos seguintes itens:

  • Cinco compromissos em us-central1
  • 32 vCPUs N1 confirmadas em us-central1
  • Quatro GPUs NVIDIA P4 confirmadas em us-central1
  • 750 GB (ou dois discos SSD locais) de espaço em disco SSD local confirmado em us-central1

Limites de cotas

Por padrão, o Compute Engine oferece uma quantidade específica de cota de compromisso para cada tipo de recurso confirmado. Esses limites de cota determinam o número de compromissos que é possível comprar e a quantidade de recursos com os quais você pode se comprometer. Para saber como ver os limites e os valores de uso para seus compromissos e recursos confirmados, consulte Ver cotas no Console do Google Cloud.

Se você paga constantemente uma quantidade muito alta de vCPUs confirmadas pelos projetos em diferentes regiões, talvez atenda aos requisitos para a cota ilimitada das suas vCPUs confirmadas para todos os tipos de máquina (exceto para aqueles com otimização de memória) em todas as regiões.

Se você usar toda a cota de compromisso, não será possível comprar novos compromissos. Da mesma forma, se você esgotar sua cota de recursos confirmados, não será possível adquirir um novo compromisso para esse recurso, mesmo que você tenha cota disponível. Por exemplo, se você usou toda a cota de compromisso, o servidor retornará o seguinte erro quando você fizer um pedido de aprovação de compra de compromisso:

"Quota 'COMMITMENTS' exceeded. Limit: 0.0"

Aumentar os limites de cota

Se você não tiver cota suficiente para seus compromissos ou recursos comprometidos, solicite um aumento de cota na página "Cotas". É possível solicitar aumentos de cota a qualquer momento. Para saber como enviar uma solicitação de aumento dos limites de cota de recursos, consulte Solicitar um limite de cota maior.

Por exemplo, considere um cenário em que você adquiriu dois compromissos para um total de quatro GPUs NVIDIA V100 em us-central1 e atingiu os limites de cota. região. Suponha que você queira comprar dois novos compromissos para dois NVIDIA V100 GPUs cada na mesma região. Faça o seguinte:

  1. Envie uma nova solicitação para aumentar sua cota Committed NVIDIA V100 GPUs em us-central1 para o novo número máximo (8) desejado.
  2. Envie uma nova solicitação de aumento de sua cota Commitments em us-central1 para corresponder ao novo número máximo (4) desejado.

    Aguarde a aprovação e o encerramento das solicitações. Depois que as solicitações são aprovadas, o compromisso e as cotas de GPU confirmadas em us-central1 aumentam para corresponder às novas necessidades. Em seguida, será possível comprar os novos compromissos.

Se você fizer uma solicitação para um aumento no limite de cota de um recurso que já tem cota ilimitada por padrão, o valor da cota para esse recurso permanecerá ilimitado e você será notificado de que o limite solicitado é inferior ao limite aprovado.

Definir um limite para os limites de cota

É possível definir um limite para o valor da cota dos seus recursos confirmados criando uma substituição de cota do consumidor. Para recursos com cota ilimitada por padrão, a criação de uma substituição de cota do consumidor diminui o valor da cota. Para retornar a cota padrão ao valor ilimitado, remova a substituição do consumidor definida para as SKUs confirmadas. Para mais informações, consulte Como criar uma substituição de cota do consumidor e Como excluir uma substituição de cota do consumidor.

Para saber mais sobre como gerenciar cotas dos recursos, consulte Visualizar e gerenciar cotas.

Comprar compromissos sem reservas anexadas

É possível adquirir compromissos para vCPUs, memória ou ambos sem anexar reservas para esses recursos. É possível comprar esses compromissos usando o Console do Google Cloud, a CLI gcloud ou a API.

Para saber mais sobre compromissos com reservas anexadas, consulte Anexar reservas a compromissos baseados em recursos.

Para adquirir compromissos para GPUs, discos SSDs locais ou ambos, consulte Compromissos de compra com reservas anexadas.

Por padrão, os proprietários do projeto têm permissão para adquirir contratos de desconto por uso contínuo. No entanto, é possível que os proprietários criem papéis personalizados que incluam ou excluam determinados usuários. Leia sobre o controle de acesso para garantir que você tenha permissão para adquirir um contrato de desconto por uso contínuo.

Depois de adquirir um compromisso, ele ficará ativo no dia seguinte à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7 durante o horário de verão). O Compute Engine mantém uma garantia no seu projeto para cada região do projeto em que você adquire um compromisso. Quando você adquire um novo compromisso para qualquer região do projeto, o Compute Engine associa a garantia dessa região ao compromisso recém-criado.

Entre o momento da compra do compromisso e o momento de ativação, o status dele permanece como NOT_YET_ACTIVE (ou como PENDING no console do Google Cloud). Após a ativação, o status do compromisso mudará para ACTIVE. Por exemplo, suponha que você compre o compromisso em 20 de janeiro às 22h nos EUA e no horário do Pacífico canadense (UTC-8 ou UTC-7). O Compute Engine cria seu compromisso imediatamente com o status dele como NOT_YET_ACTIVE. No entanto, seu compromisso passa a ser ACTIVE apenas em 21 de janeiro à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7).

Os descontos são aplicados automaticamente às instâncias na região especificada e aos projetos em que esses descontos são comprados.

Console

Antes de adquirir um compromisso usando o console do Google Cloud, selecione o projeto que você quer usar para adquirir o compromisso. Se o compartilhamento de descontos estiver ativado para uma conta do Cloud Billing, será possível adquirir o compromisso usando qualquer projeto dessa conta. Depois de selecionar o projeto, execute estas etapas:

  1. No console do Google Cloud, acesse a página Desconto por compromisso de uso.

    Acesse "Descontos por uso contínuo"

  2. Para adquirir um novo compromisso, clique em Comprar compromisso.

  3. Nomeie seu compromisso.

  4. Escolha a região em que você quer aplicar.

  5. Escolha o tipo de compromisso.

    • Uso geral E2 para recursos do tipo de máquina E2
    • Uso geral N2 para recursos do tipo de máquina N2
    • Uso geral N2D para recursos do tipo de máquina N2D
    • Uso geral C3 para recursos do tipo de máquina C3
    • C3D de uso geral para recursos do tipo de máquina C3D
    • T2D de uso geral para recursos do tipo de máquina Tau T2D
    • Uso geral N1 para recursos do tipo de máquina N1
    • C2 com otimização para computação para recursos do tipo de máquina C2
    • C2D com otimização para computação para recursos do tipo de máquina C2D
    • M1/M2 com otimização de memória para recursos dos tipos de máquina M1 e M2
    • M3 com otimização de memória para recursos do tipo de máquina M3
    • A2 com otimização do acelerador para recursos do tipo de máquina A2
    • A3 com otimização do acelerador para recursos do tipo de máquina A3
    • G2 com otimização gráfica para recursos do tipo de máquina G2
  6. Escolha uma Duração de um ou três anos para o compromisso.

  7. Insira a quantidade de Núcleos ou Memória que você quer adquirir. Não há limite inferior, o número pode ser zero. A quantidade de núcleos precisa ser inserida como um número inteiro igual ou maior que zero. A memória pode ser adquirida em incrementos de 0,25 GB.

  8. Leia os termos de compra.

  9. Clique no botão Comprar para adquirir o compromisso.

gcloud

Usando a CLI gcloud, execute o comando gcloud compute commitments create:

gcloud compute commitments create COMMITMENT_NAME \
    --region REGION \
    --project PROJECT_ID \
    --resources vcpu=NUMBER_VCPUS,memory=MEMORY \
    --plan DURATION \
    --type COMMITMENT_TYPE

Substitua:

  • COMMITMENT_NAME: o nome para identificar o compromisso.
  • REGION: a região a que esse compromisso se aplica. Cada uma delas tem preços de compromisso diferentes. Para preços atuais, consulte a tabela de preços;
  • PROJECT_ID: o ID do projeto em que você quer criar o compromisso.
  • NUMBER_VCPUS: o número de vCPUs para as quais você quer adquirir compromissos. O número de vCPUs precisa ser um número inteiro de 0 ou mais, par ou ímpar.
  • MEMORY: a quantidade, em MB ou GB, de memória para a qual você quer adquirir compromissos. Por exemplo, 1000MB. Se as unidades não forem especificadas, a unidade padrão usada será GB. A memória pode ser adquirida em incrementos de 0,25 GB.
  • DURATION: o termo do compromisso, 12-month ou 36-month.
  • COMMITMENT_TYPE pode ser:

    • accelerator-optimized para recursos do tipo de máquina A2
    • accelerator-optimized-a3 para recursos do tipo de máquina A3
    • compute-optimized para recursos do tipo de máquina C2
    • compute-optimized-c2d para recursos do tipo de máquina C2D
    • compute-optimized-c3 para recursos do tipo de máquina C3
    • compute-optimized-c3d para recursos do tipo de máquina C3D
    • general-purpose para recursos do tipo de máquina N1
    • general-purpose-e2 para recursos do tipo de máquina E2
    • general-purpose-n2 para recursos do tipo de máquina N2
    • general-purpose-n2d para recursos do tipo de máquina N2D
    • general-purpose-t2d para recursos do tipo de máquina Tau T2D
    • graphics-optimized para recursos do tipo de máquina G2
    • memory-optimized para recursos de tipo de máquina M1 ou M2
    • memory-optimized-m3 para recursos do tipo de máquina M3

      Se você não especificar a sinalização --type, o valor padrão usado será general-purpose.

Exemplos

  • Para criar um compromisso de uso geral para os tipos de máquina N1, use o exemplo a seguir:

    gcloud compute commitments create example-commitment --region us-central1 \
      --resources vcpu=5,memory=33280MB --plan 12-month \
      --project=myproject
    
  • Para criar um compromisso com otimização para computação, use o comando gcloud compute commitments create, que adquire um compromisso de um ano para um tipo de máquina otimizado para computação:

    gcloud compute commitments create example-compute-optimized-commitment \
      --region us-central1 --resources vcpu=2,memory=3814GB --plan 12-month \
      --type compute-optimized --project=myproject
    
  • Para criar um compromisso com otimização de memória:

    gcloud compute commitments create example-memory-optimized-commitment \
      --region us-central1 --resources vcpu=96,memory=1434MB \
      --plan 12-month --type memory-optimized \
      --project=myproject
    
  • Para criar um compromisso otimizado para aceleradores, é preciso adquirir o compromisso com uma reserva anexada compatível usando o comando gcloud compute commitments create. Também é preciso especificar o número total de recursos necessários, incluindo GPUs.

    Ao criar compromissos de GPU, é necessário especificar os flags --accelerator e --resources-accelerator. A sinalização --accelerator especifica o número de GPUs anexadas a cada VM. O flag --resources-accelerator especifica o número total de GPUs no compromisso.

    Por exemplo, o compromisso a seguir inclui 96 vCPUs, 680 GB de memória, 8 GPUs e uma reserva a ser usada em duas VMs em us-central1-a.

    gcloud compute commitments create example-accelerator-optimized-commitment \
      --region=us-central1 \
      --project=myproject \
      --resources=vcpu=96,memory=680GB \
      --resources-accelerator=count=8,type=nvidia-tesla-a100 \
      --plan 12-month \
      --type accelerator-optimized \
    
      --reservation=reservation-01 \
      --reservation-zone=us-central1-a \
      --machine-type=a2-highgpu-4g \
      --accelerator=count=4,type=nvidia-tesla-a100 \
      --vm-count=2
    
    
  • Para criar um compromisso de GPUs, discos SSD locais ou ambos, é preciso comprar o compromisso com uma reserva anexada usando o comando gcloud compute commitments create.

    Ao criar compromissos de GPU, é necessário especificar os flags --accelerator e --resources-accelerator. A sinalização --accelerator especifica o número de GPUs anexadas a cada VM. O flag --resources-accelerator especifica o número total de GPUs no compromisso.

    Por exemplo, o compromisso a seguir inclui quatro GPUs e uma reserva para essas GPUs a serem usadas em duas instâncias em us-central1-a.

    gcloud compute commitments create example-reservation-commitment \
      --region=us-central1 \
      --project=myproject \
      --resources=vcpu=96,memory=624GB \
      --resources-accelerator=type=nvidia-tesla-v100,count=4 \
      --plan 12-month \
      
      --reservation=reservation-01 \
      --reservation-zone=us-central1-a \
      --machine-type=n1-standard-32
      --accelerator=type=nvidia-tesla-v100,count=2 \
      --vm-count=2
      
    

REST

Na API, faça uma solicitação POST para o método regionCommitments.insert, com um corpo de solicitação que contenha informações sobre o compromisso:

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID

O corpo do recurso precisa conter o seguinte:

  • name como o nome do compromisso
  • plan como o termo do compromisso, seja de TWELVE_MONTH ou THIRTY_SIX_MONTH
  • resources para especificar o volume de memória e vCPU. A memória precisa ser especificada em MB. É necessário especificar VCPU e MEMORY na seção resources.
  • type de compromisso, uma das seguintes opções:

    • ACCELERATOR_OPTIMIZED para recursos do tipo de máquina A2
    • ACCELERATOR_OPTIMIZED_A3 para recursos do tipo de máquina A3
    • COMPUTE_OPTIMIZED para recursos do tipo de máquina C2
    • COMPUTE_OPTIMIZED_C2D para recursos do tipo de máquina C2D
    • COMPUTE_OPTIMIZED_C3 para recursos do tipo de máquina C3
    • COMPUTE_OPTIMIZED_C3D para recursos do tipo de máquina C3D
    • GENERAL_PURPOSE para recursos do tipo de máquina N1
    • GENERAL_PURPOSE_E2 para recursos do tipo de máquina E2
    • GENERAL_PURPOSE_N2 para recursos do tipo de máquina N2
    • GENERAL_PURPOSE_N2D para recursos do tipo de máquina N2D
    • GENERAL_PURPOSE_T2D para recursos do tipo de máquina Tau T2D
    • GRAPHICS_OPTIMIZED para recursos do tipo de máquina G2
    • MEMORY_OPTIMIZED para recursos de tipo de máquina M1 ou M2
    • MEMORY_OPTIMIZED_M3 para recursos do tipo de máquina M3

Por exemplo, o código a seguir cria um compromisso de 1 ano com 5 vCPUs e 18,75 GB de memória:

{
  "name": "example-commitment",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources": [
    {
    "amount": "5",
    "type": "VCPU"
    },
    {
    "amount": "19200",
    "type": "MEMORY"
    }
  ]
}

Para criar um compromisso com otimização de memória, inclua a propriedade type. No exemplo a seguir, você verá a compra de um compromisso de um ano para um tipo de máquina m1-megamem-96:

{
  "name": "example-memory-optimized-commitment",
  "plan": "TWELVE_MONTH",
  "type": "MEMORY_OPTIMIZED",
  "resources": [
    {
    "amount": "96",
    "type": "VCPU"
    },
    {
    "amount": "1434",
    "type": "MEMORY"
    }
  ]
}

Para criar um compromisso com otimização de computação, inclua a propriedade type. No exemplo a seguir, mostramos a compra de um compromisso de um ano para um tipo de máquina c2-standard-16:

{
  "name": "example-compute-optimized-commitment",
  "plan": "TWELVE_MONTH",
  "type": "COMPUTE_OPTIMIZED",
  "resources": [
    {
    "amount": "16",
    "type": "VCPU"
    },
    {
    "amount": "1434",
    "type": "MEMORY"
    }
  ]
}

Comprar compromissos com reservas anexadas

Quando você compra um novo compromisso, é possível anexar reservas a ele de uma das seguintes maneiras:

Depois de adquirir um compromisso, ele ficará ativo no dia seguinte à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7 durante o horário de verão). Entre o momento da compra do compromisso e o momento de ativação, o status dele permanece como NOT_YET_ACTIVE (ou como PENDING no console do Google Cloud). Após a ativação, o status do compromisso mudará para ACTIVE. Por exemplo, suponha que você compre o compromisso em 20 de janeiro às 22h nos EUA e no horário do Pacífico canadense (UTC-8 ou UTC-7). O Compute Engine cria seu compromisso imediatamente com o status dele como NOT_YET_ACTIVE. No entanto, seu compromisso passa a ser ACTIVE apenas em 21 de janeiro à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7).

Requisitos

Antes de adquirir um compromisso com reservas anexadas, revise estes requisitos e verifique se o compromisso e as reservas atendem aos seguintes critérios:

  • É necessário adquirir o compromisso e criar as reservas anexadas no mesmo projeto e região.
  • É necessário adquirir o compromisso e criar as reservas anexadas para recursos da mesma série de família de máquinas.
  • Desative a opção de exclusão automática nas reservas anexadas.
  • Se o compromisso tiver GPUs, o tipo de GPU na reserva e o compromisso precisarão ser correspondentes.
  • Para GPUs e discos SSD locais, o número de recursos reservados de cada tipo de recurso precisa corresponder exatamente ao número de recursos comprometidos desse tipo de recurso. Por exemplo, se você quiser adquirir um compromisso para quatro GPUs V100, as reservas anexadas ao compromisso precisarão ter um total de quatro GPUs V100. No entanto, a quantidade de vCPU e memória que você reserva pode ser maior ou menor do que a que você se compromete.
  • Para GPUs, adquira compromissos para os tipos específicos de GPU que você pretende usar. Por exemplo, é possível comprar compromissos para NVIDIA P100s ou NVIDIA V100s, mas não é possível usar um compromisso que tenha sido comprado para GPUs NVIDIA P100 para abranger GPUs NVIDIA V100.
  • Se a reserva anexada for uma reserva compartilhada e você quiser receber os CUDs aplicáveis quando consumir essa reserva fora do projeto do compromisso, faça o seguinte:

    • Compartilhe suas reservas apenas entre projetos que pertençam à mesma conta do Cloud Billing que o compromisso.
    • Ative o compartilhamento de CUD para essa conta do Cloud Billing.

Anexar reservas já criadas

Para comprar um compromisso, anexe as reservas atuais a ele usando a CLI do Google Cloud ou o REST.

gcloud

Para adquirir um compromisso anexando reservas atuais, execute o comando gcloud compute commitments create. No seu comando, inclua a sinalização --existing-reservation para especificar uma reserva atual que você queira anexar ao compromisso. Inclua uma nova instância dessa sinalização para cada reserva atual que você queira anexar. É possível anexar qualquer número de reservas atuais ao compromisso.

Por exemplo, para adquirir um compromisso anexando duas reservas a ele, execute o seguinte comando:

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
    --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \
    --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'

Substitua:

  • COMMITMENT_NAME: o nome do compromisso.
  • REGION: a região em que a chave está localizada.
  • PROJECT_ID: o ID do projeto em que você quer comprar o compromisso com as reservas anexadas.
  • DURATION: a duração do compromisso, 12-month ou 36-month.
  • COMMITMENT_TYPE: o tipo de compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:

    • accelerator-optimized para recursos de tipo de máquina
    • compute-optimized para recursos do tipo de máquina C2
    • compute-optimized-c2d para recursos do tipo de máquina C2D
    • compute-optimized-c3 para recursos do tipo de máquina C3
    • compute-optimized-c3d para recursos do tipo de máquina C3D
    • general-purpose para recursos do tipo de máquina N1
    • general-purpose-e2 para recursos do tipo de máquina E2
    • general-purpose-n2 para recursos do tipo de máquina N2
    • general-purpose-n2d para recursos de máquina N2D
    • general-purpose-t2d para recursos do tipo de máquina Tau T2D
    • graphics-optimized para recursos do tipo de máquina G2
    • memory-optimized para recursos de tipo de máquina M1 ou M2
    • memory-optimized-m3 para compromissos de tipo de máquina M3 com otimização de memória
  • COMMITTED_VCPUS: o número de vCPUs que você quer no compromisso. O número deve ser um número inteiro positivo.

  • COMMITTED_MEMORY: a quantidade, em MB ou GB, de memória que você quer no seu compromisso. Por exemplo, 10240MB ou 10GB. Se você não especificar uma unidade, o Compute Engine usará GB como a unidade. É possível comprar memória em incrementos de 0,25 GB.

  • COMMITTED_LOCAL_SSD: a quantidade, em GB, de espaço SSD local que você quer no seu compromisso. Cada SSD local tem 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: o número de GPUs que você quer no compromisso.

  • COMMITTED_ACCELERATOR_TYPE: o tipo de GPU que você quer no compromisso.

  • RESERVATION_NAME_1 e RESERVATION_NAME_2: os nomes das reservas atuais que você quer anexar ao compromisso.

  • RESERVATION_ZONE_1 e RESERVATION_ZONE_2: as zonas das reservas atuais que você quer anexar ao compromisso.

Exemplo: comprar um compromisso anexando reservas existentes

Suponha que você tenha duas reservas res-01 e res-02 nas zonas us-central1-a e us-central1-b do projeto myproject. Suponha que essas reservas tenham uma capacidade combinada para quatro GPUs NVIDIA P100 e quatro discos SSD locais. Para adquirir um novo compromisso na região us-central1 deste projeto para essas GPUs e discos SSD locais e usar essas reservas atuais como reservas anexadas, execute o comando a seguir. O compromisso de exemplo também contém vCPUs e memória.

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --existing-reservation=name=res-01,zone=us-central1-a \
    --existing-reservation=name=res-02,zone=us-central1-b
    

REST

Para adquirir um compromisso anexando reservas atuais, faça uma solicitação POST ao método regionCommitments.insert. Na solicitação, inclua o campo existingReservations para especificar uma lista separada por vírgulas de todas as reservas atuais que você quer anexar ao compromisso. É possível anexar qualquer número de reservas existentes ao seu compromisso.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "COMMITMENT_NAME",
  "plan": "DURATION",
  "type": COMMITMENT_TYPE,
  "resources":
  [
    {
      "amount": "COMMITTED_VCPUS",
      "type": "VCPU"
    },
    {
      "amount": "COMMITTED_MEMORY",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
      "amount": "COMMITTED_ACCELERATOR_COUNT",
      "type": "ACCELERATOR"
    }
    {
      "amount": "COMMITTED_LOCAL_SSD",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations": "RESERVATION_URLs"
}

Substitua:

  • COMMITMENT_NAME: o nome do compromisso.
  • REGION: a região em que a chave está localizada.
  • PROJECT_ID: o ID do projeto em que você quer comprar o compromisso com as reservas anexadas.
  • DURATION: a duração do compromisso, TWELVE_MONTH ou THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: o tipo de compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:

    • GENERAL_PURPOSE_E2 para recursos do tipo de máquina E2
    • GENERAL_PURPOSE_N2 para recursos do tipo de máquina N2
    • GENERAL_PURPOSE_N2D para recursos de máquina N2D
    • COMPUTE_OPTIMIZED_C3 para recursos do tipo de máquina C3
    • GENERAL_PURPOSE_C3D para recursos do tipo de máquina C3D
    • GENERAL_PURPOSE_T2D para recursos do tipo de máquina Tau T2D
    • GENERAL_PURPOSE para recursos do tipo de máquina N1
    • COMPUTE_OPTIMIZED para recursos do tipo de máquina C2
    • COMPUTE_OPTIMIZED_C2D para recursos do tipo de máquina C2D
    • MEMORY_OPTIMIZED para recursos de tipo de máquina M1 ou M2
    • MEMORY_OPTIMIZED_M3 para compromissos de tipo de máquina M3 com otimização de memória
    • ACCELERATOR_OPTIMIZED para recursos de tipo de máquina
    • GRAPHICS_OPTIMIZED para recursos do tipo de máquina G2
  • COMMITTED_VCPUS: o número de vCPUs que você quer no compromisso. O número deve ser um número inteiro positivo.

  • COMMITTED_MEMORY: a quantidade, em MB, de memória que você quer no compromisso. Por exemplo, 10240MB. É possível comprar memória em incrementos de 256 MB.

  • COMMITTED_LOCAL_SSD: a quantidade, em GB, de armazenamento SSD local que você quer no seu compromisso. Cada SSD local tem 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: o número de GPUs que você quer no compromisso.

  • COMMITTED_ACCELERATOR_TYPE: o tipo de GPU que você quer no compromisso.

  • RESERVATION_URLs: uma lista separada por vírgulas de URLs das reservas atuais que você quer anexar ao compromisso. Por exemplo, para anexar duas reservas, res-1 e res-2, especifique o seguinte:

    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1",
    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
    

Exemplo: comprar um compromisso anexando reservas existentes

Suponha que você tenha duas reservas res-01 e res-02 nas zonas us-central1-a e us-central1-b do projeto myproject. Suponha que essas reservas tenham uma capacidade combinada para quatro GPUs NVIDIA P100 e quatro discos SSD locais. Para adquirir um novo compromisso na região us-central1 deste projeto para essas GPUs e discos SSD locais e usar essas reservas atuais como reservas anexadas, faça a seguinte solicitação POST. Observe que o compromisso de exemplo também contém vCPUs e memória.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    },
    {
      "amount": "1536000",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations":
  [
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01",
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02"
  ]
}

Criar novas reservas para anexar

É possível criar suas reservas anexadas ao comprar seu compromisso usando o console do Google Cloud, a CLI do Google Cloud ou o REST.

Console

Antes de adquirir um compromisso usando o console do Google Cloud, selecione o projeto que você quer usar para adquirir o compromisso. Se o compartilhamento de descontos estiver ativado para uma conta do Cloud Billing, será possível adquirir o compromisso usando qualquer projeto dessa conta. Depois de selecionar o projeto, faça o seguinte:

  1. No console do Google Cloud, acesse a página Desconto por compromisso de uso.

    Acesse "Descontos por uso contínuo"

  2. Para adquirir um novo compromisso, clique em Comprar compromisso.

  3. Dê um nome ao compromisso e escolha a região em que ele será aplicado.

  4. Escolha o Tipo de compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:

    • Uso geral C3 para recursos do tipo de máquina C3
    • C3D de uso geral para recursos do tipo de máquina C3D
    • Uso geral N2 para recursos do tipo de máquina N2
    • Uso geral N2D para recursos do tipo de máquina N2D
    • Uso geral N1 para recursos do tipo de máquina N1
    • H3 com otimização para computação para recursos de tipo de máquina H3
    • C2 com otimização para computação para recursos do tipo de máquina C2
    • C2D com otimização para computação para recursos do tipo de máquina C2D
    • M1/M2 com otimização de memória para recursos dos tipos de máquina M1 e M2
    • M3 com otimização de memória para recursos do tipo de máquina M3
    • A3 com otimização do acelerador para recursos do tipo de máquina A3
    • A2 com otimização do acelerador para recursos do tipo de máquina A2
    • G2 com otimização gráfica para recursos do tipo de máquina G2
  5. Escolha uma Duração de um ou três anos para o compromisso.

  6. Insira a quantidade de Núcleos e Memória que você quer adquirir. Se você só quiser reservar e se comprometer com GPUs ou discos SSDs locais sem se comprometer com vCPU e memória, especifique 0 para as quantidade de compromissos de vCPU e memória.

  7. Clique em Adicionar GPUs e selecione o Tipo de GPU e o Número de GPUs com os quais você quer se comprometer.

  8. Clique em Incluir SSD local e especifique o número de discos com o qual você quer se comprometer.

  9. Para criar uma reserva e anexá-la ao compromisso, clique em Adicionar uma reserva.

    1. No campo Nome, insira um nome para a reserva.
    2. Escolha a Região e a Zona em que você quer reservar recursos.
    3. Escolha o Tipo de compartilhamento de sua preferência:
      • Para criar uma reserva para um único projeto, selecione Local.
      • Para criar uma reserva compartilhada entre vários projetos, selecione Compartilhado. Para compartilhar essa reserva com outros projetos, clique em Adicionar projetos e selecione os projetos da organização do projeto atual.
    4. No campo Usar com instância de VM, selecione uma das seguintes opções:

      • Para usar os recursos desta reserva apenas ao criar VMs correspondentes que visam especificamente essa reserva por nome, selecione Selecionar reserva específica.
      • Para permitir que instâncias de VM correspondentes usem automaticamente essa reserva, selecione Usar reserva automaticamente.
    5. No campo Número de instâncias da VM, insira o número de instâncias de VM que você quer reservar.

    6. Especifique os recursos a serem reservados para cada instância:

      • Se você quiser reservar VMs que correspondam a um modelo de instância existente, selecione Usar modelo de instância e selecione um modelo de instância na lista.
      • Caso contrário, selecione Especificar tipo de máquina e especifique o seguinte:
        1. Na função Família de máquinas selecione a família de máquinas: Uso geral e Otimização para computação , Otimização de memória ou GPUs de dois minutos.
        2. Nos campos Série e Tipo de máquina, selecione uma série e um tipo de máquina.
        3. Opcional: especifique uma plataforma de CPU e/ou GPUs mínimas:
          1. Clique em Plataforma de CPU e GPU para expandir a seção.
          2. Opcional: para especificar uma plataforma mínima de CPU, selecione uma opção na lista Plataforma de CPU.
          3. Opcional: para adicionar GPUs, clique em Adicionar GPU. Em seguida, nos campos Tipo de GPU e Número de GPUs, selecione o tipo e o número de GPUs para cada VM.
        4. Opcional: adicione discos SSD locais:
          1. No campo Número de discos, selecione o número de discos SSD locais para cada VM.
          2. No campo Tipo de interface, selecione a interface para os discos SSD locais.
    7. Para concluir a especificação das propriedades desta reserva, clique em Concluído.

  10. Clique no botão Comprar para adquirir o compromisso.

  11. Leia os Termos de compra e clique em Comprar quando estiver tudo pronto para adquirir o compromisso.

gcloud

Para criar suas reservas anexadas ao comprar seu compromisso, execute o comando gcloud compute commitments create.

Se você quer anexar uma única reserva ou várias, execute o comando de uma das seguintes maneiras:

  • Para criar e anexar uma única reserva ao seu compromisso, defina as propriedades da reserva anexada executando o seguinte comando:

    gcloud compute commitments create COMMITMENT_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --plan DURATION \
        --type COMMITMENT_TYPE
        --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
        --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
        --reservation=RESERVATION_NAME \
        --reservation-zone=RESERVATION_ZONE \
        --machine-type=RESERVED_MACHINE_TYPE \
        --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \
        --vm-count=NUMBER_OF_RESERVED_VMs \
        --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \
        --local-ssd=interface=INTERFACE_1,size=375 \
        --local-ssd=interface=INTERFACE_2,size=375 \
        --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \
        --share-setting=SHARE_SETTING \
        --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
    
  • Para criar e anexar várias reservas ao compromisso, defina as propriedades da reserva usando um arquivo YAML e especifique esse arquivo YAML no comando usado para adquirir seu compromisso. Outra opção é usar essa abordagem de arquivo YAML para criar e anexar uma única reserva ao compromisso. Para criar suas reservas anexadas usando essa abordagem, faça o seguinte:

    1. Crie o arquivo YAML no diretório atual e especifique a configuração para cada reserva anexada. Por exemplo, para especificar a configuração de uma reserva compartilhada compartilhada com dois projetos que especificam GPUs, dois discos SSD locais e uma plataforma mínima de CPU, inclua o texto a seguir no arquivo YAML. :

      - reservation: RESERVATION_NAME
        reservation_zone: RESERVATION_ZONE
        require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE
        vm_count: NUMBER_OF_RESERVED_VMs
        machine_type: RESERVED_MACHINE_TYPE
        accelerator:
        - count: RESERVED_ACCELERATOR_COUNT
          type: RESERVED_ACCELERATOR_TYPE
        localssd:
        - interface: INTERFACE_1
          size: 375
        - interface: INTERFACE_2
          size: 375
        project: OWNER_PROJECT_ID
        minimum-cpu-platform: MINIMUM_CPU_PLATFORM
        share-setting: SHARE_SETTING
        share-with:
        - CONSUMER_PROJECT_ID_1
        - CONSUMER_PROJECT_ID_2
      
      

      Para especificar a configuração de várias reservas, repita essas propriedades para cada uma delas. É possível anexar ao compromisso quantas reservas você quiser.

    2. Use o comando gcloud compute commitments create e inclua a sinalização --reservation-from-file:

      gcloud compute commitments create COMMITMENT_NAME \
          --region REGION \
          --project PROJECT_ID \
          --plan DURATION \
          --type COMMITMENT_TYPE \
          --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
          --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
          --reservations-from-file=YAML_FILE
      

Substitua o seguinte pelas propriedades correspondentes do compromisso e das reservas anexadas:

Compromisso

  • COMMITMENT_NAME: o nome do compromisso.
  • REGION: a região em que a chave está localizada.
  • PROJECT_ID: o ID do projeto em que você quer comprar o compromisso com as reservas anexadas.
  • DURATION: a duração do compromisso, 12-month ou 36-month.
  • COMMITMENT_TYPE: o tipo de compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:

    • general-purpose-e2 para recursos do tipo de máquina E2
    • general-purpose-n2 para recursos do tipo de máquina N2
    • general-purpose-n2d para recursos de máquina N2D
    • compute-optimized-c3 para recursos do tipo de máquina C3
    • general-purpose-c3d para recursos do tipo de máquina C3D
    • general-purpose-t2d para recursos do tipo de máquina Tau T2D
    • general-purpose para recursos do tipo de máquina N1
    • compute-optimized para recursos do tipo de máquina C2
    • compute-optimized-c2d para recursos do tipo de máquina C2D
    • memory-optimized para recursos de tipo de máquina M1 ou M2
    • memory-optimized-m3 para compromissos de tipo de máquina M3 com otimização de memória
    • accelerator-optimized para recursos de tipo de máquina
    • graphics-optimized para recursos do tipo de máquina G2
  • COMMITTED_VCPUS: o número de vCPUs que você quer no compromisso. O número deve ser um número inteiro positivo.

  • COMMITTED_MEMORY: a quantidade, em MB ou GB, de memória que você quer no seu compromisso. Por exemplo, 10GB ou 10240MB. Se você não especificar uma unidade, o Compute Engine usará GB como a unidade. É possível comprar memória em incrementos de 0,25 GB.

  • COMMITTED_LOCAL_SSD: a quantidade, em GB, de armazenamento SSD local que você quer no seu compromisso. Cada SSD local tem 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: o número de GPUs que você quer no compromisso.

  • COMMITTED_ACCELERATOR_TYPE: o tipo de GPU que você quer no compromisso.

  • YAML_FILE: o caminho para o arquivo YAML que contém a configuração das reservas anexadas.

Reservas anexadas

  • RESERVATION_NAME: o nome da reserva anexada.
  • RESERVATION_ZONE: a zona da reserva anexada.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: especifica se a reserva anexada é uma reserva especificamente segmentada (true ou false). Para mais informações sobre reservas segmentadas especificamente, consulte Como funcionam as reservas.
  • NUMBER_OF_RESERVED_VMS: o número de VMs que você quer reservar na reserva anexada.
  • RESERVED_MACHINE_TYPE: o tipo de máquina que você quer para as VMs na reserva anexada.

    • Para tipos de máquina predefinidos, use o formato MACHINE_FAMILY-standard-CPUS. Por exemplo, n2-standard-4.
    • Para tipos de máquina personalizados, use o formato MACHINE_FAMILY-custom-CPUS-MEMORY. Por exemplo, n2-custom-4-5120. Para ver uma lista completa de restrições, leia as especificações dos tipos de máquina personalizados.

      Substitua:

      • MACHINE_FAMILY: a família dos tipos de máquina. Por exemplo, especifique n2 para VMs N2.
      • CPUS: o número de vCPUs.
      • MEMORY: a memória total para uma VM reservada. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB. Por exemplo, para criar uma VM N2 com 4 vCPUs e 5 GB de memória, que é 5.120 MB, use n2-custom-4-5120.
  • RESERVED_ACCELERATOR_COUNT: o número de GPUs que você quer adicionar, por VM, na reserva anexada.

  • RESERVED_ACCELERATOR_TYPE: o tipo de acelerador que você quer adicionar à reserva anexada.

  • INTERFACE_1 e INTERFACE_2: o tipo de interface que você quer que os discos SSD locais de cada VM reservada usem. As opções válidas são: scsi e nvme. Cada SSD local tem 375 GB. Repita o parâmetro local_ssd para cada disco SSD local que você quer adicionar. É possível especificar até 24 discos SSD locais.

  • OWNER_PROJECT_ID: o ID do projeto em que você quer adquirir o compromisso com a reserva anexada. Especifique esse campo se quiser compartilhar sua reserva de substituição em vários projetos de consumidor.

  • MINIMUM_CPU_PLATFORM: a plataforma de CPU mínima que você quer especificar para a reserva anexada.

  • SHARE_SETTING: o tipo de compartilhamento da reserva atual. Especifique esse campo com o valor como projects se você quiser compartilhar sua reserva de substituição em vários projetos de consumidores. Exclua esse campo se quiser criar uma reserva de projeto único.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs dos projetos que podem compartilhar essa reserva. Por exemplo project-1 e project-2. É possível incluir até 100 projetos pessoais. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não inclua o ID do projeto em que você cria essa reserva, já que esse projeto tem permissão para consumir essa reserva por padrão. Exclua esses campos se quiser criar uma reserva de projeto único.

O Compute Engine criará o compromisso com as reservas anexadas criadas somente se houver recursos suficientes do tipo de máquina especificado na zona de destino e cota suficiente no momento da solicitação. Se a compra foi bem-sucedida, você verá uma mensagem semelhante a esta:

Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]

Exemplos de compra de compromissos criando novas reservas para anexar

Os cenários e comandos de exemplo a seguir mostram como comprar um compromisso para GPUs, discos SSD locais ou ambos criando novas reservas para anexar a esse compromisso.

Exemplo 1: comprar um compromisso para GPUs anexando uma única reserva nova

Suponha que você queira adquirir um compromisso commitment-01 na região us-central1 que inclua quatro GPUs NVIDIA V100. Você quer criar uma nova reserva reservation-01 como a reserva anexada para essas GPUs. Suponha que você também queira especificar que o Compute Engine use essas GPUs reservadas em duas VMs n1-standard-32 na zona us-central1-a. Para comprar este compromisso de exemplo com a reserva anexada, execute o seguinte comando:

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-32 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

Exemplo 2: adquirir um compromisso para GPUs sem confirmar vCPUs ou memória

Para se comprometer e reservar GPUs e discos SSD locais sem se comprometer com vCPUs ou memória, especifique 0 como o valor para as quantidades de vCPUs e memória. Por exemplo, suponha que você queira adquirir um compromisso commitment-02 para uma única GPU NVIDIA P4 na região us-west2. Você também quer criar uma nova reserva como a reserva anexada e especificar que o Compute Engine use a GPU reservada em uma VM n1-standard-2 na zona us-west2-b. Para comprar este exemplo de compromisso com a reserva anexada, execute o seguinte comando:

gcloud compute commitments create commitment-02 \
    --region=us-west2 \
    --project=myproject \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-2 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

Exemplo 3: adquirir um compromisso para GPUs e discos SSD locais anexando várias novas reservas

Suponha que você queira adquirir um compromisso commitment-03 para uma GPU NVIDIA V 100 e dois discos SSD locais na região us-central1. Você também quer criar e anexar duas reservas na zona us-central1-a. Na primeira reserva, res-01, você quer reservar 1 VM n1-standard-2 com 1 GPU. Você quer tornar res-01 uma reserva direcionada, o que significa que é necessário segmentar especificamente essa reserva pelo nome para usar as VMs reservadas. Na segunda reserva, res-02, você quer reservar uma VM n1-standard-8 com dois tipos de discos SSD locais anexados.

Para adquirir este compromisso de exemplo com as reservas anexadas, primeiro crie o arquivo YAML com as propriedades de ambas as reservas.

- reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-v100
- reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-8
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

Depois de criar o arquivo YAML, para concluir a compra do compromisso com as reservas anexadas, execute o comando a seguir. Observe que o compromisso de exemplo também contém recursos de vCPU e memória.

gcloud compute commitments create commitment-03 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=YAML_FILE

REST

Para criar as reservas anexadas ao comprar seu compromisso, faça uma solicitação POST ao método regionCommitments.insert. Na solicitação, inclua o campo reservations para definir uma lista de todas as novas reservas que você quer criar e anexar. É possível anexar quantas reservas você quiser ao compromisso.

  • Para criar sua nova reserva especificando manualmente todas as propriedades da VM, inclua o campo instanceProperties e exclua o campo sourceInstanceTemplate.

    Por exemplo, para especificar manualmente a configuração de uma reserva compartilhada com dois projetos que especificam GPUs, dois discos SSD locais e uma plataforma mínima de CPU, faça a seguinte solicitação:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "RESERVED_ACCELERATOR_COUNT",
                "acceleratorType": "RESERVED_ACCELERATOR_TYPE"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_1"
              },
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_2"
              }
            ],
            "machineType": "RESERVED_MACHINE_TYPE",
            "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
          }
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    
  • Para criar a nova reserva especificando um modelo de instância, inclua o campo sourceInstanceTemplate e exclua o campo instanceProperties.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    

Substitua o seguinte pelas propriedades correspondentes do compromisso e das reservas anexadas:

Compromisso

  • COMMITMENT_NAME: o nome do compromisso.
  • REGION: a região em que a chave está localizada.
  • PROJECT_ID: o ID do projeto em que você quer comprar o compromisso com as reservas anexadas.
  • DURATION: a duração do compromisso, TWELVE_MONTH ou THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: o tipo de compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:

    • ACCELERATOR_OPTIMIZED para recursos de tipo de máquina
    • COMPUTE_OPTIMIZED para recursos do tipo de máquina C2
    • COMPUTE_OPTIMIZED_C2D para recursos do tipo de máquina C2D
    • COMPUTE_OPTIMIZED_C3 para recursos do tipo de máquina C3
    • COMPUTE_OPTIMIZED_C3D para recursos do tipo de máquina C3D
    • GENERAL_PURPOSE para recursos do tipo de máquina N1
    • GENERAL_PURPOSE_E2 para recursos do tipo de máquina E2
    • GENERAL_PURPOSE_N2 para recursos do tipo de máquina N2
    • GENERAL_PURPOSE_N2D para recursos de máquina N2D
    • GENERAL_PURPOSE_T2D para recursos do tipo de máquina Tau T2D
    • GRAPHICS_OPTIMIZED para recursos do tipo de máquina G2
    • MEMORY_OPTIMIZED para recursos de tipo de máquina M1 ou M2
    • MEMORY_OPTIMIZED_M3 para compromissos de tipo de máquina M3 com otimização de memória
  • COMMITTED_VCPUS: o número de vCPUs que você quer no compromisso. O número deve ser um número inteiro positivo.

  • COMMITTED_MEMORY: a quantidade, em MB, de memória que você quer no compromisso. Por exemplo, 10240MB. É possível comprar memória em incrementos de 256 MB.

  • COMMITTED_LOCAL_SSD: a quantidade, em GB, de armazenamento SSD local que você quer no seu compromisso. Cada SSD local tem 375 GB.

  • COMMITTED_ACCELERATOR_COUNT: o número de GPUs que você quer no compromisso.

  • COMMITTED_ACCELERATOR_TYPE: o tipo de GPU que você quer no compromisso.

Reservas anexadas

  • RESERVATION_NAME: o nome da reserva anexada.
  • RESERVATION_ZONE: a zona da reserva anexada.
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: especifica se a reserva anexada é uma reserva especificamente segmentada (true ou false). Para mais informações sobre reservas segmentadas especificamente, consulte Como funcionam as reservas.
  • NUMBER_OF_RESERVED_VMS: o número de VMs que você quer reservar na reserva anexada.
  • RESERVED_MACHINE_TYPE: o tipo de máquina que você quer para as VMs na reserva anexada.

    • Para tipos de máquina predefinidos, use o formato MACHINE_FAMILY-standard-CPUS. Por exemplo, n2-standard-4.
    • Para tipos de máquina personalizados, use o formato MACHINE_FAMILY-custom-CPUS-MEMORY. Por exemplo, n2-custom-4-5120. Para ver uma lista completa de restrições, leia as especificações dos tipos de máquina personalizados.

      Substitua:

      • MACHINE_FAMILY: a família dos tipos de máquina. Por exemplo, especifique n2 para VMs N2.
      • CPUS: o número de vCPUs.
      • MEMORY: a memória total para uma VM reservada. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB. Por exemplo, para criar uma VM N2 com 4 vCPUs e 5 GB de memória, que é 5.120 MB, use n2-custom-4-5120.
  • RESERVED_ACCELERATOR_COUNT: o número de GPUs que você quer adicionar, por VM, na reserva anexada.

  • RESERVED_ACCELERATOR_TYPE: o tipo de acelerador que você quer adicionar à reserva anexada.

  • INTERFACE_1 e INTERFACE_2: o tipo de interface que você quer que os discos SSD locais de cada VM reservada usem. As opções válidas são: scsi e nvme. Cada SSD local tem 375 GB. Repita o parâmetro localSsds para cada disco SSD local que você quer adicionar. É possível especificar até 24 discos SSD locais.

  • MINIMUM_CPU_PLATFORM: a plataforma de CPU mínima que você quer especificar para a reserva anexada.

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância que você quer usar para criar a reserva anexada.

  • SHARE_SETTING: o tipo de compartilhamento da reserva atual. Especifique esse campo com o valor como SPECIFIC_PROJECTS se você quiser compartilhar sua reserva de substituição em vários projetos de consumidores. Exclua este campo se quiser criar uma reserva de projeto único.

  • CONSUMER_PROJECT_ID_1 e CONSUMER_PROJECT_ID_2: os IDs dos projetos que podem compartilhar essa reserva. Por exemplo project-1 e project-2. É possível incluir até 100 projetos pessoais. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não inclua o ID do projeto em que você cria essa reserva, já que esse projeto tem permissão para consumir essa reserva por padrão. Exclua esses campos se quiser criar uma reserva de projeto único.

O Compute Engine criará o compromisso com as reservas anexadas criadas somente se houver recursos suficientes do tipo de máquina especificado na zona de destino e cota suficiente no momento da solicitação. Se a compra foi bem-sucedida, o Computee Engine retornará um status 200 para a solicitação da API REST.

Exemplos de compra de compromissos criando novas reservas para anexar

Os cenários e comandos de exemplo a seguir mostram como comprar um compromisso para GPUs, discos SSD locais ou ambos criando novas reservas para anexar a esse compromisso.

Exemplo 1: comprar um compromisso para GPUs anexando uma única reserva nova

Suponha que você queira adquirir um compromisso commitment-01 na região us-central1 que inclua quatro GPUs NVIDIA V100. Você quer criar uma nova reserva reservation-01 como a reserva anexada para essas GPUs. Suponha que você também queira especificar o Compute Engine para usar essas GPUs reservadas em duas VMs n1-standard-8 na zona us-central1-a. Para comprar este exemplo de compromisso com a reserva anexada, faça a seguinte solicitação POST:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Exemplo 2: adquirir um compromisso para GPUs sem confirmar vCPUs ou memória

Para se comprometer e reservar GPUs e discos SSD locais sem se comprometer com vCPUs ou memória, especifique 0 como o valor para as quantidades de vCPUs e memória. Por exemplo, suponha que você queira adquirir um compromisso commitment-02 para uma única GPU NVIDIA P4 na região us-west2. Você também quer criar uma nova reserva como a reserva anexada e especificar que o Compute Engine use a GPU reservada em uma VM n1-standard-2 na zona us-west2-b. Para comprar este exemplo de compromisso com a reserva anexada, faça a seguinte solicitação POST:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments

{
  "name": "commitment-02",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p4",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 4,
              "acceleratorType": "nvidia-tesla-p4"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-west2-b"
    }
  ]
}

Exemplo 3: adquirir um compromisso para GPUs e discos SSD locais anexando várias novas reservas

Suponha que você queira adquirir um compromisso commitment-03 para uma GPU NVIDIA V 100 e dois discos SSD locais na região us-central1. Você também quer criar e anexar duas reservas na zona us-central1-a. Na primeira reserva, res-01, você quer reservar 1 VM n1-standard-2 com 1 GPU. Você quer tornar res-01 uma reserva direcionada, o que significa que é necessário segmentar especificamente essa reserva pelo nome para usar as VMs reservadas. Na segunda reserva, res-02, você quer reservar uma VM n1-standard-8 com dois tipos de discos SSD locais anexados. Para adquirir esse compromisso de exemplo com as reservas anexadas, faça a seguinte solicitação POST. Observe que o compromisso de exemplo também contém recursos de vCPU e memória.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-03",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "1",
      "type": "ACCELERATOR"
    },
    {
      "amount": "768000",
      "type": "LOCAL_SSD"
    }
  ],
  "reservations":
  [
    {
      "name": "res-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "us-central1-a"
    },
    {
      "name": "res-02",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            },
            {
              "diskSizeGb": "375",
              "interface": "NVME"
            }
          ]
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Depois de comprar um compromisso com reservas anexadas, as reservas permanecerão ativas enquanto o compromisso estiver ativo. Quando o compromisso expirar, o Compute Engine excluirá automaticamente todas as reservas vinculadas. A exclusão dessas reservas não afeta nenhuma instância de VM em execução que esteja vinculada a essas reservas. As VMs em execução continuam sendo executadas e você ainda é cobrado por essas VMs.

Durante a vigência do compromisso, não é possível excluir nem redimensionar nenhuma reserva anexada que contenha GPUs, SSDs locais ou ambos. No entanto, é possível substituir as reservas anexadas atuais de um compromisso por novas. Para mais informações sobre o que pode ou não ser alterado nas reservas anexadas, consulte Substituir reservas anexadas a compromissos.

Comprar compromissos para licenças

É possível adquirir compromissos para suas licenças se você executar as cargas de trabalho em VMs que usam as seguintes imagens de sistema operacional (SO):

  • Imagens do SUSE Linux Enterprise Server (SLES)
  • SLES para imagens SAP
  • Imagens Red Hat Enterprise Linux (RHEL)
  • Imagens do RHEL para SAP

As porcentagens de CUD que você recebe para compromissos de licença de cada imagem do SO dependem do número de vCPUs que sua VM usa. As tabelas a seguir mostram as porcentagens de CUD para cada tipo de compromisso de licença de software:

Tipo de compromisso de licença Número de vCPUs Porcentagem de CUD de um ano Porcentagem de CUD de três anos
Imagens SLES 1-2 77% 79%
Imagens SLES 3-4 54% 59%
Imagens SLES 5+ 45% 50%
SLES para imagens SAP 1-2 59% 63%
SLES para imagens SAP 3-4 59% 63%
SLES para imagens SAP 5+ 59% 63%
Imagens RHEL 1-4 20% 24%
Imagens RHEL 5+ 20% 24%
Imagens do RHEL para SAP 1-4 20% 24%
Imagens do RHEL para SAP 5+ 20% 24%

Quando você compra um compromisso para licenças, ele forma um "conjunto" de licenças que são automaticamente aplicadas a qualquer instância de VM em execução em um projeto selecionado em uma região especificada. As licenças no compromisso não estão vinculadas a nenhuma VM específica. Quando uma VM é iniciada, ela usa uma licença comprometida do pool e, quando a VM é interrompida, ela retorna a licença para o pool, onde a licença pode ser usada por outra VM. Se houver licenças comprometidas disponíveis no pool, você continuará recebendo descontos por uso premium do SO.

Por exemplo, se você precisar executar 10 VMs em duas regiões (5 VMs em us-central1 e 5 VMs em us-west1) e com o mesmo ID do projeto, vai ser necessário comprar 5 licenças em cada região para cobrir as VMs em execução. As licenças comprometidas podem ser aplicadas a qualquer uma das cinco VMs em execução simultaneamente a qualquer momento durante o ano na respectiva região. Você receberá cobranças mensais pelo compromisso, independentemente do uso.

Depois de adquirir um compromisso, ele ficará ativo no dia seguinte à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7 durante o horário de verão). O Compute Engine mantém uma garantia no seu projeto para cada região do projeto em que você adquire um compromisso. Quando você adquire um novo compromisso para qualquer região do projeto, o Compute Engine associa a garantia dessa região ao compromisso recém-criado.

Entre o momento da compra do compromisso e o momento de ativação, o status dele permanece como NOT_YET_ACTIVE (ou como PENDING no console do Google Cloud). Após a ativação, o status do compromisso mudará para ACTIVE. Por exemplo, suponha que você compre o compromisso em 20 de janeiro às 22h nos EUA e no horário do Pacífico canadense (UTC-8 ou UTC-7). O Compute Engine cria seu compromisso imediatamente com o status dele como NOT_YET_ACTIVE. No entanto, seu compromisso passa a ser ACTIVE apenas em 21 de janeiro à 0h dos EUA e do Horário do Pacífico canadense (UTC-8 ou UTC-7).

Não é possível cancelar um compromisso de licença após a compra. Quando os compromissos de licença expiram, as VMs em execução continuam sendo executadas e você é cobrado pelas licenças com preços de imagens sob demanda.

Adquira um compromisso de licença usando o console do Google Cloud, a CLI do Google Cloud ou a REST.

Console

Antes de adquirir um compromisso usando o console do Google Cloud, selecione o projeto que você quer usar para adquirir o compromisso. Se o compartilhamento de descontos estiver ativado para uma conta de faturamento, será possível adquirir o compromisso usando qualquer projeto dessa conta. Depois de selecionar o projeto, execute as seguintes etapas:

  1. No Console do Google Cloud, acesse a página descontos por compromisso de uso.

    Acessar a página "Descontos por uso contínuo"

  2. Clique em Comprar compromisso para adquirir um novo.
  3. Clique em Nova licença de desconto por uso contínuo para comprar um novo compromisso de licença.
  4. Dê um nome ao compromisso e escolha a região em que ele será aplicado.
  5. Escolha um valor para a duração dele, sendo de 1 ou 3 anos.
  6. Escolha uma Família de licenças.
  7. Escolha o Tipo de licença e quantidade.
  8. Escolha o Número de licenças.
  9. Clique em Comprar.

gcloud

Usando a CLI gcloud, execute o comando gcloud compute commitments create-license para adquirir um compromisso de licença.

gcloud compute commitments create-license COMMITMENT_NAME \
    --license `LICENSE_URI`
    --amount NUMBER_OF_LICENSES \
    --cores-per-license CORES_PER_LICENSE \
    --plan PLAN \
    --region REGION \

Substitua:

  • COMMITMENT_NAME: o nome do compromisso.
  • LICENSE_URI: o URI da licença. Por exemplo: https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES: o número de licenças que você planeja comprar.
  • CORES_PER_LICENSE: o número de núcleos por licença. Insira 1-2 3-4 ou 5+.
  • PLAN: digite a duração do plano, 12-month ou 36-month.
  • REGION: a região a que esse compromisso se aplica.

Por exemplo, o compromisso a seguir é para quatro licenças SAP com 3 a 4 núcleos por licença por 36 meses na região us-central1:

gcloud compute commitments create-license commitment-1
    --license https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-12
    --amount=4
    --cores-per-license=3-4
    --plan=36-month
    --region=us-central1

Por exemplo, o compromisso a seguir é para duas licenças do SLES para SAP com 1 a 2 núcleos por licença por 12 meses na região us-central1:

gcloud compute commitments create-license commitment-2
    --license https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
    --amount=2
    --cores-per-license=1-2
    --plan=12-month
    --region=us-central1

REST

Use o método regionCommitments.insert e inclua o campo licenseResource para definir as propriedades do compromisso de licença.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments?requestId=OPTIONAL_UNIQUE_ID

{
    "name": COMMITMENT_NAME,
    "plan": PLAN,
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": CORES_PER_LICENSE,
      "amount": NUMBER_OF_LICENSES,
      "license": `LICENSE_URI`
      }
}

Substitua:

  • COMMITMENT_NAME: o nome do compromisso.
  • LICENSE_URI: o URI da licença. Por exemplo: https://www.googleapis.com/compute/v1/projects/myproject/global/licenses/sles-sap-12
  • NUMBER_OF_LICENSES: o número de licenças que você planeja comprar.
  • CORES_PER_LICENSE: o número de núcleos por licença. Insira 1-2 3-4 ou 5+.
  • PLAN: digite a duração do plano, 12-month ou 36-month.
  • REGION: a região a que esse compromisso se aplica.

Por exemplo, o compromisso a seguir é para quatro licenças do SLES para SAP com 3 a 4 núcleos por licença por 36 meses na região us-central1.

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments

{
    "name": "commitment-3",
    "plan": "THIRTY_SIX_MONTH",
    "category": "LICENSE",
    "licenseResource": {
      "coresPerLicense": "3-4",
      "amount": "4",
      "license": "https://www.googleapis.com/compute/v1/projects/suse-sap-cloud/global/licenses/sles-sap-12"
      }
}

Aplicar recomendações de desconto por compromisso de uso

As recomendações de desconto por compromisso de uso estão disponíveis no console do Google Cloud. O recomendador gera um cartão com informações sobre o uso da VM nos últimos 30 dias. Se as VMs mostram uma tendência de uso não contínuo ao longo de 30 dias, o recomendador classifica isso como uma oportunidade para comprar descontos por uso contínuo a fim de reduzir os custos da VM.

O uso é considerado descontínuo e qualificado se o seguinte for verdadeiro.

  • A VM ficou ativa por todo o período de 30 dias.
  • A SKU da VM faz parte de um bucket de desconto por uso contínuo qualificado.
  • O uso da VM ainda não foi coberto por um compromisso atual.

As recomendações são atualizadas uma vez por dia e consideram os últimos 30 dias do histórico de uso.

As recomendações para descontos por uso contínuo são geradas por dois algoritmos separados, que você pode selecionar ao comprar (ou aceitar) o cartão de resumo.

  • As recomendações de uso estável abrangem o uso estável mínimo ao longo do tempo.
  • Recomendações ideais são baseadas no uso geral e podem cobrir recursos que não estão sempre disponíveis.

Leia mais sobre as recomendações de compromisso na documentação do recomendador de desconto por uso contínuo.

Limitações

As recomendações de desconto por uso contínuo estão disponíveis apenas para a CPU e o componente de memória dos compromissos do tipo de máquina. As recomendações de desconto por uso contínuo não estão disponíveis para compromissos de SSD, GPU ou de licença.

Analisar e aceitar uma recomendação

Para saber como comprar os compromissos recomendados, consulte Como comprar recomendações.

Dispensar uma recomendação

Para saber como dispensar suas recomendações de compromisso ou restaurar recomendações que foram dispensadas anteriormente, consulte Como dispensar recomendações.

Histórico de recomendações

Para ver o histórico das recomendações de compromisso aplicadas e dispensadas, consulte Como ver o histórico de recomendações.

Ativar o compartilhamento de descontos para compromissos de hardware

Por padrão, os CUDs baseados em recursos são aplicados ao projeto em que você comprou os compromissos baseados em recursos e têm descontos no escopo do projeto. Se você mover o projeto para o qual comprou seus compromissos para uma conta diferente do Cloud Billing, continuará recebendo os descontos por compromisso de uso aplicáveis a esse projeto na nova conta.

Para compartilhar o desconto para compromissos de hardware durante o uso qualificado em todos os projetos vinculados à sua conta do Cloud Billing, ative o compartilhamento de desconto por uso contínuo no console do Google Cloud.

Quando você ativa o compartilhamento de desconto por uso contínuo, o escopo do compromisso é alterado de Projeto para Conta de faturamento. Depois de alterar o escopo do compromisso para Conta de faturamento ativando o compartilhamento de desconto, não é possível desativar o compartilhamento de desconto para voltar ao escopo do projeto. Em vez disso, o suporte do Cloud Billing precisa realizar essa ação para você.

O compartilhamento de descontos funciona com sua configuração de atribuição. Você pode usar a atribuição proporcional ou a atribuição priorizada.

A menos que você configure suas preferências de atribuição primeiro, ao ativar o compartilhamento de descontos, o padrão é usar a atribuição proporcional com base no recurso do Compute Engine. compromissos.

Se quiser definir a configuração de atribuição antes de ativar o compartilhamento de descontos, consulte Escolher atribuição para compromissos com base em recursos para mais informações e como ativar cada tipo de atribuição.

Siga estas etapas para ativar o compartilhamento de desconto por uso contínuo:

  1. Faça login na sua conta do Cloud Billing no Console do Google Cloud.

    Faça login na sua conta do Cloud Billing

  2. No prompt, escolha a conta de faturamento do Cloud em que você quer configurar os descontos por uso contínuo para usar o compartilhamento de descontos. A página Visão geral do faturamento é aberta para a conta do Cloud Billing selecionada.

  3. No menu de navegação "Faturamento", selecione Análise de CUD para visualizar a página de análise de descontos por uso contínuo.

  4. Na página Análise de desconto por compromisso de uso, no menu Tipo de compromisso, selecione Compromissos baseados em recursos.

  5. Abaixo do título do relatório Compromissos baseados em recursos, localize o Escopo do compromisso.

    • O escopo do projeto indica que o compartilhamento de desconto não está ativado para descontos por uso contínuo com base em recursos. Os descontos para escopo do projeto são aplicados somente ao uso qualificado no projeto em que os compromissos são comprados.
    • O escopo da conta de faturamento indica que o compartilhamento de desconto já está ativado para os compromissos baseados em recursos. Os compromissos de billing-account-scope aplicam os descontos por uso contínuo em todos os usos qualificados em todos os projetos associados ao Cloud Billing.
  6. Para alterar a configuração do escopo do compromisso, selecione Editar.

    • Se a propriedade escopo atual é Projeto, na caixa de entrada de texto, digite Ativar para ativar o compartilhamento de desconto na conta de faturamento, clique em Ativar escopo da conta de faturamento para salvar as alterações.

    • Se o escopo atual para Conta de faturamento, o compartilhamento de descontos já estará ativado. Para desativar o compartilhamento de desconto e reverter para os compromissos com escopo do Projeto, clique em Entrar em contato com o suporte.

Você só precisa ativar o compartilhamento de descontos em um compromisso baseado em recursos com escopo do projeto para afetar o escopo de todos os compromissos baseados em recursos na mesma conta do Cloud Billing. Quando você ativa o compartilhamento de desconto por uso contínuo, o escopo do compromisso muda da seguinte maneira:

  • Todos os descontos por uso contínuo baseados em recursos ativos e atuais em todos os projetos da mesma conta do Cloud Billing, incluindo aqueles comprados anteriormente e os que forem comprados no futuro, serão compartilhados entre sua conta do Cloud Billing.
  • Quando você altera a configuração do escopo do compromisso, como criar um novo projeto vinculado à conta do Cloud Billing ou vincular um projeto à conta do Cloud Billing, a alteração entra em vigor no dia seguinte à 0h (meia-noite) nos EUA e no horário do Pacífico canadense (UTC-8 ou UTC-7).
  • Se você mover o projeto que tinha o compromisso original para uma nova conta do Cloud Billing, as configurações de compartilhamento de desconto serão alteradas. Para informações sobre os efeitos da alteração da conta do Cloud Billing em um projeto, consulte Alterar a conta do Cloud Billing vinculada a um projeto.

Para entender melhor como os descontos por uso contínuo afetam e aparecem na sua fatura, consulte Noções básicas da sua fatura com descontos por uso contínuo.

Ver seus compromissos

Confira a lista de todos os seus compromissos no console do Google Cloud, na CLI do Google Cloud ou na REST.

Console

No console do Google Cloud, visualize uma lista de compromissos na página desconto por compromisso de uso.

Acesse "Descontos por uso contínuo"

gcloud

Para fazer uma solicitação, use o comando commitments list:

gcloud compute commitments list

A ferramenta retorna uma lista de compromissos:

 NAME              REGION    END_TIMESTAMP                  STATUS
 my-commitment     us-east1  2018-03-17T00:00:00.000-07:00  NOT_YET_ACTIVE

REST

Para ter acesso a uma lista de compromissos em todas as regiões, faça uma solicitação aggregatedList ao URL a seguir:

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/commitments

Ele retorna uma lista de compromissos:

"commitments": [
{
  "kind": "compute#commitment",
  "id": "3294122326373778983",
  "creationTimestamp": "2017-02-09T15:18:32.411-08:00",
  "name": "example-commitment",
  "region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/commitments/example-commitment",
  "status": "NOT_YET_ACTIVE",
  "statusMessage": "The commitment is not yet active (its startTimestamp is in the future). It will not apply to current resource usage.",
  "plan": "TWELVE_MONTH",
  "startTimestamp": "2017-02-10T00:00:00.000-08:00",
  "endTimestamp": "2018-02-10T00:00:00.000-08:00",
  "resources": [
    {
      "type": "VCPU",
      "amount": "5"
    },
    {
      "type": "MEMORY",
      "amount": "32500"
    }]
  }
]

Modificar um compromisso

É possível modificar seus compromissos ativos das seguintes maneiras:

Depois de criar o compromisso, não será possível modificar o projeto, o tipo ou a região dele.

Cancelar um compromisso

Depois de criar um compromisso, não é possível cancelá-lo. É necessário pagar o valor mensal que você aceitou pela duração do compromisso. Os compromissos não são afetados por futuras alterações nos preços padrão dos recursos do Compute Engine.

Se você adquiriu um compromisso acidentalmente ou cometeu um erro ao configurá-lo, entre em contato com o suporte de faturamento do Google Cloud para receber ajuda.

Entender sua fatura com descontos por compromisso de uso

Leia os seguintes documentos para entender melhor o faturamento:

Suporte

Em caso de dúvidas sobre descontos por uso contínuo na sua fatura, entre em contato com o suporte do Google Cloud (em inglês).

A seguir