Se a VM não tiver um SSD local e não fizer parte de um grupo de instâncias gerenciadas (MIG, na sigla em inglês), será possível alterar otipo de máquina da VM após pará-la.
Se o tipo de máquina atual não for adequado para as cargas de trabalho executadas na VM, altere o tipo de máquina dessa VM. É possível fazer isso para ajustar o número de vCPUs e memória à medida que a carga de trabalho muda. Por exemplo, é possível iniciar uma VM com uma máquina menor durante a instalação, o desenvolvimento e o teste, e alterar a VM para usar um tipo de máquina maior quando você estiver pronto para cargas de trabalho de produção.
Para VMs que não têm um SSD local e não fazem parte de um MIG, é possível alterar o tipo de máquina sem afetar os seguintes recursos:
- Chaves SSH da VM
- As configurações da VM, como metadados
- Os dados de disco permanente da VM, incluindo aplicativos instalados e dados do aplicativo
Se precisar alterar o tipo de máquina de VMs em um MIG, consulte Aplicar automaticamente as atualizações de configuração de VM em um MIG.
Antes de começar
- Entenda como interromper uma VM.
- Entenda os tipos de máquina.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da 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 da seguinte maneira.
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.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
- Se a VM tiver um SSD local, não será possível alterar o tipo de máquina da VM.
- Se a VM usar um endereço IP externo temporário, há uma possibilidade de que o endereço IP mude quando você modificar o tipo de máquina da VM. Para preservar o endereço IP, promova-o a um endereço IP externo estático.
- Não é possível alterar o tipo de máquina de uma VM para algumas configurações:
- Se você quiser usar as CPUs de última geração da família de máquinas, consulte Mover sua VM para uma série de máquinas de terceira geração.
- Se você quiser alterar o tipo de máquina para um tipo de máquina Arm, consulte Migrar a carga de trabalho de uma VM atual para uma nova VM.
- Use as etapas neste documento para mudar o tipo de máquina para aqueles otimizados para aceleradores G2. Para outros tipos de máquina otimizados para aceleradores, consulte Modificar VMs otimizadas para aceleradores.
Implicações no faturamento
Cada tipo de máquina é faturado com uma taxa diferente, por isso entenda as implicações de preços da alteração dos tipos de máquina. Por exemplo, um tipo de máquina e2-standard-2
custa mais do que um tipo de máquina e2-micro
.
Alterar um tipo de máquina também pode afetar os descontos por uso prolongado para essa VM. Os descontos por uso prolongado são calculados separadamente para categorias diferentes na mesma região. Se você alterar os tipos de máquina para que o novo tipo de máquina esteja em uma categoria diferente, o ambiente de execução subsequente da instância de máquina virtual será computado para o desconto de uso prolongado da nova categoria.
Por exemplo, suponha que você tenha uma VM com o tipo de máquina n2-standard-2
em execução por meio mês. Você decide alterar o tipo de máquina para m1-ultramem-40
. Depois que você fizer essa alteração, o Compute Engine começará a contar o ambiente de execução da instância de máquina virtual para o desconto por uso prolongado da vCPU e da categoria de memória.
Na sua fatura, você veria um desconto de uso prolongado aplicado ao
tipo de máquina n2-standard-2
de antes de você fazer a alteração do tipo de máquina e
um desconto de uso prolongado separado para m1-ultramem-40
, se sua instância permanecer
em execução em m1-ultramem-40
por pelo menos 25% do restante do mês.
Práticas recomendadas
Veja algumas práticas recomendadas para ajudar você a alterar o tipo de máquina da VM.
Faça backups regulares dos dados do disco permanente usando snapshots. Crie um snapshot dos dados de discos permanentes antes de alterar o tipo de máquina. Se você quiser ter certeza de que o novo tipo de máquina é capaz de aceitar os dados na VM existente, é possível capturar um snapshot do disco permanente e usá-lo para iniciar uma segunda VM com o novo tipo de máquina para confirmar se a VM foi iniciada com sucesso.
Adicione mais discos permanentes ao arquivo
/etc/fstab
. Se você tiver outros discos permanentes anexados à sua VM, verifique se eles foram adicionados ao arquivo/etc/fstab
para que sejam montados automaticamente quando a VM for reinicializada.Crie uma reserva antes de alterar o tipo de máquina. Para evitar erros relacionados à disponibilidade de recursos, crie Reservas do Compute Engine para os novos tipos de máquina quando estão disponíveis para reservá-los em uma zona. As reservas ajudam a garantir que os recursos estejam disponíveis quando você precisa deles.
Para criar uma reserva, siga estas etapas:
Crie uma reserva (ou identifique reservas existentes) com propriedades idênticas às VMs planejadas. A contagem de VMs da reserva precisa ser igual ou maior do que o número de VMs que você quer mudar. Se quiser evitar que outras VMs consumam essa reserva, use a opção
specificReservationRequired
.Verifique se as VMs planejadas poderão consumir a reserva:
- Verifique se as VMs desejadas têm a afinidade de reserva correta.
- Imediatamente antes de alterar as VMs, verifique se a reserva tem capacidade suficiente.
Alterar um tipo de máquina
Só é possível alterar o tipo de máquina de uma instância interrompida. Uma VM é considerada interrompida somente quando a VM está no estadoTERMINATED
. Não
é possível alterar o tipo de máquina de uma instância em execução.
Se você estiver atualizando seu tipo de máquina para a última geração, consulte Mover sua VM para uma série de máquinas de terceira geração antes de prosseguir.
Permissões exigidas para a tarefa
Para executar esta tarefa, é preciso ter a permissão a seguir:
compute.instances.setMachineType
na VM
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna Nome, clique no nome da instância para a qual você quer alterar o tipo de máquina.
Na página Detalhes da instância, siga estas etapas:
- Se a VM estiver em execução, selecione Parar no menu na parte de cima da página.
- Para editar a VM, clique em Editar.
Na seção Configuração da máquina, selecione o tipo de máquina que você quer usar ou crie um tipo de máquina personalizado.
Para salvar as alterações, clique em Save.
Reinicie a VM.
gcloud
Interrompa a VM usando o comando
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Substitua
VM_NAME
pela VM que contém o tipo de máquina a ser alterado.Altere o tipo de máquina usando o comando
gcloud compute instances set-machine-type
:gcloud compute instances set-machine-type VM_NAME \ --machine-type NEW_MACHINE_TYPE
Substitua
NEW_MACHINE_TYPE
pelo novo tipo de máquina para a VM. O tipo de máquina pode ser um dos seguintes:Um tipo de máquina predefinido.
Por exemplo:
e2-standard-2
Um tipo de máquina personalizado
Por exemplo, é possível especificar
--machine-type e2-custom-4-2048
para definir um tipo de máquina personalizado que tenha 4 vCPUs e 2 GB de memória.
Interrompa a VM usando o comando
gcloud compute instances start
:gcloud compute instances start VM_NAME
Substitua
VM_NAME
pelo nome da VM alterada.
Java
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Pare a VM usando o método
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Substitua:
PROJECT_ID
: o ID do projetoZONE
: a zona que contém a VMVM_NAME
: a instância que contém o tipo de máquina a ser alterado.
Altere o tipo de máquina usando o método
instances.setMachineType
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
No corpo da solicitação, forneça o
machineType
atualizado:{ machineType: "zones/MACHINE_TYPE_ZONE/machineTypes/NEW_MACHINE_TYPE" }
Substitua:
MACHINE_TYPE_ZONE
: a zona que contém o tipo de máquina.NEW_MACHINE_TYPE
: o novo tipo de máquina para a instância.O tipo de máquina pode ser um dos seguintes:
Um tipo de máquina predefinido.
Por exemplo:
e2-standard-2
Um tipo de máquina personalizado
Por exemplo, é possível especificar
--machine-type e2-custom-4-2048
para definir um tipo de máquina personalizado que tenha 4 vCPUs e 2 GB de memória.
Pare a VM usando o método
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Substitua:
PROJECT_ID
: o ID do projetoZONE
: a zona que contém a VMVM_NAME
: o nome da VM que você alterou.
Migrar para um tipo de máquina menor
Se você mudar de um tipo de máquina com mais recursos para um tipo de máquina com menos recursos, como mover de um tipo de máquina e2-standard-8
para um e2-standard-2
, é possível ter problemas de recursos de hardware ou limitações de desempenho porque os tipos de máquinas menores são menos eficientes do que os tipos de máquinas maiores. Verifique se o novo tipo de máquina é compatível com os aplicativos ou serviços que estão sendo executados na instância ou se você atualizou os serviços e aplicativos para que eles sejam executados em tipos de máquinas menores.
Analise as recomendações de redimensionamento antes de alterar o tipo de máquina. Para informações sobre recomendações de dimensionamento do Compute Engine, consulte Como aplicar recomendações de tipo de máquina para instâncias de VM.
Mover a VM para uma série de máquinas de terceira geração
Quando os requisitos são atendidos, é possível modificar a VM para usar um tipo de máquina em uma série de máquinas de nova geração alterando o tipo de máquina, por exemplo, de m1-ultramem-160
para m3-ultramem-128
.
Os tipos de máquina de terceira geração e os tipos de máquina Arm T2A podem não oferecer suporte aos mesmos recursos e interfaces do tipo de máquina atual. Antes de iniciar o processo de migração, revise os requisitos e as considerações em Preparar-se para migrar para uma nova VM.
Para alterar o tipo de máquina da instância de VM para um tipo de máquina de terceira geração, use uma das abordagens a seguir.
Criar uma nova instância de VM e mover a carga de trabalho
Neste procedimento, você cria uma nova instância de VM e move a carga de trabalho para a nova VM.
Para detalhes sobre como concluir esse procedimento, consulte Migrar a carga de trabalho de uma VM atual para uma nova VM.
Alterar o tipo de máquina para um tipo novo
Neste procedimento, você verifica se a instância de VM atual pode ser atualizada para usar o novo tipo de máquina e, em seguida, altera o tipo de máquina.
Verifique se a instância de VM atual usa uma versão do sistema operacional compatível com o novo tipo de máquina. Se a versão não for compatível, siga as instruções em Mover a carga de trabalho de uma VM atual para uma nova.
Se você quiser alterar o tipo de máquina da VM para um tipo T2A, siga as instruções em Mover sua carga de trabalho de uma VM existente para uma nova.
Se a VM atual tiver um SSD local anexado, siga as instruções em Mover a carga de trabalho de uma VM atual para uma nova.
Verifique se os aplicativos e programas são compatíveis com uma rede ou interface de armazenamento diferente, como gVNIC ou NVMe.
- Para atualizar a instância para usar a gVNIC, consulte Como usar a NIC virtual do Google e Alocações de fila e alteração do tipo de máquina.
- Para se preparar para usar a interface e os drivers do NVMe, consulte Como escolher uma interface.
- Se a VM usar o Microsoft Windows, primeiro substitua o driver NVME nas VMs criadas antes de maio de 2022. Isso se aplica ao disco de inicialização em uma VM atual e a qualquer snapshot ou imagem personalizada usada para criar VMs.
Consulte as práticas recomendadas para alterar o tipo de máquina de uma VM.
Siga o procedimento descrito em Alterar um tipo de máquina.
A seguir
- Saiba mais sobre recomendações de tipos de máquinas.
- Saiba mais sobre grupos de instâncias gerenciadas.
- Saiba mais sobre padrões de apps escalonáveis e resilientes.