Mesclar e dividir compromissos


Para ajudar você a gerenciar os requisitos de recursos dos projetos, o Compute Engine permite mesclar ou dividir os compromissos atuais e redistribuir os recursos para corresponder à granularidade necessária para os projetos.

Neste documento, descrevemos os benefícios e o processo de mesclagem e divisão de compromissos, além das limitações e dos requisitos aplicáveis.

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.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Mesclar compromissos

É possível mesclar vários compromissos compatíveis para criar um novo compromisso maior. Ao mesclar compromissos, é possível os rastrear e gerenciar como uma única entidade. A mesclagem de compromissos ajuda a evitar datas de expiração de compromissos escalonadas em conjunto de prazos de validade individuais ao mesmo tempo. A mesclagem também permite intensificar gradualmente suas cargas de trabalho. Por exemplo, é possível comprar compromissos mais recentes e menores quando precisar e mesclar os compromissos juntos ou com um compromisso existente.

Limitações para mesclagem

  • Não é possível mesclar compromissos de licença.
  • No momento da criação de compromissos mesclados, não é possível criar novas reservas e anexá-las a esses compromissos.
  • Não é possível mesclar compromissos que expiraram ou foram cancelados.
  • Por padrão, quando você cria compromissos mesclados, a configuração de renovação automática fica desativada nos novos compromissos, mesmo que todos os compromissos de origem estejam definidos para renovação automática. Se você quiser renovar seus compromissos mesclados de maneira automática, ative manualmente a configuração de renovação automática nesses compromissos. Isso pode ser feito no momento da criação ou após a criação.

Como funciona a mesclagem

Ao mesclar compromissos individuais (compromissos de origem), você cria um novo compromisso (comprometimento mesclado) com os recursos combinados de todos os compromissos de origem. Às 0h dos EUA e do Horário do Pacífico canadense (UTC-8, ou UTC-7, durante o horário de verão) do dia seguinte, o compromisso mesclado fica ativo e os compromissos de origem são cancelados. Essa data de ativação se torna a data de início do compromisso mesclado e a operação de mesclagem termina.

O Compute Engine define a data de validade do compromisso mesclado para qualquer data de validade mais distante no futuro entre os compromissos de origem. Por exemplo, se você tiver dois compromissos de origem que expiram em 1 de janeiro de 2023 e 1 de dezembro de 2023, respectivamente, o compromisso mesclado expira em 1 de dezembro de 2023.

Se algum dos compromissos de origem tiver reservas anexadas, elas serão preservadas durante a mesclagem e anexadas ao compromisso mesclado após a criação. Para saber mais sobre compromissos com reservas anexadas, consulte Como combinar reservas com descontos por compromisso de uso.

Implicações de preço da mesclagem

A taxa de compromisso é a soma dos preços com desconto de todos os recursos confirmados. Quando você mescla o compromisso, os preços com desconto dos recursos do compromisso mesclado podem mudar no dia em que o compromisso mesclado se torna ativo. Esse novo preço com desconto para cada recurso permanece o mesmo até o final do prazo do compromisso mesclado, mesmo que os preços sob demanda sejam alterados. No entanto, se você mesclar ou dividir esse compromisso novamente no futuro, os preços com desconto dos recursos poderão mudar novamente.

Exemplo de um compromisso mesclado

A tabela a seguir mostra as propriedades dos compromissos de origem e mesclados em um cenário em que dois compromissos (source-commitment-1 e source-commitment-2) são mesclados em um único compromisso (merged-commitment) em March 1, 2022:

Primeiro compromisso de origem
(antes da mesclagem)
Segundo compromisso de origem
(antes da mesclagem)
Compromisso mesclado
Nome source-commitment-1 source-commitment-2 merged-commitment
Tipo N2 N2 N2
Região us-central-1 us-central-1 us-central-1
Recursos
  • vCPUs: 100
  • Memória: 100 GB
  • vCPUs: 200
  • Memória: 300 GB
  • vCPUs: 300
  • Memória: 400 GB
