Unir e dividir compromissos

Para ajudar a gerir os requisitos de recursos dos seus projetos, o Compute Engine permite-lhe unir ou dividir os compromissos existentes e redistribuir os recursos de acordo com a granularidade necessária para os seus projetos.

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

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

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

Una compromissos

Pode unir vários compromissos compatíveis para criar um novo compromisso maior. Ao unir compromissos, pode monitorizá-los e geri-los como uma única entidade. A união de compromissos ajuda a evitar datas de fim de compromissos escalonadas, unindo os compromissos individuais para expirarem em simultâneo. A união também lhe permite aumentar gradualmente as suas cargas de trabalho. Por exemplo, pode comprar compromissos mais recentes e mais pequenos quando necessário e optar por juntá-los ou juntá-los a um compromisso existente.

Como funciona a união

Quando junta compromissos individuais (compromissos de origem), cria um novo compromisso (compromisso unido) com os recursos combinados de todos os compromissos de origem. Às 00:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7 durante a hora de verão) do dia seguinte, o compromisso unido é ativado e os compromissos de origem são cancelados. Esta data de ativação torna-se a data de início do compromisso unificado e a operação de união termina.

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

  • A data de fim mais distante no futuro entre os compromissos de origem.
  • O período de elegibilidade para a extensão do prazo que termina mais cedo entre os compromissos de origem.

Uma vez que o compromisso unificado só é criado depois de os compromissos de origem já estarem ativos, o compromisso unificado pode ter uma duração personalizada e não a duração predefinida de 1 ou 3 anos. No entanto, o compromisso unificado mantém o plano de compromisso de 1 ou 3 anos dos compromissos de origem.

Por exemplo, considere dois compromissos de origem que começam a 1 de janeiro de 2020 e a 1 de dezembro de 2020, respetivamente. Os compromissos têm as datas de fim de 1 de janeiro de 2023 e 1 de dezembro de 2023, respetivamente. A janela de elegibilidade para a extensão do prazo do primeiro compromisso permanece aberta até 1 de maio de 2020 e, para o segundo compromisso, até 1 de abril de 2021. Se unir estes compromissos a 1 de março de 2022, o seu compromisso unido é um compromisso de prazo personalizado com uma data de início de 2 de março de 2022 e uma data de fim de 1 de dezembro de 2023. O período de elegibilidade para a extensão do prazo do compromisso unificado já teria terminado a 1 de maio de 2020.

Se algum dos compromissos de origem tiver reservas anexadas, as reservas são preservadas durante a união e são anexadas ao compromisso unido após a respetiva criação. Para saber mais sobre os compromissos com reservas anexadas, consulte o artigo Anexe reservas a compromissos baseados em recursos.

Exemplo de um compromisso unido

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

Compromisso da primeira origem
(antes da união)
Compromisso da segunda origem
(antes da união)
Compromisso unido
Nome source-commitment-1 source-commitment-2 merged-commitment
Tipo N2 N2 N2
Região us-central-1 us-central-1 us-central-1
Resources
  • vCPUs: 100
  • Memória: 100 GB
  • vCPUs: 200
  • Memória: 300 GB
  • vCPUs: 300
  • Memória: 400 GB
Período de Vigência 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
(o dia após a união)
Data de conclusão 1 de janeiro de 2023 1 de dezembro de 2023 1 de dezembro de 2023
Janela de elegibilidade para extensão do prazo aberta até 1 de maio de 2020 1 de abril de 2021 1 de maio de 2020

* Todos os compromissos começam às 00:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7), na data de início especificada.
Todos os compromissos expiram às 00:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de fim especificada.

Implicações de preços

A taxa de compromisso é a soma dos preços com desconto de todos os seus recursos comprometidos. Quando une o seu compromisso, os preços com desconto dos recursos do compromisso unido podem mudar no dia em que o compromisso unido fica ativo. Este novo preço com desconto para cada recurso permanece o mesmo até ao final do prazo do seu compromisso unificado, mesmo que os preços a pedido mudem. No entanto, se unir ou dividir este compromisso novamente no futuro, os preços com desconto dos recursos podem voltar a mudar.

