Mesclar e dividir compromissos


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

Este documento descreve os benefícios e o processo de fusão e divisão de compromissos, juntamente com as limitações e requisitos aplicáveis.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

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

    Console

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

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Mesclar compromissos

Você pode mesclar vários compromissos compatíveis para criar um novo compromisso maior. Ao mesclar compromissos, você pode rastreá-los e gerenciá-los como uma única entidade. A mesclagem de compromissos ajuda a evitar datas de término de compromisso escalonadas, determinando que os compromissos individuais expirem ao mesmo tempo. A mesclagem também permite aumentar gradualmente suas cargas de trabalho. Por exemplo, você pode adquirir compromissos mais novos e menores quando necessário e optar por mesclá-los ou com um compromisso existente.

Como funciona a fusão

Ao mesclar compromissos individuais (compromissos de origem), você cria um novo compromisso (compromisso mesclado) com os recursos combinados de todos os compromissos de origem. Às 12h, 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 compromisso mesclado torna-se ativo e os compromissos de origem são cancelados. Esta data de ativação se torna a data de início do compromisso mesclado e a operação de mesclagem termina.

Além disso, o compromisso mesclado recém-criado herda as seguintes propriedades, independentemente de os compromissos de origem terem a duração do prazo predefinida ou uma duração personalizada:

  • A data de término mais distante no futuro entre os compromissos de origem.
  • A janela de elegibilidade da extensão do prazo que termina mais cedo entre os compromissos de origem.

Por exemplo, considere dois compromissos de origem que começam em 1º de janeiro de 2020 e 1º de dezembro de 2020, respectivamente. Os compromissos têm datas de término em 1º de janeiro de 2023 e 1º de dezembro de 2023, respectivamente. A janela de elegibilidade de extensão de prazo para o primeiro compromisso permanece aberta até 1º de maio de 2020, e para o segundo compromisso até 1º de abril de 2021. Se você mesclar esses compromissos em 1º de março de 2022, o compromisso mesclado herdará uma data de término em 1º de dezembro de 2023. A janela de elegibilidade de extensão de prazo para o compromisso mesclado já teria terminado em 1º de maio de 2020.

Se algum dos compromissos de origem tiver reservas anexadas, as reservas serão preservadas durante a mesclagem e anexadas ao compromisso mesclado após sua criação. Para saber mais sobre compromissos com reservas anexadas, consulte Anexar reservas a compromissos baseados em recursos .

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 :

Compromisso da primeira fonte
(antes da fusão)
Compromisso de segunda fonte
(antes da fusão)
Compromisso mesclado
Nome compromisso-fonte-1 compromisso-fonte-2 compromisso mesclado
Tipo N2 N2 N2
Região nós-central-1 nós-central-1 nós-central-1
Recursos
  • vCPUs: 100
  • Memória: 100 GB
  • vCPUs: 200
  • Memória: 300 GB
  • vCPUs: 300
  • Memória: 400GB
Prazo 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
(um dia após a fusão)
Data de término 1º de janeiro de 2023 1º de dezembro de 2023 1º de dezembro de 2023
Janela de elegibilidade para extensão de prazo aberta até 1º de maio de 2020 1º de abril de 2021 1º de maio de 2020

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

Implicações de preços

Sua taxa de compromisso é a soma dos preços com desconto de todos os seus recursos comprometidos. Ao mesclar seu compromisso, os preços com desconto dos recursos do seu compromisso mesclado poderão mudar no dia em que seu compromisso mesclado se tornar ativo. Este novo preço com desconto para cada recurso permanece o mesmo até o final do prazo do seu compromisso mesclado, mesmo que os preços sob demanda mudem. No entanto, se você mesclar ou dividir esse compromisso novamente no futuro, os preços com desconto dos recursos poderão mudar novamente.