Termo 3 anos 3 anos 3 anos
Data de início* 1º de janeiro de 2020 1º de dezembro de 2020 2 de março de 2022
(dia após a mesclagem)
Data de término 1 de janeiro de 2023 1 de dezembro de 2023 1 de dezembro de 2023

*Todos os compromissos começam à 0h no Horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de início especificada.
Todos os compromissos terminam à 0h no Horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de término especificada.

Requisitos de mesclagem

Ao mesclar compromissos de origem individuais para criar um novo compromisso mesclado, eles precisam atender aos seguintes requisitos:

  • Os compromissos de origem precisam ter o mesmo projeto, região, duração (ou prazo), tipo de compromisso e categoria de compromisso.
  • O novo compromisso mesclado precisa ter o mesmo projeto, região, duração (ou período), tipo de compromisso e categoria do compromisso dos compromissos de origem. No entanto, é possível escolher um novo nome para o compromisso mesclado.
  • Os tipos de recursos especificados para o compromisso mesclado precisam ser exatamente os mesmos dos recursos nos compromissos de origem. Além disso, a quantidade de recursos para cada tipo de recurso no novo compromisso mesclado precisa ser igual à soma dos valores desse recurso em todos os compromissos de origem. Por exemplo, se o primeiro compromisso de origem tem 100 vCPUs e 100 GB de memória e o segundo compromisso de origem tem 200 vCPUs e 300 GB de memória, você vai precisar criar o compromisso mesclado com 300 vCPUs e 400 GB memória.
  • Os compromissos de origem e mesclados precisam ser para recursos de hardware (vCPUs, memória, GPUs e discos SSD locais).

Criar compromissos mesclados

Crie um compromisso mesclado usando a CLI gcloud ou a API Compute Engine. Antes de mesclar compromissos, consulte as limitações de mesclagem.

Console

  1. No console do Google Cloud, selecione o projeto em que você quer mesclar compromissos e acesse a página Descontos por uso contínuo.

    Acesse "Descontos por uso contínuo"

  2. Para iniciar a operação de mesclagem para um conjunto de compromissos, na guia Compromissos de hardware da página Lista de compromissos, clique em Mesclar.

    Outra possibilidade é selecionar os compromissos que você quer mesclar na lista e clicar em Mesclar.

  3. Na guia Escolher compromisso da página Mesclar aberta, faça isto:

    1. Em Escolher compromissos para mesclar, selecione na lista os compromissos que você quer mesclar. Se você já selecionou esses compromissos na página Lista de compromissos, verifique os compromissos selecionados nessa guia.

      Opcional: também é possível especificar os valores de Plano, Região e Tipo de compromisso que você quer para seu compromisso mesclado, antes de selecionar os compromissos individuais para mesclar. Isso filtra a lista de compromissos para exibir apenas os compromissos que podem ser mesclados para os atributos especificados.

    2. Clique em Próxima. A guia Revisar abre.

  4. Na guia Revisar da página Mesclar, faça isto:

    1. Analise e confirme os detalhes do compromisso mesclado. Para modificar a lista de compromissos individuais que você quer mesclar, selecione a guia Escolher compromisso no lado esquerdo da janela e repita a etapa 3.
    2. No campo Novo nome do compromisso, insira um nome para o compromisso mesclado.
    3. Opcional: para ativar a renovação automática no compromisso mesclado, marque a caixa de seleção Ativar renovação automática.
    4. Leia os Termos e Condições.
    5. Para concluir a criação do compromisso mesclado e retornar à página Lista de compromissos, clique em Mesclar.

gcloud

Para mesclar os compromissos atuais em um único compromisso, use o comando gcloud compute commitments create com a sinalização --merge-source-commitment.

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