Limitações

  • Não pode unir compromissos de licenças.
  • No momento da criação de compromissos unidos, não pode criar novas reservas e anexá-las a esses compromissos.
  • Não pode unir compromissos que tenham expirado ou sido cancelados.
  • Por predefinição, quando cria compromissos unidos, a definição de renovação automática é desativada nos novos compromissos, mesmo que todos os compromissos de origem estivessem definidos para renovação automática. Se quiser que os compromissos unidos sejam renovados automaticamente, tem de ativar manualmente a definição de renovação automática nesses compromissos. Pode fazê-lo no momento da criação ou após a criação.

Requisitos

Quando junta compromissos de origem individuais para criar um novo compromisso juntado, os compromissos de origem e juntados têm de cumprir os seguintes requisitos:

  • Os compromissos de origem têm de ter o mesmo projeto, região, plano de compromisso, tipo de compromisso e categoria de compromisso.
  • O novo compromisso unido tem de ter o mesmo projeto, região, plano de compromisso, tipo de compromisso e categoria de compromisso que os compromissos de origem. No entanto, pode escolher um novo nome para o compromisso unido.
  • Os tipos de recursos especificados para o compromisso unificado têm de 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 novo compromisso unificado tem de 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, tem de criar o compromisso combinado com 300 vCPUs e 400 GB de memória.
  • Os compromissos de origem e unificados têm de ser para recursos de hardware (vCPUs, memória, GPUs e discos SSD locais).

Crie compromissos unidos

Crie um compromisso unificado através da CLI gcloud ou da API REST. Antes de unir compromissos, reveja as limitações para a união.

Consola

  1. Na Google Cloud consola, selecione o projeto onde quer unir compromissos e aceda à página Descontos por utilização comprometida.

    Aceda a Descontos de fidelidade

  2. Para iniciar a operação de união de um conjunto de compromissos, no separador Compromissos de hardware da página Lista de compromissos, clique em Unir.

    Em alternativa, também pode selecionar os compromissos que quer unir na lista e, de seguida, clicar em Unir.

  3. No separador Escolher compromisso da página Unir apresentada, faça o seguinte:

    1. Em Escolha os compromissos a unir, selecione os compromissos que quer unir na lista. Se já selecionou estes compromissos na página Lista de compromissos, valide os compromissos selecionados neste separador.

      Opcional: também pode especificar os valores de Plano, Região e Tipo de compromisso que quer para o seu compromisso combinado antes de selecionar os compromissos individuais para a união. Ao fazê-lo, filtra a lista de compromissos para apresentar apenas os compromissos que pode unir para os atributos especificados.

    2. Clicar em Seguinte. É aberto o separador Rever.

  4. No separador Rever da página Unir, faça o seguinte:

    1. Reveja e confirme os detalhes do compromisso unificado. Para modificar a lista de compromissos individuais que quer unir, selecione o separador Escolher compromisso no lado esquerdo da janela e repita o passo 3.
    2. No campo Novo nome do compromisso, introduza um nome para o compromisso unido.
    3. Opcional: para ativar a renovação automática no compromisso unificado, selecione a caixa de verificação Ativar renovação automática.
    4. Leia os Termos de Utilização.
    5. Para concluir a criação do compromisso unificado e regressar à página Lista de compromissos, clique em Unir.

gcloud

Para unir compromissos existentes num único compromisso, use o comando gcloud compute commitments create com a flag --merge-source-commitment.

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --plan=COMMITMENT_PLAN \
    --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 unido.
  • NUMBER_VCPUS: a soma do número de CPUs virtuais nos compromissos de origem.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que os seus compromissos de origem, um dos seguintes:

    • Para tipos de máquinas A2, use accelerator-optimized
    • Para os tipos de máquinas A3 Edge e A3 High, use accelerator-optimized-a3
    • Para os tipos de máquinas A3 Mega, use accelerator-optimized-a3-mega
    • Para tipos de máquinas C2, use compute-optimized
    • Para tipos de máquinas C2D, use compute-optimized-c2d
    • Para os tipos de máquinas C3, use compute-optimized-c3
    • Para tipos de máquinas C3D, use compute-optimized-c3d
    • Para tipos de máquinas H3, use compute-optimized-h3
    • Para tipos de máquinas N1, use general-purpose
    • Para os tipos de máquinas C4, use general-purpose-c4
    • Para os tipos de máquinas C4A, use general-purpose-c4a
    • Para tipos de máquinas C4D, use general-purpose-c4d
    • Para tipos de máquinas E2, use general-purpose-e2
    • Para tipos de máquinas N2, use general-purpose-n2
    • Para tipos de máquinas N2D, use general-purpose-n2d
    • Para tipos de máquinas N4, use general-purpose-n4
    • Para os tipos de máquinas Tau T2D, use general-purpose-t2d
    • Para tipos de máquinas G2, use graphics-optimized
    • Para tipos de máquinas M1 ou M2, use memory-optimized
    • Para tipos de máquinas M3, use memory-optimized-m3
    • Para tipos de máquinas M4, use memory-optimized-m4
    • Para tipos de máquinas M4 com 6 TB de memória, use memory-optimized-m4-6tb
    • Para tipos de máquinas X4 com 16 TB de memória, use memory-optimized-x4-16tb
    • Para tipos de máquinas X4 com 24 TB de memória, use memory-optimized-x4-24tb
    • Para tipos de máquinas X4 com 32 TB de memória, use memory-optimized-x4-32tb
    • Para tipos de máquinas Z3, use storage-optimized-z3

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

  • PROJECT_ID: o ID do projeto do projeto para o qual quer unir compromissos.

  • COMMITMENT_PLAN: o mesmo plano de compromisso que os 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, 1000 MB. Se as unidades não forem especificadas, a unidade predefinida usada é GB.

  • SOURCE_COMMITMENT_URLS: especifique 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, tem de especificar, pelo menos, dois URLs de compromisso de origem.

Por exemplo, considere dois compromissos de origem na região us-east1 com os respetivos recursos especificados como (4 vCPUs N2 e 2048 MB) e (3 vCPUs N2 e 2048 MB). O plano de compromisso de cada um dos compromissos de origem é 12-month. O comando da CLI gcloud seguinte permite-lhe unir os dois compromissos e criar um novo compromisso denominado merged-commitment. O compromisso unificado especifica os respetivos recursos como 7 vCPUs N2 e 4096 MB e tem um plano de compromisso de 12-month:

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

REST

