O Compute Engine oferece tipos de máquina predefinidos que você pode usar ao criar uma instância de VM. Um tipo de máquina predefinido tem um número predefinido de vCPUs e uma quantidade de memória, mas é cobrado um preço fixo. Se as VMs predefinidas não atenderem às suas necessidades, crie uma instância de VM com configurações personalizadas de hardware virtualizado. Em específico, é possível criar uma instância de VM com um número personalizado de vCPUs e quantidade de memória, usando efetivamente um tipo de máquina personalizado. Os tipos de máquina personalizados estão disponíveis para:
- Família de máquinas de uso geral apenas para as séries de máquinas N e E. É possível criar uma VM personalizada nas séries de máquinas N4, N4D, N4A, N2, N2D, E2 ou N1.
- Família de máquinas com otimização de acelerador apenas para a série de máquinas G2.
As VMs personalizadas são ideais nos seguintes cenários:
- Cargas de trabalho que não são adequadas para os tipos de VM predefinidos.
- Cargas de trabalho que exigem mais poder 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.
- Cargas de trabalho com custos de licença de software por CPU, em que é possível personalizar o número de vCPUs para evitar custos de licença de capacidade de processamento não utilizada ou para corresponder às contagens de licenças de software disponíveis.
Antes de começar
- Leia a documentação sobre famílias de máquinas.
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar
códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud , não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade externo (IdP), confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade externo (IdP), confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade externo (IdP), confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade externo (IdP), confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade externo (IdP), confirme se você fez login na CLI gcloud com sua identidade federada.
Terraform
Para usar os exemplos do Terraform desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para usar as amostras do Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos de Java desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para usar os exemplos de Python desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias para criar uma VM com um tipo de máquina personalizado, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para criar uma VM com um tipo de máquina personalizado. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar uma VM com um tipo de máquina personalizado:
-
Adicionar memória estendida a uma VM atual:
compute.instances.setMachineTypena VM -
Criar uma VM com um tipo de máquina personalizado:
compute.instances.createno projeto- Usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Utilizar um snapshot para criar a VM:
compute.snapshots.useReadOnlyno snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância - Atribuir uma rede legada à VM:
compute.networks.useno projeto - Especificar um endereço IP estático para a VM:
compute.addresses.useno projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIpno projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida - Definir os metadados da instância da VM:
compute.instances.setMetadatano projeto - Definir tags para a VM:
compute.instances.setTagsna VM - Definir rótulos para a VM:
compute.instances.setLabelsna VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM - Criar um disco para a VM:
compute.disks.createno projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.useno disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnlyno disco
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
- Se a VM tiver discos SSD locais, não será possível alterar a configuração da vCPU e da memória.
A memória estendida está disponível nos tipos de máquina personalizados N4, N4A, N4D, N2, N2D e N1. Para saber os limites da memória estendida, consulte Adicionar memória estendida a um tipo de máquina.
Os tipos de máquina predefinidos, bem como os tipos de máquina personalizados G2 e E2, não oferecem suporte à memória estendida.
A memória estendida não se qualifica para descontos por compromisso de uso com base em recursos.
Cada tipo de máquina tem intervalos e valores específicos para vCPUs e memória, conforme mostrado na tabela a seguir:
| Série de máquina | Mínimo de vCPUs | Máximo de vCPUs | vCPUs permitidas | Memória mínima por vCPU (GB) | Memória máxima por vCPU (GB) | Tamanho da etapa (MB) | Memória estendida |
|---|---|---|---|---|---|---|---|
| N4 | 2 | 80 | Qualquer múltiplo de 2 | 2 | 8 | 256 | Sim |
| N4D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0,5 | 8 | 256 | Sim |
| N4A | 1 | 64 | Qualquer | 2 | 8 | 256 | Sim |
| N2 | 2 | 80 | Múltiplos de 2 (até 32) ou 4 (32 a 80) | 0,5 | 8 | 256 | Sim |
| N2D | 2 | 96 | 2, 4, 8, 16, 32, 48, 64, 80, 96 | 0,5 | 8 | 256 | Sim |
| N1 | 1 | 96 | 1 ou qualquer múltiplo de 2 | 0,9 (1 para 1 ou 2 vCPUs) | 6,5 | 256 | Sim |
| E2 | 2 | 32 | Qualquer múltiplo de 2 | 0,5 | 8 | 256 | Não |
| E2 com núcleo compartilhado | 0,25 | 1 | 0,25, 0,5, 1 | 1 total | 8 (2 no total para micro, 4 no total para pequeno, 8 no total para médio) | 256 | Não |
Expressar a memória em GB ou MB
Por motivos históricos, as ferramentas e a documentação do Google Cloud se referem à memória do tipo de máquina como megabytes (MB) e gigabytes (GB) decimais. No entanto, essas unidades representam gibibytes (GiB) e mebibytes (MiB) binários, em que 1 GB equivale a 230 bytes ou 1.024 MB.
Ao configurar a memória para um tipo de máquina personalizado, os requisitos de unidade e as conversões dependem da ferramenta usada:
- No console do Google Cloud , especifique a memória em GB. Por exemplo, se o sistema precisar de 1.024 MB de memória, selecione 1 GB no console do Google Cloud .
- Na API Compute Engine, é preciso fornecer a memória em MB como um múltiplo inteiro de 256 MB (ou 1.024 MB para VMs G2). Por exemplo, se você tentar provisionar 5 GB de memória especificando 5.000 MB em uma solicitação de API, a API vai retornar um erro porque 5.000 não é um múltiplo de 256 (5 GB é 5.120 MB).
- Na Google Cloud CLI, é possível fornecer a memória total para uma VM em GB ou
MB:
- A flag
--custom-memoryusa GB como padrão se você omitir a unidade. Para especificar a memória em MB, inclua o sufixo de unidadeMB. Por exemplo, se você quiser 2.048 MB (2 GB) de memória e especificar a flag--custom-memory=2048sem uma unidade, a CLI gcloud vai solicitar 2.048 GB de memória, em vez de 2.048 MB. - Os valores sem unidade transmitidos para
--custom-memoryprecisam ser números inteiros. Para expressar incrementos de 0,25 GB (256 MB), como 5,75 GB, converta o valor em um número inteiro em MB (--custom-memory=5888MB) ou inclua o sufixo de unidadeGB(--custom-memory=5.75GB). - Com a sinalização
--machine-type, é preciso especificar a memória em MB como um número inteiro sem um sufixo de unidade, por exemplo,--machine-type=n2-custom-2-5120.
- A flag
Preços de tipos de máquina personalizados
O Compute Engine cobra por VMs personalizadas com base no número de vCPUs e nas horas de memória que a VM usa. Esse modelo de preços é diferente de como o Compute Engine cobra por tipos de máquina predefinidos. Os preços on demand dos tipos de máquinas personalizados incluem um valor extra de 5% sobre os preços on demand dos tipos de máquina predefinidos.
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 do tipo de máquina personalizado da família de máquinas. Os tipos de máquina personalizados E2 e os tipos de máquina personalizados E2 com núcleo compartilhado compartilham o mesmo esquema de preços.
Se você usar compromissos para executar tipos de máquina personalizados, o Compute Engine vai cobrar um valor extra de 5% sobre os preços dos compromissos. O Compute Engine cobra esse valor extra pela parcela e duração do seu compromisso de executar essas VMs de tipo de máquina personalizado.
Para conferir informações de preços por série de máquinas, consulte Preços de instâncias de VM.
As VMs personalizadas 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áquinas personalizados são calculados de maneira diferente. Para mais informações, consulte descontos por uso prolongado para VMs personalizadas.
Preços de memória estendida
O Compute Engine cobra um valor extra pela memória acima do intervalo máximo para o número de vCPUs configuradas como memória estendida, com base nos preços de memória personalizada estendida da família de máquinas. O preço da memória estendida é maior do que o preço da memória abaixo do intervalo máximo.
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 não se qualifica para descontos por compromisso de uso com base em recursos, mas se qualifica para descontos por compromisso de uso flexíveis de computação e descontos por uso prolongado.
Adicionar memória estendida a um tipo de máquina
Cada série de máquinas de tipo de máquina personalizado tem um máximo de RAM padrão por vCPU. Para algumas cargas de trabalho, esse máximo padrão pode não ser suficiente por vCPU. Por um valor extra, é possível ter mais memória por vCPU além do máximo padrão até o limite da série de máquinas, que é chamado de memória estendida. A tabela a seguir lista os limites de vCPU e memória estendida para cada série de máquinas compatível:
| Série de máquina | Limite de vCPU | Limite de memória |
|---|---|---|
| N4 | 80 | 640 GB |
| N4D | 96 | 768 GB |
| N4A | 64 | 512 GB |
| N2 | 80 | 864 GB |
| N2D | 96 | 768 GB |
| N1 | 96 | 624 GB |
Para proporções maiores de RAM para vCPU, consulte também os tipos de máquina com otimização de memória.
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. As cargas de trabalho baseadas em bancos de dados de análise de alto desempenho na memória, incluindo bancos de dados relacionais e NoSQL, como Microsoft SQL Server, MongoDB e Memcached ou Redis, estão nessa categoria. O licenciamento baseado em vCPU de sistemas operacionais e pilhas de software também torna mais difícil selecionar uma configuração de memória de VM ideal com tipos de máquina predefinidos. Ao usar memória estendida, adicione a memória que suas VMs precisarem para conseguir a melhor relação custo-benefício.
Criar uma VM com um tipo de máquina personalizado
Antes de criar uma instância de VM personalizada, leia as especificações personalizadas para criar esse tipo de máquina.Console
No console do Google Cloud , acesse a página Criar uma instância.
No painel Configuração da máquina, faça o seguinte:
- Selecione a Região e a Zona em que você quer hospedar a instância.
- Selecione a configuração da máquina para sua instância:
- Para criar uma VM personalizada de uso geral, selecione Uso geral e, na seção Série, selecione N4, N4A, N4D, N2, N2D, E2 ou N1.
- Para criar uma VM personalizada com GPUs anexadas, selecione GPUs e faça o seguinte:
- Na lista Tipo de GPU, selecione uma GPU para a série de máquinas
que você quer usar:
- Para VMs G2, selecione NVIDIA L4.
- Para VMs N1, selecione NVIDIA T4, NVIDIA V100 ou NVIDIA Tesla P4.
- Na lista Número de GPUs, selecione o número de GPUs.
- Na lista Tipo de GPU, selecione uma GPU para a série de máquinas
que você quer usar:
- Na seção Tipo de máquina, selecione Personalizado.
- Para especificar o número de vCPUs e a quantidade de memória da instância, arraste os controles deslizantes Núcleos e Memória ou insira os valores nos campos. O console mostra um custo estimado para a instância à medida que você altera o número de vCPUs e a quantidade de memória.
Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação da instância.
Para criar e iniciar a instância, clique em Criar.
gcloud
Crie um tipo de máquina personalizado usando o
comando
gcloud compute instances create com a
flag --machine-type:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB
Substitua:
INSTANCE_NAME: o nome da instância.ZONE: a zona em que você quer criar a instância.MACHINE_SERIES: a série de máquinas em letras minúsculas, comon4,n4d,n4a,n2,n2d,e2oug2. Para N1, omitaMACHINE_SERIES-e comece comcustom-.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um múltiplo inteiro de 256 MB (ou 1.024 MB para VMs G2).
Para criar uma VM G2 com 4 vCPUs e 19 GB de memória na zona
us-central1-a, execute o seguinte comando:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=g2-custom-4-19456 \
--maintenance-policy=TERMINATE
Para VMs G2, a memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. Para mais informações sobre como criar VMs G2, consulte Criar uma instância G2 ou G4.
O exemplo a seguir cria um tipo de máquina personalizado N2 com 48 vCPUs e
310 GB (317.440 MB) de memória na zona us-central1-a:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-48-317440
Para séries de máquinas compatíveis, como N4 ou N2, é possível configurar a memória estendida, que permite especificar uma quantidade maior de memória do que a proporção máxima padrão de memória para vCPUs. Para configurar a memória estendida, aumente o
valor de AMOUNT_OF_MEMORY_MB e anexe -ext ao
nome do tipo de máquina, por exemplo, --machine-type=n2-custom-48-720896-ext.
Como alternativa, é possível especificar um tipo de máquina personalizado usando as
sinalizações --custom-cpu, --custom-memory e --custom-vm-type (e
incluir a sinalização --custom-extensions se você estiver configurando a memória
estendida):
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--custom-cpu=NUMBER_OF_VCPUS \
--custom-memory=AMOUNT_OF_MEMORY \
--custom-vm-type=MACHINE_SERIES
Substitua:
INSTANCE_NAME: o nome da instância.ZONE: a zona em que você quer criar a instância.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY: a quantidade total de memória com um sufixo de unidade (MBouGB) ou em GB se você omitir a unidade.MACHINE_SERIES: a série de máquinas em letras minúsculas, comon4,n4d,n4a,n2,n2d,e2oun1.
O exemplo a seguir cria um tipo de máquina personalizado N2 com 48 vCPUs e
310 GB de memória usando as flags --custom-cpu, --custom-memory e
--custom-vm-type:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--custom-cpu=48 \
--custom-memory=317440MB \
--custom-vm-type=n2
Ao usar a flag --custom-memory, especifique a quantidade total de
memória em GB ou em MB. Os valores sem unidade precisam ser números inteiros. Para especificar
incrementos de 0,25 GB (256 MB) para a memória, converta a memória total
em um número inteiro em MB (--custom-memory=5888MB) ou inclua o sufixo de unidade
GB (--custom-memory=5.75GB).
Para tipos de máquina personalizados E2 com núcleo compartilhado, use o
comando
gcloud compute instances create e inclua o
tamanho da máquina com núcleo compartilhado (micro, small ou medium):
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=e2-custom-SHARED_CORE_SIZE-AMOUNT_OF_MEMORY_MB
Substitua:
INSTANCE_NAME: o nome da instância.ZONE: a zona em que você quer criar a instância.SHARED_CORE_SIZE: o tamanho do núcleo compartilhado E2 (micro,smalloumedium).AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um número inteiro múltiplo de 256 MB dentro do intervalo permitido para o tamanho do núcleo compartilhado.
O exemplo a seguir cria um tipo de máquina personalizado E2 de núcleo compartilhado small
com 0,5 vCPU e 2,25 GB (2.304 MB) de memória:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=e2-custom-small-2304
Terraform
Para gerar o código do Terraform, use o componente Código equivalente no console do Google Cloud .- No console do Google Cloud , acesse a página Instâncias de VM.
- Clique em Criar instância.
- Especifique os parâmetros desejados.
- Na parte superior ou inferior da página, clique em Código equivalente e, em seguida, clique na guia Terraform para ver o código do Terraform.
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
REST
Para criar uma instância com um tipo de máquina personalizado, chame o
método instances.insert
e especifique os
valores machineType
personalizados com memória em MB:
- Para a série de máquinas N1, omita o prefixo da série e comece com
custom-. - Para tipos de máquina com núcleo compartilhado E2, substitua a contagem de vCPUs por
micro,smalloumedium. - Para ativar a memória estendida, anexe
-extà string do tipo de máquina.
O exemplo a seguir cria um tipo de máquina personalizado N2 com 16 vCPUs e 105 GB (107.520 MB) de memória:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "example-instance",
"machineType": "zones/ZONE/machineTypes/n2-custom-16-107520",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "10",
"sourceImage": "projects/debian-cloud/global/images/family/debian-13"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
Substitua:
PROJECT_ID: o ID do projeto em que você quer criar a instância.ZONE: a zona em que você quer criar a instância.
Da mesma forma, é possível criar VMs spot e grupos gerenciados de instâncias (MIGs) com tipos de máquina personalizados.
Adicionar memória estendida durante a criação da instância
Para criar uma instância de VM com memória estendida, faça o seguinte:Console
No console do Google Cloud , acesse a página Criar uma instância.
No painel Configuração da máquina, faça o seguinte:
- Selecione a Região e a Zona em que você quer hospedar a VM.
- Selecione a configuração da máquina para sua instância:
- Para criar uma VM personalizada de uso geral, selecione Uso geral e, na seção Série, selecione N4, N4D, N4A, N2, N2D ou N1.
- Para criar uma VM personalizada N1 com GPUs anexadas, selecione GPUs e
faça o seguinte:
- Na lista Tipo de GPU, selecione NVIDIA T4, NVIDIA V100 ou NVIDIA Tesla P4.
- Na lista Número de GPUs, selecione o número de GPUs.
- Na seção Tipo de máquina, selecione Personalizado.
- Para especificar o número de vCPUs, arraste o controle deslizante Núcleos ou insira o valor no campo.
- Para adicionar memória estendida, selecione Estender memória. Para especificar a quantidade de memória do tipo de máquina, arraste o controle deslizante Memória ou insira o valor no campo. O console mostra um custo estimado para a VM à medida que você edita o número de vCPUs e a quantidade de memória.
Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação da instância.
Para criar e iniciar a VM, clique em Criar.
gcloud
Crie um tipo de máquina personalizado com memória estendida usando o
comando
gcloud compute instances create com a
flag --machine-type e o sufixo -ext:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Substitua:
INSTANCE_NAME: o nome da instância.ZONE: a zona em que você quer criar a instância.MACHINE_SERIES: a série de máquinas em letras minúsculas que oferece suporte à memória estendida, comon4,n4d,n4a,n2oun2d. Para N1, omitaMACHINE_SERIES-e comece comcustom-.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um número inteiro múltiplo de 256 MB.
O exemplo a seguir cria um tipo de máquina personalizado N2 com 2 vCPUs e
20 GB (20.480 MB) de memória estendida na zona us-central1-a:
gcloud compute instances create example-instance \
--zone=us-central1-a \
--machine-type=n2-custom-2-20480-ext
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
REST
Para criar uma instância com memória estendida, chame o
método instances.insert
e anexe -ext ao campo machineType para estender a memória até o
limite dessa série de máquinas:
zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext
Substitua:
ZONE: a zona em que você quer criar a instância.MACHINE_SERIES: a série de máquinas em letras minúsculas, comon4,n4d,n4a,n2oun2d. Para N1, omitaMACHINE_SERIES-e comece comcustom-.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um número inteiro múltiplo de 256 MB.
Por exemplo, o seguinte comando especifica um tipo de máquina N2 com 2 vCPUs e 20 GB (20.480 MB) de memória estendida:
zones/ZONE/machineTypes/n2-custom-2-20480-ext
Adicionar memória estendida a uma instância de VM atual
Para adicionar mais memória a uma instância atual que usa um tipo de máquina personalizado, primeiro interrompa a instância. Depois que a instância for interrompida, siga as etapas a seguir para adicionar mais memória à VM:Console
No console do Google Cloud , acesse a página Instâncias de VM.
Clique no nome da VM interrompida que você quer modificar.
Na parte superior da página, clique em Editar.
Na seção Configuração da máquina, verifique se Personalizado está selecionado em Tipo de máquina.
Para adicionar memória estendida, selecione Estender memória e especifique a quantidade de Memória necessária.
Clique em Salvar.
Para reiniciar a VM, na parte de cima da página, clique em Iniciar / Retomar.
gcloud
Interrompa a VM executando o comando
gcloud compute instances stop:gcloud compute instances stop INSTANCE_NAME \ --zone=ZONEAtualize o tipo de máquina personalizado com memória estendida executando o comando
gcloud compute instances set-machine-typecom as flags--custom-cpu,--custom-memory,--custom-vm-typee--custom-extensions:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --custom-cpu=NUMBER_OF_VCPUS \ --custom-memory=AMOUNT_OF_MEMORY \ --custom-vm-type=MACHINE_SERIES \ --custom-extensionsComo alternativa, é possível transmitir a string completa do tipo de máquina personalizado com o sufixo
-extpara a flag--machine-type:gcloud compute instances set-machine-type INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-extSubstitua:
INSTANCE_NAME: o nome da VM.ZONE: a zona em que a VM está.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY: a quantidade total de memória com um sufixo de unidade (MBouGB) ou em GB se você omitir a unidade.AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um número inteiro múltiplo de 256 MB.MACHINE_SERIES: a série de máquinas em letras minúsculas que oferece suporte à memória estendida, comon4,n4d,n4a,n2,n2doun1. Para N1 com a flag--machine-type, omitaMACHINE_SERIES-e comece comcustom-.
Reinicie a VM executando o comando
gcloud compute instances start:gcloud compute instances start INSTANCE_NAME \ --zone=ZONE
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Compute Engine: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Compute Engine.
Para autenticar-se no Compute Engine, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
REST
- Interrompa a VM chamando o
método
instances.stop. Atualize os recursos do tipo de máquina chamando o método
instances.setMachineTypee especificando o sufixo-extno campomachineType:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMachineType { "machineType": "zones/ZONE/machineTypes/MACHINE_SERIES-custom-NUMBER_OF_VCPUS-AMOUNT_OF_MEMORY_MB-ext" }Substitua:
PROJECT_ID: o ID do projeto que contém a VM.ZONE: a zona em que a VM está.INSTANCE_NAME: o nome da VM.MACHINE_SERIES: a série de máquinas em letras minúsculas, comon4,n4d,n4a,n2oun2d. Para N1, omitaMACHINE_SERIES-e comece comcustom-.NUMBER_OF_VCPUS: o número de vCPUs.AMOUNT_OF_MEMORY_MB: a quantidade total de memória em MB. Esse valor precisa ser um número inteiro múltiplo de 256 MB.
Reinicie a VM chamando o método
instances.start.
A seguir
- Saiba mais sobre famílias de máquinas.
- Após criar uma VM, consulte um tutorial para começar a usar uma instância de VM.
- Saiba como conectar-se à instância de VM.