Como criar uma instância de VM com um tipo de máquina personalizado

No Compute Engine, há tipos de máquina predefinidos que podem ser usados quando você cria uma instância. Um tipo de máquina predefinido tem uma quantidade específica de vCPUs e de memória cobradas a um preço determinado, descrito na página de preços.

Se os tipos de máquinas predefinidos não atenderem às suas necessidades, crie uma instância com configurações personalizadas de hardware virtualizado. Especificamente, crie uma instância com uma quantidade personalizada de vCPUs e memória usando um tipo de máquina personalizada.

Tipos de máquina personalizados são ideais para os seguintes cenários:

  • Cargas de trabalho que não são adequadas para os tipos de máquina predefinidos que estão disponíveis para você.
  • Cargas de trabalho que exigem mais potência de processamento ou mais memória, mas não precisam de todos os upgrades fornecidos pelo próximo nível de tipo de máquina.

Antes de começar

Especificações

  • O número máximo de vCPUs permitido para um tipo de máquina personalizado é determinado pela zona em que a instância será hospedada:

    • Zonas com suporte à plataforma de CPU Skylake aceitam tipos de máquinas personalizados com até 96 vCPUs.
    • Zonas com suporte às plataformas de CPU Broadwell, Haswell ou Ivy Bridge aceitam tipos de máquina personalizados com até 64 vCPUs.
    • Todas as zonas com suporte à plataforma de CPU Sandy Bridge aceitam tipos de máquinas personalizados com até 16 vCPUs.

    Para ver quais plataformas estão disponíveis em cada zona, leia a tabela de regiões e zonas.

  • Acima de 1, a contagem de instâncias vCPU precisa ser par, como 2, 4, 6, 8, 10 etc.

  • A memória por vCPU de um tipo de máquina personalizado precisa ser entre 0.9 GB e 6.5 GB por vCPU, inclusive.

  • A memória total para um tipo de máquina personalizado precisa ser um múltiplo de 256 MB. Por exemplo, 6.9 GB não é aceitável, mas 6.75 GB e 7 GB são.

  • Instâncias com tipos de máquina personalizados têm as mesmas limitações de capacidade de disco permanente que as instâncias com tipos de máquina predefinidos.

Para exemplos de tipos de máquinas válidos e inválidos, leia a seção Criar uma instância.

Preços

Os encargos do Google para tipos de máquina personalizados são baseados no número de vCPUs e nas horas de memória que a instância usa. É diferente da cobrança de tipos de máquina predefinidos, por isso recomendamos que você analise a página de preços antes de criar esse tipo de máquina.

As instâncias que executam um tipo de máquina personalizado estão sujeitas à mesma cobrança mínima de um minuto que qualquer outra instância, mas descontos por uso prolongado para tipos de máquina personalizados são calculados de maneira diferente. Para mais informações, leia descontos por uso prolongado para tipos de máquina personalizados.

Como criar uma instância com um tipo de máquina personalizado

Antes de criar uma instância, leia e compreenda as especificações para criar um tipo de máquina personalizado. Em resumo:

  • Somente tipos de máquina com 1 vCPU ou um número par de vCPUs podem ser criados.
  • A memória precisa estar entre 0.9 GB por vCPU, até 6.5 GB por vCPU.
  • A memória total da instância precisa ser um múltiplo de 256 MB.
  • O número máximo de vCPUs permitido depende dos processadores disponíveis em uma zona. Todos os processadores aceitam tipos de máquinas com até 64 vCPUs. Zonas com processadores Skylake aceitam até 96 vCPUs.

Exemplos de tipos de máquinas inválidos

  • 1 vCPU, 0.6 GB de memória total: inválido porque a memória total é menor do que o mínimo de 0.9 GB.
  • 1 vCPU, 0.9 GB de memória total: inválido porque a memória total precisa ser um múltiplo de 256 MB. Para 1 vCPU, use no mínimo 1.024 MB de memória.

Exemplos de tipos de máquinas válidos

  • 32 vCPUs, 29 GB de memória total: válido porque o número total de vCPUs é par e o total de memória é um múltiplo de 256 MB. A quantidade de memória por vCPU é de 0.9 GB, o que satisfaz o requisito mínimo.
  • 1 vCPU, 1 GB de memória total: válido porque tem uma vCPU, que é o valor mínimo, e o total de memória é um múltiplo de 256 MB. A quantidade de memória por vCPU também está na faixa aceitável de 0.9 GB a 6.5 GB por vCPU.

Como expressar memória em GB ou MB

A memória de tipo de máquina é calculada em gigabytes (GB), em que 1 GB é 230 bytes. Essa unidade de medição também é conhecida como um gibibyte (GiB). Ao converter a memória de GB para MB, 1 GB = 1.024 MB.

Na API, sempre forneça memória em unidades de MB. Se você usa a ferramenta de linha de comando gcloud, é possível fornecer a memória total para uma instância em unidades de GB ou MB. No entanto, a ferramenta gcloud espera que o valor da memória seja um número inteiro, portanto não é possível fornecer um valor flutuante. Por exemplo, para expressar 5.75 GB, converta 5.75 GB em MB. Neste caso, 5,75 GB seriam 5.888 MB.

Como criar a instância

Console

  1. Acesse a página "Criar instância"

    Acessar a página "Criar instância"

  2. Em Tipo de máquina, clique em Personalizar.
  3. Arraste os controles deslizantes para escolher o número de vCPUs e a quantidade de memória para a instância. O console exibe um custo estimado para a instância à medida que você altera o número de vCPUs e a memória.
  4. Salve as alterações e continue com o processo de criação.

gcloud

Use o comando gcloud compute instances create para incluir as sinalizações --custom-cpu e --custom-memory ou --machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB].

Se usar --custom-memory flag, especifique a quantidade total de memória em GB ou MB. A propriedade precisa ser um número inteiro, portanto, se você quiser especificar incrementos de 0,25 GB para memória, converta esse valor em MB.

Por exemplo, o seguinte comando criaria uma instância com 4 vCPUs e 5 GB de memória total:

gcloud compute instances create example-instance --custom-cpu 4 --custom-memory 5

Para especificar um valor incremental, como 5.25 GB de memória, converta o valor em MB e forneça o valor seguido do sufixo MB:

gcloud compute instances create example-instance --custom-cpu 4 --custom-memory 5376MB

Como alternativa, use este formato para especificar um tipo de máquina personalizado:

gcloud compute instances create example-instance \
    --machine-type custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

Em que:

  • [NUMBER_OF_CPUS] é o número de CPUs que você quer
  • [NUMBER_OF_MB] é a quantidade de memória que você quer em unidades de MB.

Por exemplo:

gcloud compute instances create example-instance --machine-type custom-4-5376

API

Na API, gere a solicitação de criação de instância como você costuma fazer, mas use o formato a seguir ao especificar um valor machineType. Substitua NUMBER_OF_CPUS pelo número de CPUs e AMOUNT_OF_MEMORY pela quantidade de memória desejada. Forneça a memória em unidades de MB:

zones/[ZONE]/machineTypes/custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY

Por exemplo, o seguinte URL criaria uma instância com 4 vCPUs e 5 GB (5.120 MB) de memória:

zones/us-central1-f/machineTypes/custom-4-5120

Crie também instâncias preemptivas ou grupos de instâncias com um tipo de máquina personalizado, especificando esse tipo nos formatos descritos acima.

Como adicionar memória estendida a um tipo de máquina

Por padrão, uma máquina personalizada pode ter até 6,5 GB de memória por vCPU. No entanto, isso pode não ser memória suficiente para sua carga de trabalho. Por um custo adicional, você consegue mais memória por vCPU além do limite de 6,5 GB. Isso é conhecido como memória estendida.

Com a memória estendida, é possível adicionar mais memória a um tipo de máquina sem limitações por vCPU. Seja qual for a plataforma de CPU, adicione memória estendida até um total de 455 GB por VM. Para instâncias que usam a plataforma de CPU Skylake em zonas em que tipos de máquinas de 96 vCPUs estão disponíveis, é possível adicionar memória estendida até um total de 624 GB por instância de VM. Se precisar de mais memória, use um dos tipos de máquina de megamemória, que permitem criar instâncias com um total de 1,4 TB por instância de VM.

Como determinar se você precisa de memória estendida

Certas cargas de trabalho precisam de mais de 6,5 GB de memória por vCPU para fornecer os melhores resultados. Cargas de trabalho baseadas em análises na memória, bancos de dados de alto desempenho, incluindo bancos de dados relacionais e NoSQL, como MS SQL Server, MongoDB e MemcacheD/Redis, estão nessa categoria. O licenciamento baseado em vCPU de sistemas operacionais e pilhas de software também torna a seleção de uma configuração de memória de VM ideal muito mais difícil com tipos de máquinas predefinidos. Ao usar memória estendida, adicione tanta memória quanto for necessária para alcançar o melhor preço e desempenho de suas instâncias de VM.

Preço

Quando você usar um tipo de máquina personalizado, qualquer memória de até 6,5 GB por vCPU será cobrada de acordo com os preços dos tipos de máquinas personalizados padrão. Para memória acima do limite de 6,5 GB por vCPU, o Compute Engine cobra pela memória estendida com base nos preços de memória estendida. Observe que o preço da memória estendida é diferente do preço da memória abaixo do limite de 6,5 GB por vCPU.

Preços de memória estendida diferem conforme a região. Instâncias em execução com memória estendida estão sujeitas à mesma cobrança mínima de um minuto que qualquer outra instância. A memória estendida também se qualifica para descontos por uso prolongado. Para mais informações, leia sobre desconto por uso prolongado para tipos de máquinas personalizados

Para informações sobre preços, consulte Preços de memória estendida.

Limitações

  • Só é possível adicionar memória estendida a tipos de máquinas personalizados. Não são aceitos tipos de máquinas predefinidos.
  • Não há limite de memória por vCPU a adicionar, mas há uma quantidade máxima de memória que pode ser adicionada a cada instância de VM. Seja qual for a plataforma de CPU, adicione memória estendida até um total de 455 GB por VM. Para instâncias que usam a plataforma de CPU Skylake em zonas em que tipos de máquinas de 96 vCPUs estão disponíveis, é possível adicionar memória estendida até um total de 624 GB por VM.
  • A memória precisa ser especificada em incrementos de 256 MB.
  • A memória estendida não se qualifica para Descontos por uso contínuo.

Como adicionar memória estendida durante a criação da instância

Para criar uma instância de VM com memória estendida, siga as instruções abaixo.

Console

  1. Acesse a página "Criar uma instância" no Console do Google Cloud Platform.

    Ir para a página "Criar uma instância"

  2. Em Tipo de máquina, clique em Personalizar.
  3. Selecione as vCPUs que você quer para a instância da VM.
  4. Selecione a quantidade de memória desejada. Para adicionar memória estendida, marque a opção Estender memória. O intervalo da memória selecionada se expande.
  5. Continue com o processo de criação de instâncias.

gcloud

Com a ferramenta gcloud, use o subcomando instances create, seguido pela sinalização --custom-extensions para ativar a memória estendida. Em seguida, especifique o total de memória que quer com o parâmetro --custom-memory.

Por exemplo, o seguinte comando cria uma instância de 2 vCPU, 15 GB de memória (incluindo uma memória estendida de 2 GB):

gcloud compute instances create example-instance --custom-cpu 2 --custom-memory 15 --custom-extensions

API

Na API, gere a solicitação de criação de instância como você costuma fazer, mas use o formato a seguir ao especificar um valor machineType:

zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext

em que:

  • [NUMBER_OF_CPUS] é o número de vCPUs;
  • [AMOUNT_OF_MEMORY] é a quantidade de memória que você quer. Forneça a quantidade de memória em unidades de MB.

Por exemplo, o seguinte comando especifica um tipo de máquina com 2 vCPUs e 15 GB de memória:

zones/[ZONE]/machineTypes/custom-2-15360-ext

Como adicionar memória estendida a uma instância de VM existente

Para adicionar mais memória a uma instância existente, primeiro interrompa a instância. Depois que a instância for interrompida, siga as instruções abaixo para adicionar mais memória à VM.

Console

  1. Acesse a página "Instâncias de VMs".

    Ir para a página Instâncias de VM

  2. Escolha a instância parada que você quer modificar na lista de instâncias.
  3. Clique em Editar no topo da página.
  4. Em Tipo de máquina, clique em Personalizar.
  5. Selecione a quantidade de vCPU desejada.
  6. Selecione a quantidade de memória desejada. Para adicionar memória estendida, marque a opção Estender memória. O intervalo da memória selecionada se expande.
  7. Salve as alterações.

gcloud

Com a ferramenta linha de comando gcloud, use o subcomando instances set-machine-type seguido da sinalização --custom-extensions pareada ao parâmetro --custom-memory existente.

Por exemplo, para adicionar 2 GB mais de memória a uma instância chamada instância de exemplo, que atualmente tem 2 vCPU, 13 GB, na zona us-central1-b, use o seguinte comando:

gcloud compute instances set-machine-type example-instance \
   --zone us-central1-b --custom-cpu 2 \
   --custom-memory 15 --custom-extensions

API

Na API, faça uma solicitação POST ao método setMachineType com o tipo de máquina pretendido no corpo da solicitação. Use o seguinte formato ao especificar um novo tipo de máquina:

zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext

em que:

  • [NUMBER_OF_CPUS] é o número de vCPUs;
  • [AMOUNT_OF_MEMORY] é a quantidade de memória que você quer. Forneça a quantidade de memória em unidades de MB.

Por exemplo, o seguinte comando usa um tipo de máquina com 2 vCPUs e 15 GB de memória total:

zones/[ZONE]/machineTypes/custom-2-15360-ext

Por exemplo:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setMachineType

{
    machineType: "zones/us-central1-f/machineTypes/custom-2-15360-ext"
}
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine