Os descontos por compromisso de uso (CUDs) oferecem preços com grandes descontos para seus recursos do Compute Engine em troca de contratos de uso contínuo de um ou três anos, também conhecidos como compromissos. Você se compromete com uma quantidade mínima de uso de recursos ou de gastos e, em troca, recebe CUDs sobre os custos de uso de recursos. No entanto, os compromissos não reservam capacidade zonal para os recursos comprometidos. 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.
Neste documento, explicamos como receber CUDs para seus recursos reservados e como anexar reservas a compromissos baseados em recursos.
Antes de começar
- Analise os conceitos básicos de reservas com os requisitos e as restrições. Saiba mais em Reservas para recursos zonais do Compute Engine.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Você não está recebendo nenhuma outra forma de desconto pelo uso dos recursos.
- As VMs precisam estar consumindo as reservas enquanto os compromissos estão ativos.
No mínimo, as propriedades a seguir precisam corresponder entre seus compromissos ativos e as reservas que as VMs consomem:
- Projeto e região em que se aplicam
- Série da família de máquinas
vCPUs e memória: para receber CUDs para um ou ambos os tipos de recurso, é possível adquirir compromissos com base em recursos ou em gastos que incluam os tipos de recursos necessários. Quando as VMs no projeto consomem qualquer reserva com propriedades que correspondam a esses compromissos ativos, você recebe automaticamente os CUDs aplicáveis a esses tipos de recursos reservados. Se você reservou mais recursos do que se comprometeu, não receberá CUDs para esses recursos extras.
GPUs e discos SSD locais: para receber CUDs para um ou ambos esses tipos de recursos, faça o seguinte:
- Adquira compromissos baseados em recursos que incluem os tipos de recursos necessários.
- Crie reservas para todos os recursos confirmados com propriedades que correspondam ao seu compromisso e anexe essas reservas ao compromisso.
Quando as VMs no projeto consomem essas reservas anexadas, você começa a receber os CUDs aplicáveis a esses tipos de recursos reservados.
- Como usar reservas atuais com propriedades que correspondem ao compromisso
- Como criar novas reservas correspondentes ao comprar seu compromisso
- Não anexar reservas.
Anexe reservas especificando qualquer combinação desses tipos de recursos. Por exemplo, o seguinte:
- 4 vCPUs e 30 GB de memória
- 2 vCPUs e 50 GB de memória
- 10 vCPUs e 10 GB de memória
- 6 NVIDIA P100 GPUs
- 2 NVIDIA P100 GPUs
- 4 GPUs NVIDIA P100 e 2 GPUs NVIDIA V100
- 4 GPUs NVIDIA P100 e 4 discos SSD locais
- Como usar reservas atuais com propriedades que correspondem ao compromisso
- Como criar novas reservas correspondentes ao comprar seu compromisso
- É 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.
No Console do Google Cloud, acesse a página Desconto por compromisso de uso.
Para adquirir um compromisso, clique em
Comprar compromisso. A página Comprar um desconto por compromisso de uso é aberta e mostra a guia Hardware.No campo Nome, insira um nome para o compromisso.
No campo Região, selecione a região em que você quer usar os recursos do Compute Engine relativos ao compromisso.
No campo Tipo de compromisso, selecione a série da família de máquinas para os recursos do compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:
- A2 com otimização do acelerador para recursos do tipo de máquina A2
- A3 com otimização para aceleradores para recursos do tipo de máquina A3 Edge e High
- A3 Mega com otimização para aceleradores para recursos do tipo de máquina A3 Mega
- 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
- 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 N1 para recursos do tipo de máquina N1
- Uso geral N2 para recursos do tipo de máquina N2
- Uso geral N2D para recursos do tipo de máquina N2D
- G2 com otimização gráfica para recursos do tipo de máquina G2
- M3 com otimização de memória para recursos do tipo de máquina M3
- Z3 com otimização para armazenamento para recursos do tipo de máquina Z3
Em Duração, faça o seguinte:
- Para especificar o plano de compromisso, selecione 1 ano ou 3 anos. Essa configuração determina o período predefinido do seu compromisso.
Opcional. Para especificar um período personalizado para seu compromisso, clique no botão Extender a data de término e, no campo Data, especifique uma data de término personalizada. Para mais informações, consulte Prorrogar o prazo dos compromissos.
No campo Núcleos, insira o número de vCPUs que você quer vincular ao compromisso.
No campo Memória, insira a quantidade de memória em GB que você quer vincular ao compromisso.
Para confirmar as GPUs, na seção GPUs, clique em
Adicionar GPU e faça o seguinte:- No campo Tipo de GPU, selecione o tipo de GPU.
- No campo Número de GPUs, digite o número de GPUs.
- Opcional: se o modelo de GPU der suporte a estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos e você quiser executar cargas de trabalho com muitos gráficos, marque a caixa de seleção Ativar a estação de trabalho virtual (NVIDIA GRID).
Para se comprometer com discos SSD locais, na seção SSDs locais, clique em
Adicionar SSD e, no campo Número de SSDs, especifique o número de discos.Para anexar uma ou mais reservas atuais ao compromisso, no campo Reservas, selecione Anexar reservas atuais.
O console do Google Cloud exibe uma lista de todas as reservas no projeto com região, tipo de máquina e tipo de GPU correspondentes ao compromisso. Em seguida, faça o seguinte:
- Opcional. Para exibir reservas com propriedades específicas, no menu Filtrar, adicione ou remova os filtros para as propriedades pretendidas.
- Selecione todas as reservas que você quer anexar ao compromisso.
Para concluir a compra do compromisso com as reservas anexadas, faça o seguinte:
- Clique em Comprar.
- Na caixa de diálogo Comprar um desconto por compromisso de uso, se você concordar com os termos específicos do serviço, clique novamente em Comprar.
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
ou36-month
.CUSTOM_END_DATE
: opcional. Uma data de término personalizada para o período, que precisa ser formatada comoYYYY-MM-DD
. Por exemplo, para especificar uma data de término personalizada de 20 de abril de 2024, formate como2024-04-20
.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 do tipo de máquina A2accelerator-optimized-a3
para recursos do tipo de máquina A3 Edge e Highaccelerator-optimized-a3-mega
para recursos do tipo de máquina A3 Megacompute-optimized
para recursos do tipo de máquina C2compute-optimized-c2d
para recursos do tipo de máquina C2Dcompute-optimized-c3
para recursos do tipo de máquina C3compute-optimized-c3d
para recursos do tipo de máquina C3Dgeneral-purpose
para recursos do tipo de máquina N1general-purpose-n2
para recursos do tipo de máquina N2general-purpose-n2d
para recursos de máquina N2Dgraphics-optimized
para recursos do tipo de máquina G2memory-optimized-m3
para recursos do tipo de máquina M3storage-optimized-z3
para recursos do tipo de máquina Z3
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
ou10GB
. 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
eRESERVATION_NAME_2
: os nomes das reservas atuais que você quer anexar ao compromisso.RESERVATION_ZONE_1
eRESERVATION_ZONE_2
: as zonas das reservas atuais que você quer anexar ao 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
ouTHIRTY_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 do tipo de máquina A2ACCELERATOR_OPTIMIZED_A3
para recursos do tipo de máquina A3 Edge e HighACCELERATOR_OPTIMIZED_A3_MEGA
para recursos do tipo de máquina A3 MegaCOMPUTE_OPTIMIZED
para recursos do tipo de máquina C2COMPUTE_OPTIMIZED_C2D
para recursos do tipo de máquina C2DCOMPUTE_OPTIMIZED_C3
para recursos do tipo de máquina C3COMPUTE_OPTIMIZED_C3D
para recursos do tipo de máquina C3DGENERAL_PURPOSE
para recursos do tipo de máquina N1GENERAL_PURPOSE_N2
para recursos do tipo de máquina N2GENERAL_PURPOSE_N2D
para recursos de máquina N2DGRAPHICS_OPTIMIZED
para recursos do tipo de máquina G2MEMORY_OPTIMIZED_M3
para recursos do tipo de máquina M3STORAGE_OPTIMIZED_Z3
para recursos do tipo de máquina Z3
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.CUSTOM_END_DATE
: opcional. Uma data de término personalizada para seu período, que precisa ser formatada comoYYYY-MM-DD
. Por exemplo, para especificar uma data de término personalizada de 20 de abril de 2024, formate-a como2024-04-20
.END_TIME
: 0h no horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7), como um ajuste de Tempo Universal Coordenado (UTC). Especifique esse valor somente se você tiver especificado uma data de término personalizada para sua compromisso. Especifique um dos seguintes valores:- Durante o horário de verão:
07:00:00
- Em outros horários:
08:00:00
- Durante o horário de verão:
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
eres-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"
No Console do Google Cloud, acesse a página Desconto por compromisso de uso.
Para adquirir um compromisso, clique em
Comprar compromisso. A página Comprar um desconto por compromisso de uso é aberta e mostra a guia Hardware.No campo Nome, insira um nome para o compromisso.
No campo Região, selecione a região em que você quer usar os recursos do Compute Engine relativos ao compromisso.
No campo Tipo de compromisso, selecione a série da família de máquinas para os recursos do compromisso. Os tipos de compromisso a seguir oferecem opções para GPUs, discos SSD locais ou ambos:
- A2 com otimização do acelerador para recursos do tipo de máquina A2
- A3 com otimização para aceleradores para recursos do tipo de máquina A3 Edge e High
- A3 Mega com otimização para aceleradores para recursos do tipo de máquina A3 Mega
- 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
- 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 N1 para recursos do tipo de máquina N1
- Uso geral N2 para recursos do tipo de máquina N2
- Uso geral N2D para recursos do tipo de máquina N2D
- G2 com otimização gráfica para recursos do tipo de máquina G2
- M3 com otimização de memória para recursos do tipo de máquina M3
- Z3 com otimização para armazenamento para recursos do tipo de máquina Z3
Em Duração, escolha 1 ano ou 3 anos como a duração do compromisso.
No campo Núcleos, insira o número de vCPUs que você quer vincular ao compromisso.
No campo Memória, insira a quantidade de memória em GB que você quer vincular ao compromisso.
Para confirmar as GPUs, na seção GPUs, clique em
Adicionar GPU e faça o seguinte:- No campo Tipo de GPU, selecione o tipo de GPU.
- No campo Número de GPUs, digite o número de GPUs.
- Opcional: se o modelo de GPU der suporte a estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos e você quiser executar cargas de trabalho com muitos gráficos, marque a caixa de seleção Ativar a estação de trabalho virtual (NVIDIA GRID).
Para se comprometer com discos SSD locais, na seção SSDs locais, clique em
Adicionar SSD e, no campo Número de SSDs, especifique o número de discos.Para criar uma reserva e anexá-la ao compromisso, no campo Reservas, selecione Criar reservas e siga as instruções a seguir. Repita esta etapa para cada nova reserva que você quer criar e anexar.
- Clique em Adicionar reserva. A seção Nova reserva vai aparecer.
- No campo Nome, insira um nome para a reserva anexada.
- No campo Região, selecione a mesma região do compromisso.
- No campo Zona, selecione a zona em que você quer reservar os recursos.
Na seção Tipo de compartilhamento, especifique como você quer compartilhar essa reserva de uma das seguintes maneiras:
- Para criar uma reserva de projeto único, selecione Local.
- Para criar uma reserva compartilhada com vários projetos, selecione Compartilhada. Em seguida, para especificar os projetos com os quais compartilhar a reserva, clique em Adicionar projetos e selecione os projetos pretendidos da organização do projeto atual.
No campo Usar com instância de VM, selecione como você quer que as VMs consumam a reserva de uma das seguintes maneiras:
- Para permitir que VMs com propriedades correspondentes consumam automaticamente a reserva, clique em Usar reserva automaticamente (padrão).
- Para consumir os recursos da reserva apenas ao criar VMs com propriedades correspondentes relacionadas especificamente a essa reserva por nome, clique em Selecionar reserva específica.
Na seção Detalhes do recurso, faça o seguinte:
- No campo Número de instâncias da VM, insira o número de instâncias de VM que você quer reservar.
Na seção Configuração da máquina, especifique as propriedades das VMs reservadas de uma das seguintes maneiras:
Para especificar as propriedades das VMs usando um modelo de instância atual, selecione Usar modelo de instância.
No campo Modelo de instância, selecione um modelo de instância que especifique a mesma série de família de máquinas do compromisso. Se você selecionar um modelo de instância regional, a região desse modelo também deverá corresponder à região especificada no compromisso.
Para especificar manualmente as propriedades das VMs, clique em Selecionar tipo de máquina e siga estas etapas:
Selecione a família de máquinas que se aplica à série de máquinas especificada para o compromisso:
- Uso geral para séries de máquinas de uso geral
- Otimização para computação para séries de máquinas com otimização para computação
- Otimização de memória para séries de máquinas com otimização de memória
- GPUs para séries de máquinas com otimização para aceleradores
Na tabela com a coluna Série, selecione a mesma série de máquinas especificada para o compromisso.
No campo Tipo de máquina, especifique um tipo de máquina predefinido ou personalizado de uma das seguintes maneiras:
- Para escolher um tipo de máquina predefinido, selecione Predefinido e selecione o tipo pretendido.
- Para escolher um tipo de máquina personalizado, selecione Personalizado e especifique os Núcleos e a Memória que você quer usar.
Para especificar uma plataforma mínima de CPU, GPUs ou ambas, abra o menu
Plataforma de CPU e GPU e faça o seguinte:- Opcional: para especificar uma plataforma mínima de CPU, selecione uma opção na lista Plataforma de CPU.
Opcional: para reservar 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.
Para reservar discos SSD locais, faça o seguinte:
- No campo Número de discos, selecione o número de discos SSD locais que você quer para cada VM.
- No campo Tipo de interface, selecione a interface para os discos SSD locais.
Para concluir a especificação das propriedades desta reserva, clique em Concluído.
Para concluir a compra do compromisso com as reservas anexadas, faça o seguinte:
- Clique em Comprar.
- Na caixa de diálogo Comprar um desconto por compromisso de uso, se você concordar com os termos específicos do serviço, clique novamente em Comprar.
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 \ --custom-end-time=CUSTOM_END_DATE \ --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:
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.
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
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
ou36-month
.CUSTOM_END_DATE
: opcional. Uma data de término personalizada para o período, que precisa ser formatada comoYYYY-MM-DD
. Por exemplo, para especificar uma data de término personalizada de 20 de abril de 2024, formate como2024-04-20
.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 do tipo de máquina A2accelerator-optimized-a3
para recursos do tipo de máquina A3 Edge e Highaccelerator-optimized-a3-mega
para recursos do tipo de máquina A3 Megacompute-optimized
para recursos do tipo de máquina C2compute-optimized-c2d
para recursos do tipo de máquina C2Dcompute-optimized-c3
para recursos do tipo de máquina C3compute-optimized-c3d
para recursos do tipo de máquina C3Dgeneral-purpose
para recursos do tipo de máquina N1general-purpose-n2
para recursos do tipo de máquina N2general-purpose-n2d
para recursos de máquina N2Dgraphics-optimized
para recursos do tipo de máquina G2memory-optimized-m3
para recursos do tipo de máquina M3storage-optimized-z3
para recursos do tipo de máquina Z3
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
ou10240MB
. 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.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
oufalse
). 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, especifiquen2
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, usen2-custom-4-5120
.
- Para tipos de máquina predefinidos, use o formato
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
eINTERFACE_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
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocal_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 comoprojects
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
eCONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem compartilhar essa reserva. Por exemploproject-1
eproject-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.Para criar sua nova reserva especificando manualmente todas as propriedades da VM, inclua o campo
instanceProperties
e exclua o camposourceInstanceTemplate
.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" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "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 campoinstanceProperties
.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" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "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" } } } } ] }
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
ouTHIRTY_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 do tipo de máquina A2ACCELERATOR_OPTIMIZED_A3
para recursos do tipo de máquina A3 Edge e HighACCELERATOR_OPTIMIZED_A3_MEGA
para recursos do tipo de máquina A3 MegaCOMPUTE_OPTIMIZED
para recursos do tipo de máquina C2COMPUTE_OPTIMIZED_C2D
para recursos do tipo de máquina C2DCOMPUTE_OPTIMIZED_C3
para recursos do tipo de máquina C3COMPUTE_OPTIMIZED_C3D
para recursos do tipo de máquina C3DGENERAL_PURPOSE
para recursos do tipo de máquina N1GENERAL_PURPOSE_N2
para recursos do tipo de máquina N2GENERAL_PURPOSE_N2D
para recursos de máquina N2DGRAPHICS_OPTIMIZED
para recursos do tipo de máquina G2MEMORY_OPTIMIZED_M3
para recursos do tipo de máquina M3STORAGE_OPTIMIZED_Z3
para recursos do tipo de máquina Z3
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.CUSTOM_END_DATE
: opcional. Uma data de término personalizada para o período, que precisa ser formatada comoYYYY-MM-DD
. Por exemplo, para especificar uma data de término personalizada de 20 de abril de 2024, formate como2024-04-20
.END_TIME
: 0h no horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7), como um ajuste de Tempo Universal Coordenado (UTC). Especifique esse valor somente se você tiver especificado uma data de término personalizada para sua compromisso. Especifique um dos seguintes valores:- Durante o horário de verão:
07:00:00
- Em outros horários:
08:00:00
- Durante o horário de verão:
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
oufalse
). 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, especifiquen2
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, usen2-custom-4-5120
.
- Para tipos de máquina predefinidos, use o formato
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
eINTERFACE_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
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocalSsds
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 comoSPECIFIC_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
eCONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem compartilhar essa reserva. Por exemploproject-1
eproject-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.- É possível reservar VMs de um tipo de máquina diferente. No entanto, ainda é necessário reservar VMs da mesma família de máquinas para continuar recebendo CUDs com relação aos recursos reservados.
- É possível alterar o número de VMs que você quer reservar.
- É possível alterar a quantidade de GPUs e discos SSD locais anexados por VM, desde que a quantidade total de GPUs reservadas e discos SSD locais permaneça a mesma.
É possível especificar suas reservas substituídas como reservas locais ou compartilhadas.
- Só é possível substituir uma reserva anexada por vez por apenas uma nova. Para substituir uma reserva anexada, remova simultaneamente uma reserva anexada atual definindo a contagem de VMs como 0 e defina uma nova reserva anexada que você quer substituí-la.
- A nova reserva precisa estar no mesmo projeto que o compromisso.
- A nova reserva precisa estar na mesma zona que a reserva removida.
- A quantidade e os tipos de GPUs na nova reserva precisam corresponder à reserva removida.
- Os números e tipos de discos SSD locais especificados na nova reserva precisam corresponder à reserva removida.
- É possível alterar até 100 VMs por solicitação. Para fazer uma alteração que envolva mais de 100 VMs, divida-a em várias solicitações menores ou entre em contato com o suporte do Google Cloud.
Crie um arquivo YAML no diretório atual com as configurações das seguintes reservas anexadas:
A reserva atual que você quer substituir.
Para recuperar os detalhes dessa reserva, consulte Visualizar detalhes de uma reserva.
A nova reserva de substituição.
O conteúdo do arquivo YAML é semelhante ao seguinte:
- reservation: CURRENT_RESERVATION_NAME reservation_zone: CURRENT_RESERVATION_ZONE vm_count: 0 machine_type: CURRENT_RESERVATION_MACHINE_TYPE accelerator: - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS type: CURRENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: CURRENT_RESERVATION_INTERFACE_1 size: 375 - interface: CURRENT_RESERVATION_INTERFACE_2 size: 375 project: CURRENT_RESERVATION_PROJECT_ID share_setting: CURRENT_RESERVATION_SHARE_SETTING share_with: - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2 - reservation: REPLACEMENT_RESERVATION_NAME reservation_zone: REPLACEMENT_RESERVATION_ZONE vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE accelerator: - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: REPLACEMENT_RESERVATION_INTERFACE_1 size: 375 - interface: REPLACEMENT_RESERVATION_INTERFACE_2 size: 375 project: REPLACEMENT_RESERVATION_PROJECT_ID share_setting: REPLACEMENT_RESERVATION_SHARE_SETTING share_with: - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
Substitua o seguinte pelas propriedades correspondentes das reservas atuais e de substituição:
Reserva atual
Para a reserva atual, todas as propriedades a seguir precisam ser exatamente as mesmas de quando você visualizou a reserva. Omita os campos de qualquer propriedade que ainda não tenha a reserva atual.
CURRENT_RESERVATION_NAME
: o nome da reserva anexada atual.CURRENT_RESERVATION_ZONE
: a zona da reserva anexada atual.CURRENT_RESERVATION_MACHINE_TYPE
: o tipo de máquina da reserva anexada atual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: o número de GPUs reservadas na reserva anexada atual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: o tipo de acelerador reservado na reserva anexada atual.CURRENT_RESERVATION_INTERFACE_1
eCURRENT_RESERVATION_INTERFACE_2
: o tipo de interface que os SSDs locais de cada VM reservada usam na reserva anexada atual. As opções válidas são:scsi
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocal_ssd
para todos os discos SSD locais reservados.CURRENT_RESERVATION_PROJECT_ID
: o ID do projeto atual que tem o compromisso e a reserva anexada. Especifique este campo se a reserva anexada atual for compartilhada entre vários projetos de consumidor.CURRENT_RESERVATION_SHARE_SETTING
: o tipo de compartilhamento da reserva atual. Especifique esse campo com o valorprojects
se a reserva anexada atual for compartilhada entre vários projetos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
eCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: os IDs dos projetos com os quais você compartilha a reserva anexada atual. Por exemplo,project-1
eproject-2
.
Reserva de substituição
Para a reserva de substituição, defina as propriedades a seguir conforme necessário. Verifique se você atende a todos os requisitos ao especificar essas propriedades. Omita todos os campos extras que você não queira usar.
REPLACEMENT_RESERVATION_NAME
: o nome da nova reserva de substituição.REPLACEMENT_RESERVATION_ZONE
: a zona da nova reserva de substituição.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: o número de VMs que você quer reservar na nova reserva de substituição.REPLACEMENT_RESERVATION_MACHINE_TYPE
: o tipo de máquina que você quer para as VMs na nova reserva de substituição.- 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, especifiquen2
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, usen2-custom-4-5120
.
- Para tipos de máquina predefinidos, use o formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: o número de GPUs que você quer adicionar, por instância de VM, na reserva de substituição.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: o tipo de acelerador que você quer adicionar à reserva de substituição;REPLACEMENT_RESERVATION_INTERFACE_1
eREPLACEMENT_RESERVATION_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
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocal_ssd
para cada disco SSD local que você quer adicionar. É possível especificar até 24 discos SSD locais.REPLACEMENT_RESERVATION_PROJECT_ID
: o ID do projeto atual que tem o compromisso e a reserva anexada. Especifique esse campo se quiser compartilhar sua reserva de substituição em vários projetos de consumidor.REPLACEMENT_RESERVATION_SHARE_SETTING
: o tipo de compartilhamento da reserva de substituição. Especifique esse campo com o valor comoprojects
se você quiser compartilhar sua reserva de substituição em vários projetos de consumidores.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
eREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem compartilhar essa reserva. Por exemploproject-1,project-2
de dois minutos. É possível incluir até 100 projetos pessoais. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não inclua oREPLACEMENT_RESERVATION_PROJECT_ID
, que já tem permissão para consumir essa reserva por padrão.
Execute o comando
gcloud beta compute commitments update-reservations
e especifique o caminho para o arquivo YAML usando a sinalização--reservations-from-file
.gcloud beta compute commitments update-reservations COMMITMENT_NAME \ --project= PROJECT_ID \ --region= REGION \ --reservations-from-file= YAML_FILE
Substitua:
COMMITMENT_NAME
: o nome do compromisso com a reserva anexada.PROJECT_ID
: o ID do projeto do compromisso com a reserva anexada.REGION
: a região em que a chave está localizada.YAML_FILE
: o caminho para o arquivo YAML que contém a configuração das reservas atuais e de substituição.
Crie um arquivo chamado
two-reservations.yaml
no diretório atual em que ele contém o seguinte conteúdo:- reservation: res-1 reservation_zone: asia-east1-a vm_count: 0 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - reservation: res-2 reservation_zone: asia-east1-a vm_count: 2 machine_type: n1-standard-8 accelerator: - count: 2 type: nvidia-tesla-p100 project: my-project share_setting: projects share_with: - project-1 - project-2 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375
Execute este comando:
gcloud beta compute commitments update-reservations my-commitment-with-reservations \ --region=asia-east1 \ --reservations-from-file=two-reservations.yaml
COMMITMENT_NAME
: o nome do compromisso com a reserva anexada.PROJECT_ID
: o ID do projeto do compromisso com a reserva anexada. Este também é o ID do projeto das reservas atuais e anexadas.COMMITMENT_ZONE
: a zona do compromisso com a reserva anexada.CURRENT_RESERVATION_NAME
: o nome da reserva anexada atual.CURRENT_RESERVATION_ZONE
: a zona da reserva anexada atual.CURRENT_RESERVATION_MACHINE_TYPE
: o tipo de máquina da reserva anexada atual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: o número de GPUs reservadas na reserva anexada atual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: o tipo de acelerador reservado na reserva anexada atual.CURRENT_RESERVATION_INTERFACE_1
eCURRENT_RESERVATION_INTERFACE_2
: o tipo de interface que os SSDs locais de cada VM reservada usam na reserva anexada atual. As opções válidas são:scsi
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocalSsds
para todos os discos SSD locais reservados.CURRENT_RESERVATION_SHARE_SETTING
: o tipo de compartilhamento da reserva atual. Especifique esse parâmetro com o valorprojects
se a reserva anexada atual for compartilhada entre vários projetos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
eCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: os IDs dos projetos com os quais você compartilha a reserva anexada atual. Por exemplo,project-1
eproject-2
.REPLACEMENT_RESERVATION_NAME
: o nome da nova reserva de substituição.REPLACEMENT_RESERVATION_ZONE
: a zona da nova reserva de substituição.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: o número de VMs que você quer reservar na nova reserva de substituição.REPLACEMENT_RESERVATION_MACHINE_TYPE
: o tipo de máquina que você quer para as VMs na nova reserva de substituição.- 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, especifiquen2
para VMs N2.CPUS
: o número de vCPUs.MEMORY
: a memória total para uma instância reservada. A memória precisa ser um múltiplo de 256 MB e ser fornecida em MB. Por exemplo, para criar uma VM N2 com 4 vCPUs e 5 GB de memória, que é 5.120 MB, usen2-custom-4-5120
.
- Para tipos de máquina predefinidos, use o formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: o número de GPUs que você quer adicionar, por instância de VM, na reserva de substituição.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: o tipo de acelerador que você quer adicionar à reserva de substituição.REPLACEMENT_RESERVATION_INTERFACE_1
eREPLACEMENT_RESERVATION_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
envme
. Cada SSD local tem 375 GB. Repita o parâmetrolocalSsds
para cada disco SSD local que você quer adicionar. É possível especificar até 24 discos SSD locais.REPLACEMENT_RESERVATION_SHARE_SETTING
: o tipo de compartilhamento da reserva de substituição. Especifique esse parâmetro com o valor comoprojects
se você quiser compartilhar sua reserva de substituição em vários projetos de consumidores.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
eREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: os IDs dos projetos que podem compartilhar essa reserva. Por exemploproject-1,project-2
de dois minutos. É possível incluir até 100 projetos pessoais. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não inclua oPROJECT_ID
, que já tem permissão para consumir essa reserva por padrão.- Saiba mais sobre CUDs baseados em recursos.
- Saiba como consumir reservas.
- Saiba como modificar reservas.
- Saiba como excluir reservas.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
CUDs para seus recursos reservados
Você recebe CUDs de compromissos ativos para qualquer uso de recursos qualificado nos seus projetos. Se você também tiver alguma reserva para manter a capacidade para recursos nesse projeto, os CUDs de compromissos ativos também poderão ser aplicados a esses recursos reservados. Para que qualquer recurso reservado se qualifique para receber CUDs, os seguintes requisitos se aplicam:
Dependendo do tipo de recurso, é possível receber CUDs para seus recursos reservados de uma das seguintes maneiras:
Anexar reservas a compromissos baseados em recursos
É possível anexar reservas a qualquer compromisso baseado em recursos e garantir que a capacidade seja mantida em zonas específicas para os recursos comprometidos que você planeja usar. É possível anexar várias reservas a um único compromisso. No entanto, uma reserva só pode ser anexada a um único compromisso. Quando você compra um compromisso, é possível anexar reservas a ele de uma das seguintes maneiras:
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 as VMs em execução que estavam consumindo essas reservas. As VMs em execução continuam sendo executadas e você ainda é cobrado por essas VMs.
Recursos comprometidos que não exigem reservas anexadas
As vCPUs e a memória comprometidas não exigem que você anexe reservas correspondentes aos seus compromissos. No entanto, quando você adquire um compromisso que inclui vCPUs, memória ou ambos, ainda é possível anexar reservas que especificam esses recursos. Para saber como adquirir compromissos somente para vCPUs, memória ou ambos, sem anexar reservas, consulte Como comprar compromissos sem reservas anexadas.
Recursos comprometidos que exigem reservas anexadas
As GPUs confirmadas e os discos SSD locais exigem que você anexe reservas correspondentes aos seus compromissos. Quando você compra um compromisso que inclui GPUs, discos SSD locais ou ambos, também precisa reservar esses recursos e anexá-las ao seu compromisso. Para isso, use uma única reserva ou uma combinação de reservas. Ao adquirir esse compromisso, também é possível incluir vCPUs, memória ou ambos. No entanto, você não precisa reservar essas vCPUs ou memórias. Para saber como adquirir compromissos que incluem GPUs e discos SSD locais, consulte Compromissos de compra com reservas anexadas neste documento.
Para conferir a lista completa de séries de máquinas compatíveis com CUDs para GPUs e discos SSD locais, consulte a seção Tipos de compromisso de hardware na documentação de CUDs baseados em recursos.
Quantidades de recursos permitidas nas reservas anexadas
Para vCPUs e memória, é possível anexar reservas especificando mais ou menos quantidades de recursos do que você está se comprometendo. Se você se comprometer com mais vCPUs ou memória do que reserva, o Compute Engine reservará capacidade somente para esses recursos reservados. No entanto, ainda é possível usar os outros recursos confirmados dependendo da disponibilidade deles na sua região. Se você reservar mais vCPUs ou memória do que se compromete a ter, não receberá CUDs para esses recursos extras reservados.
Por exemplo, quando você compra um compromisso para 4 vCPUs e 30 GB de memória, pode optar por realizar uma das seguintes ações:
No entanto, se o compromisso contiver GPUs, discos SSD locais ou ambos, será necessário reservar e anexar todos esses recursos. Suas reservas anexadas precisam especificar os números e tipos exatos das GPUs e dos discos SSD locais com que você está se comprometendo. Consequentemente, também não é possível ter qualquer número ou tipo adicional de GPUs ou discos SSD locais nas reservas anexadas. Por exemplo, suponha que você compre um compromisso para 30 GB de memória e quatro GPUs NVIDIA P100. A reserva anexada (ou combinação de reservas anexadas) pode especificar qualquer quantidade de vCPUs ou memória, mas precisa ter exatamente quatro GPUs do tipo NVIDIA P100. Neste exemplo, não é possível anexar reservas especificando qualquer uma das combinações de recursos a seguir:
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 comoPENDING
no console do Google Cloud). Após a ativação, o status do compromisso mudará paraACTIVE
. 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 comoNOT_YET_ACTIVE
. No entanto, seu compromisso passa a serACTIVE
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:
Anexar reservas já criadas
É possível anexar reservas atuais ao adquirir o compromisso usando o console do Google Cloud, a CLI do Google Cloud ou 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 CUDs 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:
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 \ --custom-end-time=CUSTOM_END_DATE \ --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \ --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'
Substitua:
Exemplo: comprar um compromisso anexando reservas existentes
Suponha que você tenha duas reservas
res-01
eres-02
nas zonasus-central1-a
eus-central1-b
do projetomyproject
. 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ãous-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,local-ssd=1500 \ --resources-accelerator=type=nvidia-tesla-p100,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étodoregionCommitments.insert
. Na solicitação, inclua o campoexistingReservations
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" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "existingReservations": "RESERVATION_URLs" }
Substitua:
Exemplo: comprar um compromisso anexando reservas existentes
Suponha que você tenha duas reservas
res-01
eres-02
nas zonasus-central1-a
eus-central1-b
do projetomyproject
. 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ãous-central1
deste projeto para essas GPUs e discos SSD locais e usar essas reservas atuais como reservas anexadas, faça a seguinte solicitaçãoPOST
. 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-p100", "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 CUDs 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:
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:
Substitua o seguinte pelas propriedades correspondentes do compromisso e das reservas anexadas:
Compromisso
Reservas anexadas
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ãous-central1
que inclua quatro GPUs NVIDIA V100. Você quer criar uma nova reservareservation-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 VMsn1-standard-32
na zonaus-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 compromissocommitment-02
para uma única GPU NVIDIA P4 na regiãous-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 VMn1-standard-2
na zonaus-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 V100 e dois discos SSD locais na regiãous-central1
. Você também quer criar e anexar duas reservas na zonaus-central1-a
. Na primeira reserva,res-01
, você quer reservar 1 VMn1-standard-2
com 1 GPU. Você quer tornarres-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 VMn1-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étodoregionCommitments.insert
. Na solicitação, inclua o camporeservations
para definir uma lista de todas as novas reservas que você quer criar e anexar. É possível anexar quantas reservas você quiser ao compromisso.Substitua o seguinte pelas propriedades correspondentes do compromisso e das reservas anexadas:
Compromisso
Reservas anexadas
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ãous-central1
que inclua quatro GPUs NVIDIA V100. Você quer criar uma nova reservareservation-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 VMsn1-standard-8
na zonaus-central1-a
. Para comprar este exemplo de compromisso com a reserva anexada, faça a seguinte solicitaçãoPOST
: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 compromissocommitment-02
para uma única GPU NVIDIA P4 na regiãous-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 VMn1-standard-2
na zonaus-west2-b
. Para comprar este exemplo de compromisso com a reserva anexada, faça a seguinte solicitaçãoPOST
: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 V100 e dois discos SSD locais na regiãous-central1
. Você também quer criar e anexar duas reservas na zonaus-central1-a
. Na primeira reserva,res-01
, você quer reservar 1 VMn1-standard-2
com 1 GPU. Você quer tornarres-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 VMn1-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çãoPOST
. 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" } ] }
Substituir reservas anexadas a compromissos
Substitua a reserva anexada atual do compromisso por uma nova se quiser modificar os tipos e números de VMs que usam os recursos comprometidos.
A reserva de substituição será sempre uma reserva recém-criada. Para substituir uma reserva anexada, especifique as propriedades da reserva que você quer usar como substituição. O Compute Engine cria automaticamente uma nova reserva com essas propriedades e a usa para substituir a reserva anexada. Não é possível usar uma reserva para substituir a anexada.
Alterações permitidas
Quando você substitui uma reserva anexada existente de um compromisso por uma nova, solicite qualquer uma das alterações a seguir:
Requisitos
Quando você substitui a reserva anexada ao compromisso por uma nova, sua solicitação precisa atender a todos os requisitos a seguir:
Sua solicitação para substituir uma reserva também depende da disponibilidade de capacidade nesse momento. Se a capacidade para uma solicitação não estiver disponível, ela falhará e retornará um erro de disponibilidade de recurso, que você pode tentar resolver modificando ou adiando a solicitação. Para mais informações, consulte a documentação para resolver problemas de disponibilidade de recursos.
Se a solicitação para substituir uma reserva anexada falhar, essa reserva e os recursos reservados atuais não serão afetados. Para preservar sua capacidade, aguarde até que a solicitação de substituição de uma reserva seja bem-sucedida para fazer alterações nas VMs.
Etapas para substituir uma reserva anexada
É possível substituir as reservas de um compromisso usando a CLI do Google Cloud ou a REST.
gcloud
Para substituir reservas anexadas a compromissos, faça o seguinte:
Exemplo de substituição de uma reserva anexada a um compromisso
Para demonstrar isso, esta seção mostra um exemplo de compromisso com uma reserva anexada e como substituir a reserva anexada de exemplo.
Exemplo de compromisso com uma reserva anexada
Por exemplo, suponha que você queira atualizar as reservas anexadas para o compromisso
my-commitment-with-reservations
, que foram compradas usando o seguinte comando:gcloud beta compute commitments create my-commitment-with-reservations \ --region=asia-east1 \ --resources=vcpu=16,memory=60GB,local-ssd=3000 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan=12-month \ --type=general-purpose \ --reservations-from-file=one-reservation.yaml
Neste exemplo, suponha que, quando este comando foi executado,
one-reservation.yaml
era um arquivo no diretório atual com o conteúdo a seguir, que define uma reserva anexada chamadares-1
.- reservation: res-1 reservation_zone: asia-east1-a vm_count: 4 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375
Este compromisso
my-commitment-with-reservations
e a reserva anexadares-1
resultaram nos seguintes recursos reservados e comprometidos:Tipo de recurso Recursos comprometidos
(my-commitment-with-reservations
)Recursos na reserva anexada atualmente
(res-1
)vCPUs e memória 16 vCPUs e 60 GB 16 vCPUs e 60 GB
(4 VMsn1-standard-4
reservadas)*GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*Discos SSD locais 3.000 GB ou 8 discos SSD locais 3.000 GB ou 8 discos SSD locais
(750 GB ou 2 discos SSD locais por VM, para 4 VMs)** Especificamente, o exemplo de reserva anexada,
res-1
, reserva 4n1-standard-4
VMs, cada uma com uma GPU P100 e dois SSDs locais descsi
tipo de interface. O tipo de máquinan1-standard-4
usa 4 vCPUs e 15 GB para cada VM.Substitua o exemplo de reserva anexada
Suponha que você queira substituir a reserva anexada
res-1
por uma nova reserva anexadares-2
e alterar os recursos reservados para o seguinte:Tipo de recurso Recursos comprometidos
(my-commitment-with-reservations
)Recursos na reserva anexada atualmente
(res-1
)Recursos na reserva anexada de substituição
(res-2
)vCPUs e memória 16 vCPUs e 60 GB 16 vCPUs e 60 GB
(4 VMsn1-standard-4
reservadas)*16 vCPUs e 60 GB
(2 VMs reservadas e compartilhadasn1-standard-8
)†GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*4 GPUs P100
(2 GPUs P100 por VM, para 2 VMs)†Discos SSD locais 3.000 GB ou 8 discos SSD locais 3.000 GB ou 8 discos SSD locais
(750 GB ou 2 discos SSD locais por VM, para 4 VMs)*3.000 GB ou 8 discos SSD locais
(1.500 GB ou 4 discos SSD locais por VM, para 2 VMs)** Especificamente, o exemplo de reserva anexada,
res-1
, reserva 4n1-standard-4
VMs, cada uma com uma GPU P100 e dois SSDs locais descsi
tipo de interface. O tipo de máquinan1-standard-4
usa 4 vCPUs e 15 GB para cada VM.† Especificamente, a reserva anexada de substituição define
res-2
, que reserva 2 VMsn1-standard-8
, cada uma com uma GPU P100 e quatro SSDs locais descsi
tipo de interface. Além disso,res-2
é compartilhado com dois outros projetos,project-1
eproject-2
, e pertence ao projeto atual,my-project
. O tipo de máquinan1-standard-8
usa 8 vCPUs e 30 GB para cada VM.Para substituir a reserva anexada
res-1
porres-2
para o compromissomy-commitment-with-reservations
, faça o seguinte:REST
Para substituir reservas anexadas a compromissos, faça uma solicitação
POST
usando o métodoregionCommitments.updateReservations
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations { "reservations": [ { "name": "REPLACEMENT_RESERVATION_NAME", "specificReservation": { "count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_2" } ], "machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE" } }, "zone": "REPLACEMENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } }, { "name": "CURRENT_RESERVATION_NAME", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_2" } ], "machineType": "CURRENT_RESERVATION_MACHINE_TYPE" } }, "zone": "CURRENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } } ] }
Substitua o seguinte pelas propriedades correspondentes do compromisso, da reserva atual e da reserva de substituição:
Compromisso
Reserva atual
Para a reserva atual, todas as propriedades a seguir precisam ser exatamente as mesmas de quando você visualizou a reserva. Omita os campos de qualquer propriedade que ainda não tenha a reserva atual.
Reserva de substituição
Para a reserva de substituição, defina as propriedades a seguir conforme necessário. Verifique se você atende a todos os requisitos ao especificar essas propriedades. Omita todos os campos extras que você não queira usar.
Exemplo de substituição de uma reserva anexada a um compromisso
Para demonstrar isso, esta seção mostra um exemplo de compromisso com uma reserva anexada e como substituir a reserva anexada de exemplo.
Exemplo de compromisso com uma reserva anexada
Por exemplo, suponha que você queira substituir a reserva anexada
res-1
pelo compromissomy-commitment-with-reservations
, que foi comprada fazendo a seguinte solicitaçãoPOST
:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments { "name": "my-commitment-with-reservations", "plan": "TWELVE_MONTH", "reservations": [ { "name": "res-1", "specificReservation": { "count": "4", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "1", "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ], "resources": [ { "amount": "16", "type": "VCPU" }, { "amount": "61440", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" } { "amount": "3072000", "type": "LOCAL_SSD" } ], "type": "GENERAL_PURPOSE" }
Este compromisso
my-commitment-with-reservations
e a reserva anexadares-1
resultaram nos seguintes recursos reservados e comprometidos:Tipo de recurso Recursos comprometidos
(my-commitment-with-reservations
)Recursos na reserva anexada atualmente
(res-1
)vCPUs e memória 16 vCPUs e 60 GB 16 vCPUs e 60 GB
(4 VMsn1-standard-4
reservadas)*GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*Discos SSD locais 3.000 GB ou 8 discos SSD locais 3.000 GB ou 8 discos SSD locais
(750 GB ou 2 discos SSD locais por VM, para 4 VMs)** Especificamente, o exemplo de reserva anexada,
res-1
, reserva 4n1-standard-4
VMs, cada uma com uma GPU P100 e dois SSDs locais descsi
tipo de interface. O tipo de máquinan1-standard-4
usa 4 vCPUs e 15 GB para cada VM.Substitua o exemplo de reserva anexada
Suponha que você queira substituir a reserva anexada
res-1
por uma nova reserva anexadares-2
e alterar os recursos reservados para o seguinte:Tipo de recurso Recursos comprometidos
(my-commitment-with-reservations
)Recursos na reserva anexada atualmente
(res-1
)Recursos na reserva anexada de substituição
(res-2
)vCPUs e memória 16 vCPUs e 60 GB 16 vCPUs e 60 GB
(4 VMsn1-standard-4
reservadas)*16 vCPUs e 60 GB
(2 VMs reservadas e compartilhadasn1-standard-8
)†GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*4 GPUs P100
(2 GPUs P100 por VM, para 2 VMs)†Discos SSD locais 3.000 GB ou 8 discos SSD locais 3.000 GB ou 8 discos SSD locais
(750 GB ou 2 discos SSD locais por VM, para 4 VMs)*3.000 GB ou 8 discos SSD locais
(1.500 GB ou 4 discos SSD locais por VM, para 2 VMs)** Especificamente, o exemplo de reserva anexada,
res-1
, reserva 4n1-standard-4
VMs, cada uma com uma GPU P100 e dois SSDs locais descsi
tipo de interface. O tipo de máquinan1-standard-4
usa 4 vCPUs e 15 GB para cada VM.† Especificamente, a reserva anexada de substituição define
res-2
, que reserva 2 VMsn1-standard-8
, cada uma com uma GPU P100 e quatro SSDs locais descsi
tipo de interface. Além disso,res-2
é compartilhado com dois outros projetos,project-1
eproject-2
, e pertence ao projeto atual,my-project
. O tipo de máquinan1-standard-8
usa 8 vCPUs e 30 GB para cada VM.Para substituir a reserva anexada
res-1
porres-2
para o compromissomy-commitment-with-reservations
, faça a seguinte solicitaçãoPOST
usandoregionCommitments.updateReservations
método:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservations/updateReservations { "reservations": [ { "name": "res-2", "specificReservation": { "count": "2", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-8" } }, "zone": "asia-east1-a" }, { "name": "res-1", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ] }
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-