Para unir compromissos existentes num ú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": COMMITMENT_PLAN,
  "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 do projeto para o qual quer unir compromissos.
  • REGION: a mesma região que os seus compromissos de origem.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que os seus compromissos de origem, um dos seguintes:

    • Para tipos de máquinas A2, use ACCELERATOR_OPTIMIZED
    • Para os tipos de máquinas A3 Edge e A3 High, use ACCELERATOR_OPTIMIZED_A3
    • Para os tipos de máquinas A3 Mega, use ACCELERATOR_OPTIMIZED_A3_MEGA
    • Para tipos de máquinas C2, use COMPUTE_OPTIMIZED
    • Para tipos de máquinas C2D, use COMPUTE_OPTIMIZED_C2D
    • Para os tipos de máquinas C3, use COMPUTE_OPTIMIZED_C3
    • Para tipos de máquinas C3D, use COMPUTE_OPTIMIZED_C3D
    • Para tipos de máquinas H3, use COMPUTE_OPTIMIZED_H3
    • Para tipos de máquinas N1, use GENERAL_PURPOSE
    • Para os tipos de máquinas C4, use GENERAL_PURPOSE_C4
    • Para os tipos de máquinas C4A, use GENERAL_PURPOSE_C4A
    • Para tipos de máquinas C4D, use GENERAL_PURPOSE_C4D
    • Para tipos de máquinas E2, use GENERAL_PURPOSE_E2
    • Para tipos de máquinas N2, use GENERAL_PURPOSE_N2
    • Para tipos de máquinas N2D, use GENERAL_PURPOSE_N2D
    • Para tipos de máquinas N4, use GENERAL_PURPOSE_N4
    • Para os tipos de máquinas Tau T2D, use GENERAL_PURPOSE_T2D
    • Para tipos de máquinas G2, use GRAPHICS_OPTIMIZED
    • Para tipos de máquinas M1 ou M2, use MEMORY_OPTIMIZED
    • Para tipos de máquinas M3, use MEMORY_OPTIMIZED_M3
    • Para tipos de máquinas M4, use MEMORY_OPTIMIZED_M4
    • Para tipos de máquinas M4 com 6 TB de memória, use MEMORY_OPTIMIZED_M4_6TB
    • Para tipos de máquinas X4 com 16 TB de memória, use MEMORY_OPTIMIZED_X4_16TB
    • Para tipos de máquinas X4 com 24 TB de memória, use MEMORY_OPTIMIZED_X4_24TB
    • Para tipos de máquinas X4 com 32 TB de memória, use MEMORY_OPTIMIZED_X4_32TB
    • Para tipos de máquinas Z3, use STORAGE_OPTIMIZED_Z3

  • COMMITMENT_PLAN: o mesmo plano de compromisso que os seus compromissos de origem, TWELVE_MONTH ou THIRTY_SIX_MONTH.

  • COMMITMENT_NAME: o nome do seu novo compromisso unido.

  • NUMBER_VCPUS: a soma do número de CPUs virtuais nos compromissos de origem.

  • MEMORY: a soma dos valores, em MB, da memória nos compromissos de origem. Por exemplo, 1000 MB. Se as unidades não forem especificadas, a unidade predefinida usada é MB.

  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem que quer unir. Tem de especificar uma lista de URLs de compromisso de origem distintos separados por vírgulas.

Por exemplo, considere dois compromissos de origem (source-commitment-1 e source-commitment-2) na região us-east1 com os respetivos recursos especificados como (4 vCPUs N2 e 2048 MB) e (3 vCPUs N2 e 2048 MB), respetivamente. O plano de compromisso de cada um dos compromissos de origem é TWELVE_MONTH. O pedido POST seguinte permite-lhe unir os compromissos de origem e criar um novo compromisso denominado merged-commitment. O compromisso unido especifica os respetivos recursos como 7 vCPUs N2 e "4096 MB e tem um plano de compromisso de TWELVE_MONTH.

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",
         ...
    ]
}

Compromissos divididos

Pode transferir recursos de um compromisso existente e dividir o compromisso em compromissos mais pequenos. A divisão permite-lhe monitorizar e gerir de perto partes de um grande compromisso sob a forma de compromissos individuais mais pequenos. Por exemplo, pode definir apenas uma parte de um compromisso para renovar automaticamente dividindo-o e ativando a renovação automática apenas para um dos compromissos secundários. Com a divisão, também pode distribuir os seus descontos por utilização comprometida a um nível mais detalhado através da atribuição prioritária para os compromissos divididos.

Como funciona a divisão

Quando divide um compromisso existente (compromisso de origem), transfere recursos do compromisso de origem, cria um ou mais novos compromissos (compromissos divididos) e redistribui os recursos transferidos entre os novos compromissos divididos. A ativação dos novos compromissos de divisão e a alteração do tamanho do compromisso de origem ocorrem às 12:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7 durante a hora de verão) no dia seguinte. O Compute Engine define esta data de ativação como a data de início dos compromissos divididos. Após a conclusão da operação de divisão, tem 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 fim, e continua a funcionar normalmente. Os compromissos divididos mantêm a mesma data de fim e a janela de elegibilidade para extensão do prazo que o compromisso de origem.