Substitua:

  • COMMITMENT_NAME: o nome do novo compromisso mesclado.
  • NUMBER_VCPUS: a soma dos números de vCPUs nos compromissos de origem.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que seus compromissos de origem, um dos seguintes:
    • general-purpose para compromissos de tipo de máquina de uso geral N1
    • general-purpose-n2 para compromissos de tipo de máquina de uso geral N2
    • general-purpose-e2 para compromissos de tipo de máquina de uso geral E2
    • general-purpose-n2d para compromissos de tipo de máquina de uso geral N2D
    • general-purpose-t2d para compromissos de tipo de máquina de uso geral Tau T2D
    • compute-optimized para compromissos de tipo de máquina C2 otimizado para computação
    • compute-optimized-c2d para compromissos de tipo de máquina C2D otimizado para computação
    • memory-optimized para os compromissos de tipo de máquina M1 ou M2 com otimização de memória
    • accelerator-optimized para compromissos de tipo de máquina A2 com otimização de aceleradores
    • accelerator-optimized-a3 para compromissos de tipo de máquina A3 com otimização de aceleradores
    • graphics-optimized para compromissos de tipo de máquina G2 com otimização de aceleradores
  • REGION: a mesma região do seus compromissos de origem.
  • PROJECT_ID: o ID do projeto em que você quer mesclar os compromissos.
  • DURATION: a mesma duração (ou período) dos seus compromissos de origem, 12-month ou 36-month.
  • MEMORY: a soma dos valores, em MB ou GB, da memória nos compromissos de origem. Por exemplo, 1.000 MB. Se as unidades não forem especificadas, a unidade padrão usada será GB.
  • SOURCE_COMMITMENT_URLS: especifica uma lista de URLs de compromisso de origem distintos, separando cada URL com uma vírgula. Não adicione um espaço em branco entre os URLs. Na lista, é necessário especificar pelo menos dois URLs de compromisso de origem.

Por exemplo, considere dois compromissos de origem com os recursos como (4 vCPUs e 2048 MB) e (3 vCPUs e 2048 MB), respectivamente. A duração de cada um dos compromissos de origem é de 12 meses. O comando gcloud CLI a seguir combina os dois compromissos e cria um novo compromisso mesclado com os recursos dele como 7 vCPUs e 4.096 MB e a duração como 12 meses:

gcloud compute commitments create merged-commitment \
    --plan=12-month \
    --project=myproject \
    --resources=vcpu=7,memory=4096 \
     --merge-source-commitments=projects/myproject/regions/us-central1/commitments/source-commitment-1,projects/myproject/regions/us-central1/commitments/source-commitment-2

API

Para mesclar compromissos atuais em um único compromisso, use o método regionCommitments.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
  "name": COMMITMENT_NAME,
  "plan": DURATION,
  "type" COMMITMENT_TYPE,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "mergeSourceCommitments": [SOURCE_COMMITMENT_URL ...]
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você quer mesclar os compromissos.
  • REGION: a mesma região do seus compromissos de origem.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que seus compromissos de origem, um dos seguintes:
    • GENERAL_PURPOSE para compromissos de tipo de máquina de uso geral N1
    • GENERAL_PURPOSE_N2 para compromissos de tipo de máquina de uso geral N2
    • GENERAL_PURPOSE_E2 para compromissos de tipo de máquina de uso geral E2
    • GENERAL_PURPOSE_N2D para compromissos de tipo de máquina de uso geral N2D
    • GENERAL_PURPOSE_T2D para compromissos de tipo de máquina de uso geral Tau T2D
    • COMPUTE_OPTIMIZED para compromissos de tipo de máquina C2 otimizado para computação
    • COMPUTE_OPTIMIZED_C2D para compromissos de tipo de máquina C2D otimizado para computação
    • MEMORY_OPTIMIZED para os compromissos de tipo de máquina M1 ou M2 com otimização de memória
    • ACCELERATOR_OPTIMIZED para compromissos de tipo de máquina A2 com otimização de aceleradores
    • ACCELERATOR_OPTIMIZED_A3 para compromissos de tipo de máquina A3 com otimização de aceleradores
    • GRAPHICS_OPTIMIZED para compromissos de tipo de máquina G2 com otimização de aceleradores
  • DURATION: a mesma duração (ou período) dos seus compromissos de origem, TWELVE_MONTH ou THIRTY_SIX_MONTH.
  • COMMITMENT_NAME: o nome do novo compromisso mesclado.
  • NUMBER_VCPUS: a soma dos números de vCPUs nos compromissos de origem.
  • MEMORY: a soma dos valores, em MB, de memória nos compromissos de origem. Por exemplo, 1.000 MB. Se as unidades não forem especificadas, a unidade padrão MB será usada.
  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem que você quer mesclar. Especifique uma lista separada por vírgulas de URLs de compromisso de origem distintos.

