Nesta página, você verá como migrar uma instância de VM de uma rede para outra. No caso de uma VM conectada a mais de uma rede e que usa várias interfaces de rede, esse processo atualiza uma das interfaces e deixa o restante no lugar.
As migrações a seguir são compatíveis:
- Da rede legada para uma rede VPC no mesmo projeto
- De uma rede VPC para outra no mesmo projeto
- De uma sub-rede de uma rede VPC para outra da mesma rede
- De uma rede de projetos de serviço para a rede compartilhada de um projeto host de VPC compartilhada
Em todos os casos, a VM permanece na região e na zona em que estava antes. Somente a rede anexada é alterada.
Antes de começar
- Leia a documentação da nuvem privada virtual.
-
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.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- A migração precisa ser "fria". A VM precisa ser interrompida antes de ser migrada.
- A VM não pode estar em um grupo de instâncias ou de endpoints da rede (NEG, na sigla em inglês).
- Se a VM estiver em um grupo de instâncias ou NEG não gerenciado, será necessário removê-la do grupo antes da migração.
- As VMs nos grupos gerenciados de instâncias não podem ser migradas. Em vez disso, é necessário copiar o modelo de instância para a nova rede e usá-lo para recriar o grupo de instâncias gerenciadas.
- É possível mover instâncias em pools de destino sem removê-las primeiro. O pool de destino se expande para cobrir as duas redes.
- Não é possível migrar uma interface de VM para uma rede legada.
- O endereço MAC alocado à interface de rede será alterado durante a migração. Isso pode afetar os serviços fortemente acoplados a endereços MAC, como o contrato de licença de terceiros.
- Se você estiver migrando a VM para uma rede ou sub-rede com um intervalo de IP diferente, o endereço IP interno da instância precisará ser alterado. Se você estiver migrando para uma sub-rede com o mesmo intervalo de IP, poderá manter o endereço IP antigo especificando-o durante a migração, desde que ainda não esteja em uso no destino.
- Se a sub-rede de destino não tiver o mesmo intervalo de IP da origem, o endereço IP da interface será alterado para corresponder ao novo intervalo de sub-rede.
- É possível manter o endereço IP externo atual da VM no novo local. Para isso,
é necessário ter a permissão
compute.subnetworks.useExternalIp
na rede de destino, e os endereços IP externos dela não podem estar desativados pela restrição constraints/compute.vmExternalIpAccess. No console do Google Cloud, acesse a página Instâncias de VMs.
Clique no nome da instância de VM para abrir a página de detalhes.
Clique em Interromper
.Se uma caixa de diálogo de confirmação aparecer, clique em Parar.
Depois que a VM for interrompida, clique em Editar
.Em Interfaces de rede, clique na interface que você quer mover.
No campo Rede da interface, selecione a nova rede para a interface.
No campo Sub-rede da interface, selecione a nova sub-rede para a interface.
No campo Endereço IP interno, especifique Automático se quiser que o sistema aloque um endereço IP do intervalo de sub-redes ou Personalizado, se você quer especificar um não utilizado.
Clique em Concluído para fechar o painel de edição da interface de rede.
Clique em Salvar.
Depois que a VM terminar de salvar, clique em Iniciar
.Se uma caixa de diálogo de confirmação aparecer, clique em Iniciar.
Pare a VM
gcloud compute instances stop INSTANCE_NAME \ --zone=ZONE_NAME
em que
- INSTANCE_NAME é o nome da instância de VM;
- ZONE_NAME é o nome da zona que contém a instância.
Migre a VM
gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE_NAME \ --network-interface=NIC \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
em que
- INSTANCE_NAME é o nome da instância de VM;
- ZONE_NAME é o nome da zona que contém a instância;
- NIC é o nome da interface que você está atualizando. Em uma
VM de interface única, o NIC é
nic0
; - NETWORK_NAME é o nome da rede de destino. Se você estiver
migrando a VM de uma rede de projetos de serviço para a de projeto
de host, use um nome totalmente qualificado para a rede de destino:
projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
; - SUBNET_NAME é o nome da sub-rede de destino. Essa sub-rede
precisa estar na mesma região da VM. Se estiver migrando a VM
de uma rede de projeto de serviço para a rede do projeto host,
use um nome totalmente qualificado para a sub-rede:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
.
Inicie a VM
A migração pode levar alguns minutos. Portanto, aguarde para tentar iniciar a VM no novo local.
gcloud compute instances start INSTANCE_NAME \ --zone=ZONE_NAME
em que
- INSTANCE_NAME é o nome da instância de VM;
- ZONE_NAME é o nome da zona que contém a instância.
Pare a VM
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/stop
em que
- PROJECT_ID é o ID do projeto;
- INSTANCE_NAME é o nome da instância de VM;
- ZONE_NAME é o nome da zona que contém a instância.
Ver detalhes da instância.
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME
em que
- PROJECT_ID é o ID do projeto.
- ZONE_NAME é o nome da zona que contém a instância;
- INSTANCE_NAME é o nome da instância de VM;
Encontre a impressão digital da interface.
A impressão digital é necessária para atualizar a interface da rede.
Examine a saída do comando e encontre o conteúdo do campo
networkInterfaces
. Encontre o item com o nome da interface que você quer atualizar. Em uma VM de interface única, o nome énic0
. Copie a string no campofingerprint
deste item para usar na próxima etapa.Migre a VM
PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/updateNetworkInterface?networkInterface=NIC { "network": NETWORK_NAME, "subnetwork": SUBNET_NAME, "networkIP": IP_ADDRESS, "name": NIC, "fingerprint": FINGERPRINT }
- PROJECT_ID é o ID do projeto;
- ZONE_NAME é o nome da zona que contém a instância;
- INSTANCE_NAME é o nome da instância de VM;
- NIC é o nome da interface que você está atualizando. Em uma
VM de interface única, o NIC é
nic0
; - NETWORK_NAME é o nome da rede de destino. Se você estiver
migrando a VM de uma rede de projetos de serviço para a de projeto
de host, use um nome totalmente qualificado para a rede de destino:
projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
; - SUBNET_NAME é o nome da sub-rede de destino. Essa sub-rede
precisa estar na mesma região da VM. Se estiver migrando a VM
de uma rede de projeto de serviço para a rede do projeto host,
use um nome totalmente qualificado para a sub-rede:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
; - IP_ADDRESS é o endereço IP interno que você quer que a instância tenha no novo local. Se você omitir esse campo, a interface receberá um automaticamente;
- FINGERPRINT é a impressão digital que você recebeu na etapa anterior.
Inicie a VM
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/start
em que
- PROJECT_ID é o ID do projeto;
- INSTANCE_NAME é o nome da instância de VM;
- ZONE_NAME é o nome da zona que contém a instância.
- Saiba como mover uma instância para outra zona.
- Saiba mais sobre a migração em tempo real.
- Verificar o status de uma VM.
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.
Requisitos
Para mover a VM, ela precisa atender aos requisitos a seguir:
Limitações
Como migrar uma VM
Antes de migrar uma VM, consulte os requisitos e as limitações.
O Google recomenda criar regras de firewall, rotas, balanceadores de carga e outros recursos de infraestrutura de rede necessários na nova rede antes de migrar as VMs. Isso pode diminuir o tempo em que elas ficam off-line.
Console
gcloud
REST
A seguir
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-11-23 UTC.
-