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 personalizado. Os tipos personalizados estão disponíveis apenas para tipos de máquina de uso geral. Ou seja, os tipos personalizados efetivamente fazem parte da família N1 ou N2.

Os 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

Geral

  • 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 é compatível, mas 6,75 GB e 7 GB são.

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

  • 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.

  • Os tipos de máquina personalizados estão sujeitos aos mesmos limites de disco permanente que os tipos de máquina de uso geral. Atualmente, o tamanho total máximo do disco permanente para cada tipo de máquina por instância é de 64 TB e o número máximo de discos permanentes é 128.

Tipos de máquinas personalizados N1

  • O número máximo de vCPUs permitido para um tipo de máquina personalizado é determinado pela família de tipos de máquina escolhida. Para tipos de máquina N1:

    • se for implantado em um tipo de zona que oferece suporte à plataforma de CPU Skylake, é possível criar tipos de máquinas personalizados com até 96 vCPUs;
    • se for implantado em zonas que oferecem suporte às plataformas de CPU Broadwell, Haswell ou Ivy Bridge, é possível implantar tipos de máquinas personalizados com até 64 vCPUs.

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

  • Por padrão, a memória por vCPU que pode ser selecionada para um tipo de máquina personalizado é determinada pela família de tipos de máquinas. Para tipos de máquinas N1, selecione entre 0,9 GB e 6,5 GB por vCPU. Para usar quantidades maiores, ative a memória estendida.

Exemplos de tipos de máquinas inválidos

  • 1 vCPU, 0,2 GB de memória total. Inválido porque a memória total é menor que o mínimo de 0,65 para um tipo de máquina N1.
  • 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 uma vCPU, use um mínimo de 1.024 MB de memória.

Exemplos de tipos de máquina válidos

  • 32 vCPUs, 29 GB de memória total. Válido porque o número total de vCPUs é par e a memória total é um múltiplo de 256 MB. A quantidade de memória por vCPU é de 0,9 GB, o que satisfaz a exigência mínima.
  • 1 vCPU, 1 GB de memória total. Válido porque ele tem um vCPU, que é o valor mínimo, e a memória total é um múltiplo de 256 MB. A quantidade de memória por vCPU também está entre o intervalo aceitável de 0,9 GB a 6,5 GB por vCPU.

Tipos de máquinas personalizados N2

  • O número máximo de vCPUs permitido para um tipo de máquina personalizado é determinado pela família de tipos de máquina escolhida. Para tipos de máquinas N2, que oferecem suporte apenas à plataforma Cascade Lake, é possível implantar tipos de máquinas personalizados com 2 a 80 vCPUs.

  • Tipos de máquinas N2 estão disponíveis apenas nas zonas a seguir:

    • us-central1-a e us-central1-c
    • europe-west4-b e europe-west4-c
  • Por padrão, a memória por vCPU que pode ser selecionada para um tipo de máquina personalizado é determinada pela família de tipos de máquinas. Para tipos de máquinas N2, selecione entre 0,5 GB e 8 GB por vCPU. Para usar quantidades maiores, ative a memória estendida.

  • Se a instância tiver uma contagem de vCPU de 32 vCPUs ou maior, a contagem de vCPU precisará ser igualmente divisível por 4. Portanto, por exemplo, 32, 36 e 40 vCPUs são válidas, mas 38 não.

Exemplos de tipos de máquinas inválidos

  • 2 vCPUs, 0,8 GB de memória total. Inválido porque a memória total é menor que o mínimo de 0,5 para um tipo de máquina N2.
  • 34 vCPUs, 34 GB de memória total. Inválido porque o número total de vCPUs não é divisível por 4.
  • 1 vCPU, 1024 MB de memória. Inválido porque a contagem de vCPU é muito pequena. Tipos de máquinas personalizados N2 requerem um mínimo de 2 vCPUs.