Por exemplo, considere dois compromissos de origem (source-commitment-1 e source-commitment-2) com os respectivos recursos como (4 vCPUs e 2048 MB) e (3 vCPUs e 2048 MB), respectivamente. A seguinte solicitação da API Compute Engine mescla source-commitment-1 e source-commitment-2 em uma única confirmação (merged-commitment):

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "merged-commitment",
  "plan": "TWELVE_MONTH",
   "resources": [
    {
      "type": "VCPU",
      "amount": "7"
    }
    {
      "type": "MEMORY",
      "amount": "4096"
    }
  ],
  "mergeSourceCommitments": [
         "projects/myproject/regions/us-central1/commitments/source-commitment-1",
         "projects/myproject/regions/us-central1/commitments/source-commitment-2",
         ...
    ]
}

Dividir compromissos

É possível transferir recursos de um compromisso atual e dividi-lo em compromissos menores. A divisão permite que você monitore e gerencie partes de um grande compromisso na forma de compromissos individuais menores. Por exemplo, é possível definir apenas uma parte de um compromisso para renovar automaticamente ao dividi-lo e ativar a renovação automática para apenas um dos compromissos filhos. Com a divisão, também é possível distribuir os descontos por uso contínuo em um nível mais granular usando a atribuição priorizada para os compromissos de divisão.

Limitações para divisão

  • Não é possível dividir compromissos de licença.
  • Não é possível dividir compromissos que tenham reservas anexadas. Consequentemente, não é possível dividir compromissos que tenham GPUs, discos SSDs locais ou ambos, porque os compromissos com esses recursos sempre têm reservas anexadas.
  • No momento da criação de compromissos divididos, não é possível criar novas reservas e anexá-las a esses compromissos.
  • Não é possível dividir compromissos que expiraram ou foram cancelados.
  • Por padrão, quando você cria compromissos divididos, a configuração de renovação automática fica desativada nos novos compromissos, mesmo que todos os compromissos de origem estejam definidos para renovação automática. Se você quiser renovar seus compromissos divididos de maneira automática, ative manualmente a configuração de renovação automática nesses compromissos. Isso pode ser feito no momento da criação ou após a criação.
  • É possível criar apenas um novo compromisso dividido por vez usando a API Compute Engine ou a CLI gcloud.

Como funciona a divisão

Ao dividir um compromisso atual (compromisso de origem), você transfere os recursos do compromisso de origem, cria um ou mais novos compromissos (compromissos de divisão) e redistribui os recursos transferidos entre os novos compromissos de divisão. A ativação dos novos compromissos de divisão e o redimensionamento do compromisso de origem ocorrem às 0h do Horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7, durante o horário de verão) do dia seguinte. O Compute Engine define essa data de ativação como a data de início para os compromissos divididos. Ao concluir a operação de divisão, você terá os seguintes compromissos:

  • O compromisso de origem redimensionado com os recursos que permanecem após a divisão.
  • Os compromissos divididos recém-criados com os recursos redistribuídos.

O compromisso de origem, embora redimensionado, mantém todos os outros atributos, incluindo as datas de início e validade, e continua funcionando normalmente. A data de validade dos compromissos divididos permanece igual ao compromisso de origem.

É possível criar apenas um novo compromisso dividido por vez usando a API Compute Engine e a CLI gcloud. É possível criar vários novos compromissos de divisão em uma única operação usando o Console do Google Cloud.

Não é possível dividir um compromisso quando ele tem reservas anexadas. Para saber mais sobre compromissos com reservas anexadas, consulte Como combinar reservas com descontos por compromisso de uso.

Implicações de preços da divisão