Limitações

  • 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 é desabilitada nos novos compromissos, mesmo que todos os compromissos de origem tenham sido configurados para renovação automática. Se quiser que seus compromissos mesclados sejam renovados automaticamente, você deverá ativar manualmente a configuração de renovação automática nesses compromissos. Você pode fazer isso no momento da criação ou após a criação .

Requisitos

Ao mesclar compromissos de origem individuais para criar um novo compromisso mesclado, seus compromissos de origem e mesclados deverão atender aos seguintes requisitos:

  • Os compromissos de origem devem ter o mesmo projeto, região, duração (ou prazo), tipo de compromisso e categoria de compromisso.
  • O novo compromisso mesclado deve ter o mesmo projeto, região, duração (ou prazo), tipo de compromisso e categoria de compromisso que os compromissos de origem. No entanto, você pode escolher um novo nome para seu compromisso mesclado.
  • Os tipos de recursos especificados para seu compromisso mesclado devem ser exatamente os mesmos tipos de recursos que estão nos compromissos de origem. Além disso, a quantidade de recursos para cada tipo de recurso no seu novo compromisso mesclado deve ser igual à soma das quantidades de recursos para esse tipo de recurso em todos os compromissos de origem. Por exemplo, se o primeiro compromisso de origem tiver 100 vCPUs e 100 GB de memória e o segundo compromisso de origem tiver 200 vCPUs e 300 GB de memória, você deverá criar seu compromisso mesclado com 300 vCPUs e 400 GB de memória.
  • Os compromissos de origem e mesclados devem 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, revise as limitações da mesclagem .

Console

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

    Vá para 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 da lista de compromissos , clique em Mesclar .

    Como alternativa, você também pode selecionar os compromissos que deseja mesclar na lista e clicar em Mesclar .

  3. Na guia Escolher compromisso da página Mesclar que é aberta, faça o seguinte:

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

      Opcional: você também pode especificar os valores de tipo Plano , Região e Compromisso que deseja para seu compromisso mesclado antes de selecionar os compromissos individuais para mesclagem. Isso filtra a lista de compromissos para exibir apenas os compromissos que você pode mesclar para os atributos especificados.

    2. Clique em Avançar . A guia Revisão é aberta.

  4. Na guia Revisão da página Mesclar , faça o seguinte:

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

gcloud

Para mesclar compromissos existentes em um único compromisso, use o comando gcloud computing commits 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 o seguinte:

  • COMMITMENT_NAME : o nome do seu novo compromisso mesclado.
  • NUMBER_VCPUS : a soma dos números de vCPUs nos compromissos de origem.
  • COMMITMENT_TYPE : o mesmo tipo de compromisso dos seus compromissos de origem, um dos seguintes:

    • accelerator-optimized para recursos do tipo máquina A2
    • accelerator-optimized-a3 para recursos de tipo de máquina A3 Edge e A3 High
    • accelerator-optimized-a3-mega para recursos do tipo máquina A3 Mega
    • compute-optimized para recursos do tipo de máquina C2
    • compute-optimized-c2d para recursos de tipo de máquina C2D
    • compute-optimized-c3 para recursos do tipo de máquina C3
    • compute-optimized-c3d para recursos de tipo de máquina C3D
    • compute-optimized-h3 para recursos do tipo de máquina H3
    • general-purpose para recursos do tipo máquina N1
    • general-purpose-c4 para recursos do tipo máquina C4
    • general-purpose-c4a para recursos do tipo máquina C4A
    • general-purpose-e2 para recursos do tipo máquina E2
    • general-purpose-n2 para recursos do tipo máquina N2
    • general-purpose-n2d para recursos de máquina N2D
    • general-purpose-n4 para recursos do tipo máquina N4
    • general-purpose-t2d para recursos do tipo de máquina Tau T2D
    • graphics-optimized para recursos do tipo de máquina G2
    • memory-optimized para recursos do tipo de máquina M1 ou M2
    • memory-optimized-m3 para recursos do tipo de máquina M3
    • memory-optimized-m4 para recursos do tipo de máquina M4
    • memory-optimized-x4-16tb para recursos do tipo máquina X4 para instâncias com 16 TB de memória
    • memory-optimized-x4-24tb para recursos do tipo máquina X4 para instâncias com 24 TB de memória
    • memory-optimized-x4-32tb para recursos do tipo máquina X4 para instâncias com 32 TB de memória
    • storage-optimized-z3 para recursos do tipo de máquina Z3

  • REGION : a mesma região dos seus compromissos de origem.

  • PROJECT_ID : o ID do projeto para o qual você deseja mesclar compromissos.

  • DURATION : a mesma duração (ou prazo) dos seus compromissos de origem, seja 12-month ou 36-month .

  • MEMORY : a soma das quantidades, em MB ou GB, de memória nos compromissos de origem. Por exemplo, 1000 MB. Se as unidades não forem especificadas, a unidade padrão usada será GB.

  • SOURCE_COMMITMENT_URLS : Especifique uma lista de URLs de compromisso de origem distintos, separando cada URL com uma vírgula. Não adicione espaços em branco entre os URLs. Na lista, você deve especificar pelo menos dois URLs de confirmação de origem.