Uma vez que os novos compromissos divididos só são criados depois de o compromisso de origem já estar ativo, os compromissos divididos podem ter uma duração personalizada e não a duração predefinida de 1 ou 3 anos. No entanto, os compromissos divididos mantêm o plano de compromisso de 1 ou 3 anos do compromisso de origem.

Só pode criar um novo compromisso dividido de cada vez através da API REST e da CLI gcloud. Pode criar vários novos compromissos divididos numa única operação através da Google Cloud consola.

Não pode dividir um compromisso quando este tiver reservas anexadas. Para saber mais acerca dos compromissos com reservas anexadas, consulte o artigo Combinar reservas com descontos por utilização comprometida.

Exemplo de um compromisso dividido

A tabela seguinte mostra as propriedades de compromisso quando um compromisso existente (source-commitment) é dividido em dois compromissos distintos (source-commitment com tamanho alterado e split-commitment) a 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
Resources
  • vCPUs: 200
  • Memória: 200 GB
  • vCPUs: 50
  • Memória: 100 GB
  • vCPUs: 150
  • Memória: 100 GB
Período de Vigência 3 anos 3 anos 3 anos
Data de início* 1 de janeiro de 2020 2 de março de 2022
(o dia após a divisão)
1 de janeiro de 2020
Data de conclusão 1 de janeiro de 2023 1 de janeiro de 2023 1 de janeiro de 2023
Janela de elegibilidade para extensão do prazo aberta até 1 de janeiro de 2021 1 de janeiro de 2021 1 de janeiro de 2021

* Todos os compromissos começam às 00:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7), na data de início especificada.
Todos os compromissos expiram às 00:00, hora do Pacífico dos EUA e do Canadá (UTC-8 ou UTC-7) na data de fim especificada.

Implicações de preços

A 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 dos recursos da seguinte forma:

  • Compromisso de origem redimensionado: os preços com desconto dos recursos do seu compromisso de origem redimensionado permanecem inalterados.
  • Compromisso dividido: os preços com desconto dos recursos do seu novo compromisso dividido podem mudar no dia em que o compromisso dividido se torna ativo. Este novo preço com desconto para cada recurso permanece o mesmo até ao final do período de vigência do novo compromisso dividido, mesmo que os preços a pedido mudem.

No entanto, se unir ou dividir novamente qualquer um destes compromissos no futuro, os preços com desconto podem voltar a mudar.

Limitações

  • Não pode dividir compromissos de licenças.
  • Não é possível dividir compromissos com reservas anexadas. Consequentemente, não pode dividir compromissos que tenham GPUs, discos SSD locais ou ambos, uma vez que os compromissos com estes recursos têm sempre reservas anexadas.
  • No momento da criação de compromissos divididos, não pode criar novas reservas e anexá-las a esses compromissos.
  • Não pode dividir compromissos que tenham expirado ou sido cancelados.
  • Por predefinição, quando cria compromissos divididos, a definição de renovação automática é desativada nos novos compromissos, mesmo que todos os compromissos de origem tenham sido definidos para renovação automática. Se quiser que os compromissos divididos sejam renovados automaticamente, tem de ativar manualmente a definição de renovação automática nesses compromissos. Pode fazê-lo no momento da criação ou após a criação.
  • Só pode criar um novo compromisso dividido de cada vez através da API REST ou da CLI gcloud. Como resultado, pode dividir o compromisso de origem num máximo de dois compromissos numa única operação quando usa estas interfaces. Para dividir o seu compromisso de origem em três ou mais compromissos numa única operação, use aGoogle Cloud consola.
  • Na Google Cloud consola, pode especificar a memória apenas em incrementos de 0,25 GB. Para especificar um valor de memória personalizado para o seu compromisso, use a CLI gcloud ou a API REST.

Requisitos

Quando divide um compromisso de origem e cria um ou mais compromissos divididos, os compromissos de origem e divididos têm de cumprir os seguintes requisitos:

  • Os novos compromissos divididos têm de ter o mesmo projeto, tipo de compromisso, região e plano de compromisso que o compromisso de origem. No entanto, tem de escolher novos nomes para os compromissos divididos.
  • Os tipos de recursos especificados para os novos compromissos divididos têm de corresponder a alguns ou a todos os tipos de recursos no compromisso de origem. Além disso, o valor combinado dos recursos que especificar para os novos compromissos divididos tem de ser uma parte dos recursos no compromisso de origem. Tem de reter uma parte dos recursos no seu compromisso de origem. Por exemplo, suponhamos que o seu compromisso de origem é de 200 vCPUs e 300 GB de memória. Os seguintes cenários de redimensionamento e redistribuição são aplicáveis:
    • Pode redistribuir uma parte das 200 vCPUs e uma parte dos 300 GB de memória entre os seus novos compromissos divididos.
    • Pode redistribuir todas as 200 vCPUs, mas tem de manter uma parte da memória no seu compromisso de origem.
    • Pode redistribuir toda a memória de 300 GB, mas tem de manter uma parte das vCPUs no seu compromisso de origem.
    • Não pode redistribuir todas as 200 vCPUs e toda a memória de 300 GB entre os seus novos compromissos divididos
  • Os compromissos de origem e divisão têm de ser para recursos de hardware que sejam vCPUs, memória ou uma combinação de ambos.

Além disso, para usar a Google Cloud CLI para dividir um compromisso de origem, atualize a Google Cloud CLI para a versão 423.0.0 ou posterior. Se tentar dividir um compromisso de origem com uma versão anterior da CLI gcloud, a operação de divisão falha e o Compute Engine gera um erro.

Crie compromissos divididos

Crie um novo compromisso dividido de cada vez através da CLI gcloud ou da API Compute Engine. Crie vários novos compromissos divididos em simultâneo através da Google Cloud consola. Antes de dividir um compromisso, reveja as limitações da divisão.

Consola

  1. Na Google Cloud consola, selecione o projeto onde quer dividir um compromisso e aceda à página Descontos por utilização comprometida.

    Aceda a Descontos de fidelidade

  2. Para iniciar a operação de divisão de um compromisso, efetue uma das seguintes ações no separador Compromissos de hardware da página Lista de compromissos:

    • Selecione o compromisso que quer dividir na lista e clique em Dividir.
    • Na coluna Nome, clique no nome do compromisso que quer dividir. Na página Detalhes do compromisso de hardware apresentada, clique em Dividir.
  3. No separador Redimensionar da página Dividir compromisso apresentada, faça o seguinte:

    1. Nos campos vCPUs e Memória, especifique o número de vCPUs e a memória que quer manter no seu compromisso original. Os recursos restantes estão disponíveis para redistribuição para o seu compromisso dividido. O compromisso de origem não pode estar vazio depois de o redimensionar.
    2. Clicar em Seguinte. É aberto o separador Redistribuir.
  4. No separador Redistribuir da página Dividir compromisso, faça o seguinte:

    1. No campo Nome, especifique um nome para o compromisso dividido.
    2. Nos campos vCPUs e Memória, especifique o número de vCPUs e a memória que quer no seu compromisso dividido.
      • Se quiser criar vários compromissos divididos, especifique apenas uma parte dos recursos redistribuídos.
      • Caso contrário, especifique todos os seus recursos redistribuídos.

    Só pode especificar a memória em incrementos de 0,25 GB. Para especificar um valor de memória personalizado para o seu compromisso, use a CLI gcloud ou a API REST em alternativa. 1. Opcional: para ativar a renovação automática no compromisso dividido, selecione a caixa de verificação Ativar renovação automática. 1. Clique em Concluído. 1. Opcional: para criar compromissos divididos adicionais, clique em Adicionar um item e repita os passos anteriores. 1. Clique em Seguinte. É aberto o separador Rever.

  5. No separador Rever da página Dividir compromisso, faça o seguinte:

    1. Reveja e confirme os detalhes do compromisso redimensionado e dos compromissos divididos.
      • Para modificar a atribuição de recursos do seu compromisso original, selecione o separador Redimensionar no lado esquerdo da janela e repita o passo 3.
      • Para modificar a redistribuição de recursos entre os compromissos divididos, selecione o separador Redistribuir no lado esquerdo da janela e repita o passo 4.
    2. Leia os Termos de Utilização.
    3. Para concluir a criação dos compromissos divididos e regressar à página Lista de compromissos, clique em Enviar.

gcloud

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

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --plan=COMMITMENT_PLAN \
    --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 que o seu compromisso de origem, um dos seguintes:

    • Para tipos de máquinas A2, use accelerator-optimized
    • Para os tipos de máquinas A3 Edge e A3 High, use accelerator-optimized-a3
    • Para os tipos de máquinas A3 Mega, use accelerator-optimized-a3-mega
    • Para tipos de máquinas C2, use compute-optimized
    • Para tipos de máquinas C2D, use compute-optimized-c2d
    • Para os tipos de máquinas C3, use compute-optimized-c3
    • Para tipos de máquinas C3D, use compute-optimized-c3d
    • Para tipos de máquinas H3, use compute-optimized-h3
    • Para tipos de máquinas N1, use general-purpose
    • Para os tipos de máquinas C4, use general-purpose-c4
    • Para os tipos de máquinas C4A, use general-purpose-c4a
    • Para tipos de máquinas C4D, use general-purpose-c4d
    • Para tipos de máquinas E2, use general-purpose-e2
    • Para tipos de máquinas N2, use general-purpose-n2
    • Para tipos de máquinas N2D, use general-purpose-n2d
    • Para tipos de máquinas N4, use general-purpose-n4
    • Para os tipos de máquinas Tau T2D, use general-purpose-t2d
    • Para tipos de máquinas G2, use graphics-optimized
    • Para tipos de máquinas M1 ou M2, use memory-optimized
    • Para tipos de máquinas M3, use memory-optimized-m3
    • Para tipos de máquinas M4, use memory-optimized-m4
    • Para tipos de máquinas M4 com 6 TB de memória, use memory-optimized-m4-6tb
    • Para tipos de máquinas X4 com 16 TB de memória, use memory-optimized-x4-16tb
    • Para tipos de máquinas X4 com 24 TB de memória, use memory-optimized-x4-24tb
    • Para tipos de máquinas X4 com 32 TB de memória, use memory-optimized-x4-32tb
    • Para tipos de máquinas Z3, use storage-optimized-z3

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

  • PROJECT_ID: o ID do projeto do projeto para o qual quer dividir o compromisso de origem.

  • COMMITMENT_PLAN: o mesmo plano de compromisso que o seu compromisso de origem, ou seja, 12-month ou 36-month.

  • NUMBER_VCPUS: o número de vCPUs que quer transferir do seu compromisso de origem para criar o novo compromisso dividido. O número tem de ser um número inteiro inferior ao número de vCPUs no compromisso de origem.

  • MEMORY: a quantidade, em MB ou GB, de memória que quer transferir do seu compromisso de origem para criar o novo compromisso dividido. O valor tem de ser inferior ao valor da memória no compromisso de origem. Por exemplo, 1000 MB. Se as unidades não forem especificadas, a unidade predefinida usada é GB.

  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem a partir do qual quer segmentar recursos.

Por exemplo, considere um compromisso de origem (source-commitment) na região us-east1 que tem os respetivos recursos especificados como 3 vCPUs N2 e 2048 MB de memória. O seguinte comando da CLI gcloud permite-lhe dividir o compromisso em dois compromissos separados:

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

Durante o processo de divisão, o source-commitmentCompute Engine faz o seguinte:

  • Retira recursos de source-commitment e cria um novo compromisso split-commitment com 1 vCPU N2 e 1024 MB de memória.
  • Redimensiona source-commitment para os recursos restantes.

REST

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": COMMITMENT_PLAN,
  "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 do projeto para o qual quer dividir o compromisso de origem.
  • REGION: a mesma região que o seu compromisso de origem.
  • COMMITMENT_NAME: o nome do seu novo compromisso de divisão.
  • COMMITMENT_TYPE: o mesmo tipo de compromisso que o seu compromisso de origem, um dos seguintes:

    • Para tipos de máquinas A2, use ACCELERATOR_OPTIMIZED
    • Para os tipos de máquinas A3 Edge e A3 High, use ACCELERATOR_OPTIMIZED_A3
    • Para os tipos de máquinas A3 Mega, use ACCELERATOR_OPTIMIZED_A3_MEGA
    • Para tipos de máquinas C2, use COMPUTE_OPTIMIZED
    • Para tipos de máquinas C2D, use COMPUTE_OPTIMIZED_C2D
    • Para os tipos de máquinas C3, use COMPUTE_OPTIMIZED_C3
    • Para tipos de máquinas C3D, use COMPUTE_OPTIMIZED_C3D
    • Para tipos de máquinas H3, use COMPUTE_OPTIMIZED_H3
    • Para tipos de máquinas N1, use GENERAL_PURPOSE
    • Para os tipos de máquinas C4, use GENERAL_PURPOSE_C4
    • Para os tipos de máquinas C4A, use GENERAL_PURPOSE_C4A
    • Para tipos de máquinas C4D, use GENERAL_PURPOSE_C4D
    • Para tipos de máquinas E2, use GENERAL_PURPOSE_E2
    • Para tipos de máquinas N2, use GENERAL_PURPOSE_N2
    • Para tipos de máquinas N2D, use GENERAL_PURPOSE_N2D
    • Para tipos de máquinas N4, use GENERAL_PURPOSE_N4
    • Para os tipos de máquinas Tau T2D, use GENERAL_PURPOSE_T2D
    • Para tipos de máquinas G2, use GRAPHICS_OPTIMIZED
    • Para tipos de máquinas M1 ou M2, use MEMORY_OPTIMIZED
    • Para tipos de máquinas M3, use MEMORY_OPTIMIZED_M3
    • Para tipos de máquinas M4, use MEMORY_OPTIMIZED_M4
    • Para tipos de máquinas M4 com 6 TB de memória, use MEMORY_OPTIMIZED_M4_6TB
    • Para tipos de máquinas X4 com 16 TB de memória, use MEMORY_OPTIMIZED_X4_16TB
    • Para tipos de máquinas X4 com 24 TB de memória, use MEMORY_OPTIMIZED_X4_24TB
    • Para tipos de máquinas X4 com 32 TB de memória, use MEMORY_OPTIMIZED_X4_32TB
    • Para tipos de máquinas Z3, use STORAGE_OPTIMIZED_Z3

  • COMMITMENT_PLAN: o mesmo plano de compromisso que o seu compromisso de origem, ou seja, TWELVE_MONTH ou THIRTY_SIX_MONTH.

  • NUMBER_VCPUS: o número de vCPUs que quer transferir do seu compromisso de origem para criar o novo compromisso dividido. O número tem de ser um número inteiro inferior ao número de vCPUs no compromisso de origem.

  • MEMORY: a quantidade, em MB, de memória que quer transferir do seu compromisso de origem para criar o novo compromisso dividido. O valor tem de ser inferior ao valor da memória no compromisso de origem. Por exemplo, 1000 MB. Se as unidades não forem especificadas, a unidade predefinida usada é MB.

  • SOURCE_COMMITMENT_URL: o URL do compromisso de origem do qual quer transferir recursos.

Por exemplo, considere um compromisso de origem (source-commitment) na região us-east1 que tem os respetivos recursos especificados como 3 vCPUs N2 e 2048 MB de memória. O pedido POST seguinte permite dividir o compromisso em dois compromissos separados:

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"
}

Durante o processo de divisão, o source-commitmentCompute Engine faz o seguinte:

  • Retira recursos de source-commitment e cria um novo compromisso split-commitment com 1 vCPU N2 e 1024 MB de memória.
  • Redimensiona source-commitment para os recursos restantes.

O que se segue?