A taxa de compromisso é a soma dos preços com desconto de todos os recursos confirmados. A divisão de um compromisso afeta os custos de recursos da seguinte maneira:

  • Compromisso de origem redimensionado: os preços com desconto dos recursos do seu compromisso de origem redimensionado permanecem os mesmos.
  • Compromisso de divisão: os preços com desconto dos recursos do compromisso que foram divididos recentemente podem mudar no dia em que o compromisso dividido se torna ativo. Esse novo preço com desconto para cada recurso permanece o mesmo até o final do prazo do novo compromisso dividido, mesmo que os preços sob demanda sejam alterados.

No entanto, se você mesclar ou dividir qualquer um desses compromissos mais uma vez no futuro, os preços com desconto poderão mudar novamente.

Exemplo de um compromisso dividido

A tabela a seguir mostra as propriedades do compromisso quando um compromisso já existente (source-commitment) é dividido em dois compromissos distintos (redimensionado em source-commitment e split-commitment) em 1 de março de 2022:

Compromisso de origem
(antes da divisão)
Compromisso dividido Compromisso de origem
(após a divisão)
Nome source-commitment split-commitment source-commitment
Tipo N2 N2 N2
Região us-central-1 us-central-1 us-central-1
Recursos
  • vCPUs: 200
  • Memória: 200 GB
  • vCPUs: 50
  • Memória: 100 GB
  • vCPUs: 150
  • Memória: 100 GB
Período do contrato 3 anos 3 anos 3 anos
Data de início* 1º de janeiro de 2020 2 de março de 2022
(dia após a divisão)
1º de janeiro de 2020
Data de término 1 de janeiro de 2023 1 de janeiro de 2023 1 de janeiro de 2023

*Todos os compromissos começam à 0h no Horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de início especificada.
Todos os compromissos terminam à 0h no Horário do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de término especificada.

Requisitos para a divisão

Ao dividir um compromisso de origem e criar um ou mais compromissos de divisão, seus compromissos de origem e divisão precisam atender aos seguintes requisitos:

  • Os novos compromissos de divisão precisam ter o mesmo projeto, tipo de compromisso, região e duração (ou termo) do compromisso de origem. No entanto, é necessário escolher novos nomes para os compromissos divididos.
  • Os tipos de recursos especificados para o novo compromisso de divisão precisam corresponder a alguns ou todos os tipos de recursos no compromisso de origem. Além disso, a quantidade combinada de recursos especificada para os novos compromissos de divisão precisa ser uma parte dos recursos no compromisso de origem. Você precisa reter uma parte dos recursos no compromisso de origem. Por exemplo, suponha que seu compromisso de origem seja de 200 vCPUs e 300 GB de memória. Os seguintes cenários de redimensionamento e redistribuição são aplicáveis:
    • É possível redistribuir uma parte das 200 vCPUs e uma parte da memória de 300 GB entre os novos compromissos de divisão.
    • É possível redistribuir todas as 200 vCPUs, mas é preciso manter uma parte da memória no compromisso de origem.
    • É possível redistribuir toda a memória de 300 GB, mas é preciso manter uma parte das vCPUs no compromisso de origem.
    • Não é possível redistribuir todas as 200 vCPUs e toda a memória de 300 GB entre seus novos compromissos de divisão
  • Os compromissos de origem e divisão precisam ser para recursos de hardware que sejam vCPUs, memória ou uma combinação de ambos.

Além disso, para usar a CLI do Google Cloud para dividir um compromisso de origem, atualize a CLI do Google Cloud para a versão 423.0.0 ou mais recente. Se você tentar dividir um compromisso de origem usando uma versão anterior da gcloud CLI, a operação de divisão falhará e o Compute Engine gerará um erro.

Criar compromissos divididos

Crie um novo compromisso de divisão por vez usando a CLI gcloud ou a API Compute Engine. Crie vários novos compromissos divididos por vez usando o Console do Google Cloud. Antes de dividir um compromisso, analise as limitações de divisão.

Console

  1. No Console do Google Cloud, selecione o projeto em que você quer dividir um compromisso e acesse a página Descontos por compromisso de uso.

    Acesse "Descontos por uso contínuo"

  2. Para iniciar a operação de divisão de um compromisso, siga um dos seguintes procedimentos na guia Compromissos de hardware da página Lista de compromissos:

    • Selecione o compromisso que você quer dividir na lista e clique em Dividir.
    • Na coluna Nome, clique no nome do compromisso que você quer dividir. Na página Detalhes do compromisso de hardware aberta, clique em Dividir.
  3. Na guia Redimensionar da página Dividir compromisso aberta, faça isto:

    1. Nos campos vCPUs e Memória, especifique o número de vCPUs e a memória que você quer reter no compromisso original. Os recursos restantes estão disponíveis para redistribuição no seu compromisso de divisão. O compromisso de origem não pode estar vazio depois de ser redimensionado.
    2. Clique em Próxima. A guia Redistribuir abre.
  4. Na guia Redistribuir da página Compromisso de divisão, faça o seguinte:

    1. No campo Nome, especifique um nome para o compromisso de divisão.
    2. Nos campos vCPUs e Memória, especifique o número de vCPUs e a memória que você quer no seu compromisso de divisão.
      • Se você quiser criar vários compromissos divididos, especifique apenas uma parte dos recursos redistribuídos.
      • Caso contrário, especifique todos os recursos redistribuídos.
    3. Opcional: para ativar a renovação automática no seu compromisso de divisão, marque a caixa de seleção Ativar renovação automática.
    4. Clique em Concluído.
    5. Opcional: para criar outros compromissos divididos, clique em Adicionar um item e repita as etapas anteriores.
    6. Clique em Próxima. A guia Revisar abre.
  5. Na guia Revisar da página Compromisso de divisão, faça o seguinte:

    1. Revise e confirme os detalhes do compromisso redimensionado e dos compromissos divididos.
      • Para modificar a alocação de recursos do compromisso original, selecione a guia Redimensionar no lado esquerdo da janela e repita a etapa 3.
      • Para modificar a redistribuição de recursos entre os compromissos divididos, selecione a guia Redistribuir no lado esquerdo da janela e repita a etapa 4.
    2. Leia os Termos e Condições.
    3. Para concluir a criação dos seus compromissos divididos e retornar à página Lista de compromissos, clique em Enviar.

gcloud

Para dividir um compromisso existente em dois, use o comando gcloud compute commitments create com o flag --split-source-commitment.

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

Substitua:

  • COMMITMENT_NAME: o nome do novo compromisso de divisão.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que seu compromisso de origem, um dos seguintes:
    • general-purpose para compromissos de tipo de máquina de uso geral N1
    • general-purpose-n2 para compromissos de tipo de máquina de uso geral N2
    • general-purpose-e2 para compromissos de tipo de máquina de uso geral E2
    • general-purpose-n2d para compromissos de tipo de máquina de uso geral N2D
    • general-purpose-t2d para compromissos de tipo de máquina de uso geral Tau T2D
    • compute-optimized para compromissos de tipo de máquina C2 otimizado para computação
    • compute-optimized-c2d para compromissos de tipo de máquina C2D otimizado para computação
    • memory-optimized para os compromissos de tipo de máquina M1 ou M2 com otimização de memória
    • accelerator-optimized para compromissos de tipo de máquina A2 com otimização de aceleradores
    • accelerator-optimized-a3 para compromissos de tipo de máquina A3 com otimização de aceleradores
    • graphics-optimized para compromissos de tipo de máquina G2 com otimização de aceleradores
  • REGION: a mesma região do seu compromisso de origem.
  • PROJECT_ID: o ID do projeto em que você quer dividir o compromisso de origem.
  • DURATION: a mesma duração (ou período) do seu compromisso de origem, 12-month ou 36-month.
  • NUMBER_VCPUS: o número de vCPUs que você quer transferir do compromisso de origem para criar o novo compromisso de divisão. O número precisa ser um número inteiro menor que o número de vCPUs no compromisso de origem.
  • MEMORY: a quantidade, em MB ou GB, de memória que você quer transferir para fora do Google do compromisso de origem para criar o novo compromisso de divisão. O valor precisa ser menor que a quantidade de memória no compromisso de origem. Por exemplo, 1.000 MB. 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.
  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem de onde você quer distribuir os recursos.

Por exemplo, considere um compromisso de origem (source-commitment) com 3 vCPUs e 2.048 MB de memória. O comando da CLI gcloud a seguir usa recursos de source-commitment, cria um compromisso de divisão (split-commitment) com 1 vCPU e 1.024 MB de memória e redimensiona source-commitment para os recursos restantes.

gcloud compute commitments create split-commitment \
    --plan=12-month \
    --project=myproject \
    --resources vcpu=1,memory=1024MB \
    --split-source-commitment=projects/myproject/regions/us-central1/commitments/source-commitment

API

Para dividir um compromisso existente em dois, use o método regionCommitments.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
  "name": COMMITMENT_NAME,
  "plan": DURATION,
  "type" COMMITMENT_TYPE,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "splitSourceCommitment": SOURCE_COMMITMENT_URL
}

Substitua:

  • PROJECT_ID: o ID do projeto em que você quer dividir o compromisso de origem.
  • REGION: a mesma região do seu compromisso de origem.
  • COMMITMENT_NAME: o nome do novo compromisso de divisão.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que seu compromisso de origem, um dos seguintes:
    • GENERAL_PURPOSE para compromissos de tipo de máquina de uso geral N1
    • GENERAL_PURPOSE_N2 para compromissos de tipo de máquina de uso geral N2
    • GENERAL_PURPOSE_E2 para compromissos de tipo de máquina de uso geral E2
    • GENERAL_PURPOSE_N2D para compromissos de tipo de máquina de uso geral N2D
    • GENERAL_PURPOSE_T2D para compromissos de tipo de máquina de uso geral Tau T2D
    • COMPUTE_OPTIMIZED para compromissos de tipo de máquina C2 otimizado para computação
    • COMPUTE_OPTIMIZED_C2D para compromissos de tipo de máquina C2D otimizado para computação
    • MEMORY_OPTIMIZED para os compromissos de tipo de máquina M1 ou M2 com otimização de memória
    • ACCELERATOR_OPTIMIZED para compromissos de tipo de máquina A2 com otimização de aceleradores
    • ACCELERATOR_OPTIMIZED_A3 para compromissos de tipo de máquina A3 com otimização de aceleradores
    • GRAPHICS_OPTIMIZED para compromissos de tipo de máquina G2 com otimização de aceleradores
  • DURATION: a mesma duração (ou período) do seu compromisso de origem, TWELVE_MONTH ou THIRTY_SIX_MONTH.
  • NUMBER_VCPUS: o número de vCPUs que você quer transferir do compromisso de origem para criar o novo compromisso de divisão. O número precisa ser um número inteiro menor que o número de vCPUs no compromisso de origem.
  • MEMORY: a quantidade, em MB, de memória que você quer transferir do compromisso de origem para criar o novo compromisso de divisão. O valor precisa ser menor que a quantidade de memória no compromisso de origem. Por exemplo, 1.000 MB. Se as unidades não forem especificadas, a unidade padrão usada será mB. A memória pode ser adquirida em incrementos de 0,25 GB.
  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem de onde você quer transferir os recursos.

Por exemplo, considere um compromisso de origem (source-commitment) com 3 vCPUs e 2.048 MB de memória. A seguinte solicitação da API Compute Engine usa recursos de source-commitment, cria um compromisso de divisão (split-commitment) com 1 vCPU e 1.024 MB de memória e redimensiona source-commitment aos recursos restantes.

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "split-commitment",
  "plan": "TWELVE_MONTH",
  "resources": [
    {
      "type": "VCPU",
      "amount": "1"
    }
    {
      "type": "MEMORY",
      "amount": "1024"
    }
  ],
  "splitSourceCommitment": "projects/myproject/regions/us-central1/commitments/source-commitment"
}

A seguir