Exemplos de tipos de máquina válidos

  • 36 vCPUs, 18 GB de memória total. Válido porque o número total de vCPUs é par e a memória total é um múltiplo de 256 MB. A quantidade de memória por vCPU é de 0,5 GB, o que satisfaz a exigência mínima. Como o número de vCPUs é maior que 32 vCPUs, o número de vCPUs precisa ser divisível por 4.
  • 2 vCPU, 7 GB de memória total. Válido porque ele tem duas vCPUs, que é o valor mínimo, e a memória total é um múltiplo de 256 MB. A quantidade de memória por vCPU também está entre o intervalo aceitável de 0,5 GB a 8 GB por vCPU.

Preço

As cobranças do Google para tipos de máquina personalizados são baseadas no número de vCPUs e nas horas de memória que a instância usa. Isso é diferente de como tipos de máquinas predefinidos são cobrados. Por isso, recomendamos que você consulte a página de preços antes de criar um tipo personalizado.

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 expressar memória em GB ou MB

Para ferramentas e documentação do Google Cloud Platform, a memória de tipos de máquinas é calculada em gigabytes (GB), em que 1 GB equivale a 230 bytes. Essa unidade de medida também é conhecida como 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. Nesse caso, 5,75 GB são 5.888 MB.

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

Antes de criar uma instância, verifique se você leu e entende as Especificações para criar um tipo de máquina personalizado.

Console

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

    Acessar a página "Criar instância"

  2. Selecione a zona em que você quer hospedar essa instância. Isso também filtrará a lista de tipos de máquinas apenas para os tipos disponíveis nessa zona.
  3. Em Configuração de máquina, selecione Uso geral.
  4. Na lista suspensa Geração, selecione Primeiro para tipos de máquinas personalizados N1 ou Segundo para tipos de máquinas personalizados N2.
  5. Na lista suspensa Tipo de máquina, selecione Personalizado.
  6. 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.
  7. Salve as alterações e continue com o processo de criação.

gcloud

O comando da gcloud para tipos de máquinas personalizados é ligeiramente diferente dependendo da família de tipos de máquinas.

Para tipos de máquinas N1, use o comando gcloud compute instances create e inclua uma das opções a seguir:

  • As sinalizações --custom-cpu e --custom-memory
  • A sinalização --machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

Por exemplo, o comando a seguir criaria uma instância que executa um tipo de máquina N1 com 4 vCPUs e 5 GB de memória total:

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

Para tipos de máquinas N2, use o comando gcloud beta compute instances create e inclua uma das opções a seguir:

  • As sinalizações --custom-cpu, --custom-memory e --custom-vm-type
  • A sinalização --machine-type=n2-custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

Se usar a sinalização --custom-memory, 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 em memória, converta esse valor em MB.

Para especificar um valor incremental, como 2,5 GB de memória, converta o valor em MB e forneça o valor seguido do sufixo MB: O exemplo a seguir cria uma instância que executa um tipo de máquina N2:

gcloud beta compute instances create example-instance \
    --custom-cpu 6 --custom-memory 3072MB --custom-vm-type n2

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

gcloud beta compute instances create example-instance \
    --machine-type n2-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 n2-custom-6-3072

API

Na API, gere sua solicitação de criação de instância como faria normalmente, mas, ao especificar um valor machineType, use um dos formatos a seguir. 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:

  • Para tipos de máquinas N1, use:

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    
  • Para tipos de máquinas N2, use:

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    

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. Basta especificar esse tipo nos formatos descritos acima.

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

Dependendo do tipo de memória, cada um pode ter até uma quantidade específica de memória por padrão. Por exemplo, se você criar uma VM com um tipo de máquina personalizado N1, a VM poderá ter até 6,5 GB de memória por vCPU. Para tipos de máquinas personalizados N2, esse número vai até 8 GB de memória por vCPU.

Para algumas cargas de trabalho, isso pode não ser memória suficiente. Por um custo adicional, é possível ter mais memória por vCPU além do limite padrão. Isso é conhecido como memória estendida.

