Se a instância de máquina virtual (VM) não tiver um SSD local anexado e não fizer parte de um grupo de instâncias gerenciadas (MIG, na sigla em inglês), será possível mudar o tipo de máquina da instância depois de interrompê-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. Por exemplo, é possível iniciar uma VM com um tipo de 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.
Use esse procedimento nas seguintes situações:
- Para mudar para um tipo de máquina semelhante, mas com um número diferente de vCPUs ou
memória na mesma série de máquinas, por exemplo:
- Você pode mudar
n2-highcpu-4
paran2-standard-4
. - Você pode mudar
c3d-standard-30
parac3d-highmem-30
.
- Você pode mudar
- Ao mudar o tipo de máquina para usar uma série diferente.
Isso é compatível apenas com
séries de máquinas de primeira e segunda geração,
excluindo as séries de máquinas T2A e A2. Por exemplo:
- Você pode mudar
n2-standard-4
parac2-standard-8
. - Você pode mudar de
n1-highmem-4
paran2d-standard-16
.
- Você pode mudar
Se você quiser alterar o tipo de máquina de uma VM que usa uma séries de máquinas de primeira ou segunda geração (N1, N2, M1 etc.) a um tipo de máquina para uma série de máquinas de terceira geração ou posterior (M3, C3, N4 etc.), é preciso usar o procedimento documentado em Mover a carga de trabalho para uma nova instância da computação.
É 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 no Persistent Disk ou Hyperdisk anexado, incluindo aplicativos instalados e dados de aplicativos
Para mudar 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 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.
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.
Funções exigidas
Para ter as permissões necessárias para alterar o tipo de máquina de uma VM, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) -
Para se conectar a uma VM que pode ser executada como uma conta de serviço:
Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos têm as permissões necessárias para alterar o tipo de máquina de uma VM. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para alterar o tipo de máquina de uma VM:
-
compute.instances.setMachineType
na VM -
compute.instances.start
na VM -
compute.instances.stop
na VM
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
- Se a instância de computação tiver um ou mais SSDs locais, não será possível mudar o tipo de máquina da instância.
- Se a instância da computação 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 instância. Para preservar o endereço IP, promova-o a um endereço IP externo estático antes de mudar o tipo de máquina.
- A alteração do tipo de máquina de uma instância de computação não está disponível para algumas configurações:
- Não é possível alterar o tipo de máquina em instâncias bare metal.
- Se você quiser alterar o tipo de máquina de série de máquinas de primeira ou segunda geração para um tipo de máquinas de terceira geração ou posteriores, não é possível usar este procedimento. Em vez disso, siga as instruções em Mover a carga de trabalho para uma nova instância da computação.
- Se quiser mudar o tipo de máquina para Arm, não será possível usar este procedimento. Em vez disso, siga as instruções em Mover a carga de trabalho para uma nova instância da computação.
- 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áquinae2-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 param1-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 param1-ultramem-40
, se sua instância permanecer em execução emm1-ultramem-40
por pelo menos 25% do restante do mês.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 ume2-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 VM atual 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.
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 ao arquivo
/etc/fstab
. Se você tiver outros discos 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 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 VM em execução.Se você estiver fazendo upgrade do seu tipo de máquina para a geração mais recente, consulte Avaliar as opções de migração de VM antes de continuar.
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.
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.
- Para atualizar uma VM de primeira ou segunda geração para usar uma séries de máquinas de terceira geração ou posteriores, consulte Mover a carga de trabalho para uma nova instância da computação.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.