Por exemplo, considere dois compromissos de origem na região us-east1 com seus recursos como (4 vCPUs N2 e 2.048 MB) e (3 vCPUs N2 e 2.048 MB), respectivamente. A duração de cada um dos compromissos de origem é de 12 meses. O comando CLI gcloud a seguir combina os dois compromissos e cria um novo compromisso chamado merged-commitment , com recursos como 7 vCPUs N2 e 4.096 MB e duração de 12 meses:

gcloud compute commitments create merged-commitment \
    --plan=12-month \
    --project=myproject \
    --region=us-east1 \
    --type=general-purpose-n2 \
    --resources=vcpu=7,memory=4096MB \
     --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 existentes 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,
  "region": REGION,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "mergeSourceCommitments": [SOURCE_COMMITMENT_URL ...]
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto para o qual você deseja mesclar compromissos.
  • REGION : a mesma região dos seus compromissos de origem.
  • COMMITMENT_TYPE : o mesmo tipo de compromisso dos seus compromissos de origem, um dos seguintes:

    • ACCELERATOR_OPTIMIZED para recursos do tipo máquina A2
    • ACCELERATOR_OPTIMIZED_A3 para recursos de tipo de máquina A3 Edge e A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA para recursos do tipo máquina A3 Mega
    • COMPUTE_OPTIMIZED para recursos do tipo máquina C2
    • COMPUTE_OPTIMIZED_C2D para recursos do tipo máquina C2D
    • COMPUTE_OPTIMIZED_C3 para recursos do tipo máquina C3
    • COMPUTE_OPTIMIZED_C3D para recursos do tipo máquina C3D
    • COMPUTE_OPTIMIZED_H3 para recursos do tipo de máquina H3
    • GENERAL_PURPOSE para recursos do tipo de máquina N1
    • GENERAL_PURPOSE_C4 para recursos do tipo máquina C4
    • GENERAL_PURPOSE_C4A para recursos do tipo de máquina C4A
    • GENERAL_PURPOSE_E2 para recursos do tipo máquina E2
    • GENERAL_PURPOSE_N2 para recursos do tipo máquina N2
    • GENERAL_PURPOSE_N2D para recursos de máquina N2D
    • GENERAL_PURPOSE_N4 para recursos do tipo máquina N4
    • GENERAL_PURPOSE_T2D para recursos do tipo de máquina Tau T2D
    • GRAPHICS_OPTIMIZED para recursos do tipo máquina G2
    • MEMORY_OPTIMIZED para recursos do tipo máquina M1 ou M2
    • MEMORY_OPTIMIZED_M3 para recursos do tipo máquina M3
    • MEMORY_OPTIMIZED_M4 para recursos do tipo máquina M4
    • MEMORY_OPTIMIZED_X4_16TB para recursos do tipo máquina X4 para instâncias com 16 TB de memória
    • MEMORY_OPTIMIZED_X4_24TB para recursos do tipo de máquina X4 para instâncias com 24 TB de memória
    • MEMORY_OPTIMIZED_X4_32TB para recursos do tipo máquina X4 para instâncias com 32 TB de memória
    • STORAGE_OPTIMIZED_Z3 para recursos do tipo de máquina Z3

  • DURATION : a mesma duração (ou prazo) dos seus compromissos de origem, seja TWELVE_MONTH ou THIRTY_SIX_MONTH .

  • COMMITMENT_NAME : o nome do seu novo compromisso mesclado.

  • NUMBER_VCPUS : a soma dos números de vCPUs nos compromissos de origem.

  • MEMORY : a soma das quantidades, em MB, de memória nos compromissos de origem. Por exemplo, 1000 MB. Se as unidades não forem especificadas, a unidade padrão usada será MB.

  • SOURCE_COMMITMENT_URL : o URL do compromisso de origem que você deseja mesclar. Você deve especificar uma lista separada por vírgulas de URLs de confirmação de origem distintas.

Por exemplo, considere dois compromissos de origem ( source-commitment-1 e source-commitment-2 ) na região us-east1 com seus recursos como (4 vCPUs N2 e 2.048 MB) e (3 vCPUs N2 e 2.048 MB), respectivamente. A seguinte solicitação POST mescla source-commitment-1 e source-commitment-2 em um único compromisso chamado merged-commitment :

POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "merged-commitment",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE_N2",
  "region": "us-east1",
   "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

Você pode transferir recursos de um compromisso existente e dividir o compromisso em compromissos menores. A divisão permite monitorar e gerenciar de perto partes de um compromisso grande na forma de compromissos individuais menores. Por exemplo, você pode definir apenas uma parte de um compromisso para renovação automática , dividindo-o e habilitando a renovação automática para apenas um dos compromissos filhos. Com a divisão, você também pode distribuir seus descontos por uso contínuo em um nível mais granular usando atribuição priorizada para os compromissos de divisão.

Como funciona a divisão

Ao dividir um compromisso existente (compromisso de origem), você transfere recursos de seu compromisso de origem, cria um ou mais novos compromissos (compromissos divididos) e redistribui os recursos transferidos entre os novos compromissos divididos. Tanto a ativação dos novos compromissos divididos quanto o redimensionamento do compromisso de origem ocorrem às 12h, 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 dos compromissos de divisão. 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 recém-criados dividem compromissos com os recursos redistribuídos.

O compromisso de origem, embora redimensionado, mantém todos os seus outros atributos, incluindo as datas de início e término, e continua a operar normalmente. Os compromissos divididos mantêm a mesma data de término e janela de elegibilidade para extensão de prazo que o compromisso de origem.

Só é possível criar um novo compromisso dividido por vez usando a API Compute Engine e a CLI gcloud. Você pode criar vários novos compromissos divididos em uma única operação usando o console do Google Cloud.

Você não pode dividir um compromisso quando ele tiver reservas anexadas. Para saber mais sobre compromissos com reservas anexadas, consulte Combinação de reservas com descontos por uso contínuo .

Exemplo de um compromisso dividido

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

Compromisso de origem
(antes da divisão)
Compromisso dividido Compromisso de origem
(depois da divisão)
Nome compromisso de origem compromisso dividido compromisso de origem
Tipo N2 N2 N2
Região nós-central-1 nós-central-1 nós-central-1
Recursos
  • vCPUs: 200
  • Memória: 200GB
  • vCPUs: 50
  • Memória: 100 GB
  • vCPUs: 150
  • Memória: 100 GB
Prazo 3 anos 3 anos 3 anos
Data de início * 1º de janeiro de 2020 2 de março de 2022
(um dia após a separaçã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
Janela de elegibilidade para extensão de prazo aberta até 1º de janeiro de 2021 1º de janeiro de 2021 1º de janeiro de 2021

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

Implicações de preços

Sua taxa de compromisso é a soma dos preços com desconto de todos os seus recursos comprometidos. 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 dividido : os preços com desconto dos recursos do seu compromisso recém-dividido podem mudar no dia em que seu compromisso dividido se tornar ativo. Este novo preço com desconto para cada recurso permanece o mesmo até o final do prazo do seu novo compromisso dividido, mesmo que os preços sob demanda mudem.

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

Limitações

  • Você não pode 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 SSD locais ou ambos, pois os compromissos com estes recursos têm sempre 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 é desabilitada nos novos compromissos, mesmo que todos os compromissos de origem tenham sido configurados para renovação automática. Se quiser que seus compromissos divididos sejam renovados automaticamente, você deverá ativar manualmente a configuração de renovação automática nesses compromissos. Você pode fazer isso no momento da criação ou após a criação .
  • Só é possível criar um novo compromisso dividido por vez usando a API Compute Engine ou a CLI gcloud.

Requisitos

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

  • Os novos compromissos divididos devem ter o mesmo projeto, tipo de compromisso, região e duração (ou prazo) que o compromisso de origem. No entanto, você deve escolher novos nomes para seus compromissos divididos.
  • Os tipos de recursos especificados para os novos compromissos divididos devem corresponder a alguns ou a 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 deve ser uma parte dos recursos no compromisso de origem. Você deve reter uma parte dos recursos em seu compromisso de origem. Por exemplo, suponha que seu compromisso de origem seja para 200 vCPUs e 300 GB de memória, os seguintes cenários de redimensionamento e redistribuição serão aplicáveis:
    • Você pode redistribuir uma parte das 200 vCPUs e uma parte dos 300 GB de memória entre seus novos compromissos divididos.
    • Você pode redistribuir todas as 200 vCPUs, mas deve reter uma parte da memória no compromisso de origem.
    • Você pode redistribuir toda a memória de 300 GB, mas deve reter uma parte das vCPUs no seu compromisso de origem.
    • Você não pode redistribuir todas as 200 vCPUs e todos os 300 GB de memória entre seus novos compromissos divididos
  • Os compromissos de origem e de divisão devem 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 posterior. Se você tentar dividir um compromisso de origem usando uma versão anterior da CLI gcloud, sua operação de divisão falhará e o Compute Engine gerará um erro.

Crie compromissos divididos

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

Console

  1. No console do Google Cloud, selecione o projeto em que você deseja dividir um compromisso e acesse a página Descontos por uso contínuo .

    Vá para descontos por uso contínuo

  2. Para iniciar a operação de divisão para um compromisso, siga um destes procedimentos na guia Compromissos de hardware da página da lista Comprometimento :

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

    1. Nos campos vCPUs e Memória , especifique o número de vCPUs e memória que você deseja reter em seu compromisso original. Os recursos restantes estão disponíveis para redistribuição ao seu compromisso dividido. O compromisso de origem não pode ficar vazio após redimensioná-lo.
    2. Clique em Avançar . A guia Redistribuir é aberta.
  4. Na guia Redistribuir da página Dividir compromisso , faça o seguinte:

    1. No campo Nome , especifique um nome para seu compromisso dividido.
    2. Nos campos vCPUs e Memória , especifique o número de vCPUs e memória que você deseja em seu compromisso de divisão.
      • Se desejar criar vários compromissos divididos, especifique apenas uma parte dos recursos redistribuídos.
      • Caso contrário, especifique todos os seus recursos redistribuídos.
    3. Opcional: para ativar a renovação automática no seu compromisso dividido, marque a caixa de seleção Habilitar renovação automática .
    4. Clique em Concluído .
    5. Opcional: Para criar compromissos divididos adicionais, clique em Incluir um item e repita as etapas anteriores.
    6. Clique em Avançar . A guia Revisão é aberta.
  5. Na guia Revisão da página Dividir compromisso , 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 seu 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 terminar de criar seus compromissos divididos e retornar à página da lista de compromissos , clique em Enviar .

gcloud

Para dividir um compromisso existente em dois compromissos, use o comando gcloud computing commits create com a sinalização --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 o seguinte:

  • COMMITMENT_NAME : o nome do seu novo compromisso de divisão.
  • COMMITMENT_TYPE : o mesmo tipo de compromisso do seu compromisso de origem, um dos seguintes:

    • accelerator-optimized para recursos do tipo máquina A2
    • accelerator-optimized-a3 para recursos de tipo de máquina A3 Edge e A3 High
    • accelerator-optimized-a3-mega para recursos do tipo máquina A3 Mega
    • compute-optimized para recursos do tipo de máquina C2
    • compute-optimized-c2d para recursos de tipo de máquina C2D
    • compute-optimized-c3 para recursos do tipo de máquina C3
    • compute-optimized-c3d para recursos de tipo de máquina C3D
    • compute-optimized-h3 para recursos do tipo de máquina H3
    • general-purpose para recursos do tipo máquina N1
    • general-purpose-c4 para recursos do tipo máquina C4
    • general-purpose-c4a para recursos do tipo máquina C4A
    • general-purpose-e2 para recursos do tipo máquina E2
    • general-purpose-n2 para recursos do tipo máquina N2
    • general-purpose-n2d para recursos de máquina N2D
    • general-purpose-n4 para recursos do tipo máquina N4
    • general-purpose-t2d para recursos do tipo de máquina Tau T2D
    • graphics-optimized para recursos do tipo de máquina G2
    • memory-optimized para recursos do tipo de máquina M1 ou M2
    • memory-optimized-m3 para recursos do tipo de máquina M3
    • memory-optimized-m4 para recursos do tipo de máquina M4
    • memory-optimized-x4-16tb para recursos do tipo máquina X4 para instâncias com 16 TB de memória
    • memory-optimized-x4-24tb para recursos do tipo máquina X4 para instâncias com 24 TB de memória
    • memory-optimized-x4-32tb para recursos do tipo máquina X4 para instâncias com 32 TB de memória
    • storage-optimized-z3 para recursos do tipo de máquina Z3

  • REGION : a mesma região do seu compromisso de origem.

  • PROJECT_ID : o ID do projeto para o qual você deseja dividir o compromisso de origem.

  • DURATION : a mesma duração (ou prazo) do seu compromisso de origem, seja 12-month ou 36-month .

  • NUMBER_VCPUS : o número de vCPUs que você deseja transferir do seu compromisso de origem para criar seu novo compromisso dividido. O número deve 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ê deseja transferir do seu compromisso de origem para criar seu novo compromisso dividido. A quantidade deve ser menor que a quantidade de memória no compromisso de origem. Por exemplo, 1000 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 do qual você deseja extrair recursos.

Por exemplo, considere um compromisso de origem ( source-commitment ) na região us-east1 com 3 vCPUs N2 e 2.048 MB de memória. O seguinte comando da CLI gcloud divide o compromisso fazendo o seguinte:

  • Retirando recursos do source-commitment e criando um novo compromisso split-commitment com 1 vCPU N2 e 1.024 MB de memória.
  • Redimensionando source-commitment para os recursos restantes.
gcloud compute commitments create split-commitment \
    --plan=12-month \
    --type=general-purpose-n2 \
    --region=us-east1 \
    --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 compromissos, 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,
  "region": REGION,
  "resources": [
    {
      "type": "vCPUs",
      "amount": NUMBER_VCPUS
    }
    {
      "type": "MEMORY",
      "amount": MEMORY
    }
  ],
  "splitSourceCommitment": SOURCE_COMMITMENT_URL
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto para o qual você deseja dividir o compromisso de origem.
  • REGION : a mesma região do seu compromisso de origem.
  • COMMITMENT_NAME : o nome do seu novo compromisso de divisão.
  • COMMITMENT_TYPE : o mesmo tipo de compromisso do seu compromisso de origem, um dos seguintes:

    • ACCELERATOR_OPTIMIZED para recursos do tipo máquina A2
    • ACCELERATOR_OPTIMIZED_A3 para recursos de tipo de máquina A3 Edge e A3 High
    • ACCELERATOR_OPTIMIZED_A3_MEGA para recursos do tipo máquina A3 Mega
    • COMPUTE_OPTIMIZED para recursos do tipo máquina C2
    • COMPUTE_OPTIMIZED_C2D para recursos do tipo máquina C2D
    • COMPUTE_OPTIMIZED_C3 para recursos do tipo máquina C3
    • COMPUTE_OPTIMIZED_C3D para recursos do tipo máquina C3D
    • COMPUTE_OPTIMIZED_H3 para recursos do tipo de máquina H3
    • GENERAL_PURPOSE para recursos do tipo de máquina N1
    • GENERAL_PURPOSE_C4 para recursos do tipo máquina C4
    • GENERAL_PURPOSE_C4A para recursos do tipo de máquina C4A
    • GENERAL_PURPOSE_E2 para recursos do tipo máquina E2
    • GENERAL_PURPOSE_N2 para recursos do tipo máquina N2
    • GENERAL_PURPOSE_N2D para recursos de máquina N2D
    • GENERAL_PURPOSE_N4 para recursos do tipo máquina N4
    • GENERAL_PURPOSE_T2D para recursos do tipo de máquina Tau T2D
    • GRAPHICS_OPTIMIZED para recursos do tipo máquina G2
    • MEMORY_OPTIMIZED para recursos do tipo máquina M1 ou M2
    • MEMORY_OPTIMIZED_M3 para recursos do tipo máquina M3
    • MEMORY_OPTIMIZED_M4 para recursos do tipo máquina M4
    • MEMORY_OPTIMIZED_X4_16TB para recursos do tipo máquina X4 para instâncias com 16 TB de memória
    • MEMORY_OPTIMIZED_X4_24TB para recursos do tipo de máquina X4 para instâncias com 24 TB de memória
    • MEMORY_OPTIMIZED_X4_32TB para recursos do tipo máquina X4 para instâncias com 32 TB de memória
    • STORAGE_OPTIMIZED_Z3 para recursos do tipo de máquina Z3

  • DURATION : a mesma duração (ou prazo) do seu compromisso de origem, seja TWELVE_MONTH ou THIRTY_SIX_MONTH .

  • NUMBER_VCPUS : o número de vCPUs que você deseja transferir do seu compromisso de origem para criar seu novo compromisso dividido. O número deve 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ê deseja transferir do seu compromisso de origem para criar seu novo compromisso dividido. A quantidade deve ser menor que a quantidade de memória no compromisso de origem. Por exemplo, 1000 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 : a URL do compromisso de origem do qual você deseja transferir recursos.

Por exemplo, considere um compromisso de origem ( source-commitment ) na região us-east1 com 3 vCPUs N2 e 2.048 MB de memória. A seguinte solicitação POST divide o compromisso fazendo o seguinte:

  • Retirando recursos do source-commitment e criando um novo compromisso split-commitment com 1 vCPU N2 e 1.024 MB de memória.
  • Redimensionando source-commitment para os recursos restantes.
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/commitments
{
  "name": "split-commitment",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE_N2",
  "region": "us-east1",
  "resources": [
    {
      "type": "VCPU",
      "amount": "1"
    }
    {
      "type": "MEMORY",
      "amount": "1024"
    }
  ],
  "splitSourceCommitment": "projects/myproject/regions/us-central1/commitments/source-commitment"
}

O que vem a seguir