Com a memória estendida, é possível adicionar memória ao tipo de máquina sem limitações por vCPU. Você adiciona memória estendida até certos limites com base no tipo de máquina:

  • Para tipos de máquinas N1, é possível adicionar até um total de 624 GB de memória por VM.
  • Para tipos de máquinas N2, é possível adicionar até um total de 640 GB de memória por 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 do que a quantidade padrão 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 desafiador 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

Ao usar um tipo de máquina personalizado, qualquer memória até e incluindo a quantidade padrão por vCPU é cobrada de acordo com os preços de tipos de máquinas personalizados N1 ou os preços de tipos de máquinas personalizados N2. Para memória acima do padrão, o Compute Engine cobra por memória estendida com base nos preços de memória personalizada estendida N1 ou nos preços de memória personalizada estendida N2. O preço da memória estendida é diferente do preço da memória abaixo do limite padrão.

Os preços da 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, consulte Descontos por uso prolongado para tipos de máquinas personalizados.

Para informações sobre preços, consulte Preços de memória personalizada 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. Para tipos de máquinas N1, é possível adicionar até 624 GB de memória. Para tipos de máquinas N2, é possível adicionar até 640 GB de memória.
  • Os tipos de máquinas N2 estão disponíveis apenas em zonas selecionadas.
    • us-central1-a e us-central1-c
    • europe-west4-b e europe-west4-c
  • A memória precisa ser especificada em incrementos de 256 MB.
  • A memória estendida não se qualifica para os 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.

    Acessar a página "Criar uma instância"

  2. Selecione a zona em que você quer hospedar essa instância. Isso também filtrará a lista de tipos de máquinas apenas para os tipos disponíveis nessa zona.
  3. Em Configuração de máquina, selecione Uso geral.
  4. Na lista suspensa Geração, selecione Primeiro para tipos de máquinas personalizados N1 ou Segundo para tipos de máquinas personalizados N2.
  5. Na lista suspensa Tipo de máquina, selecione Personalizado.
  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. Continue com o processo de criação de instâncias.

gcloud

Para tipos de máquinas N1, use a ferramenta gcloud e o subcomando instances create, seguido pela sinalização --custom-extensions para ativar a memória estendida. Em seguida, especifique o total de memória desejada com o parâmetro --custom- memory.

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

Para tipos de máquinas N2, use o comando gcloud beta com o subcomando instances create. Defina as sinalizações --custom-extensions, --custom-cpu e --custom-memory, seguidas pela --custom-vm-type, para especificar o tipo de máquina N2:

gcloud beta compute instances create example-instance \
    --custom-extensions --custom-cpu 2 --custom-memory 16 \
    --custom-vm-type n2

API

Na API, construa sua solicitação de criação de instância como faria normalmente, mas ao especificar um valor machineType, use um dos formatos a seguir.

  • Para tipos de máquinas N1, use:

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • Para tipos de máquinas N2, use:

    zones/[ZONE]/machineTypes/n2-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 N2 com 2 vCPUs e 20 GB de memória:

zones/[ZONE]/machineTypes/n2-custom-2-20480-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 Configuração de máquina, selecione Uso geral.
  5. Na lista suspensa Tipo de máquina, selecione Personalizado.
  6. Selecione a quantidade de vCPU desejada.
  7. 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.
  8. 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. Para alterar dos tipos de máquinas N1 para N2 e vice-versa, forneça a sinalização --custom-vm-type.

Por exemplo, para adicionar 2 GB de memória em uma instância chamada example-instance, que atualmente tem um tipo de máquina N1 com 2 vCPU, 13 GB, na zona us-central1-b, use o comando a seguir:

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

Para alterar entre os tipos de máquina N1 e N2:

gcloud beta compute instances set-machine-type example-instance \
   --zone us-central1-a  --custom-extensions --custom-cpu 2 \
   --custom-memory 16 --custom-vm-type n2

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 um dos formatos a seguir:

  • Para tipos de máquinas N1, use:

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • Para tipos de máquinas N2, use:

    zones/[ZONE]/machineTypes/n2-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"
}

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine