Esta página describe cómo migrar una instancia de VM de una red a otra. En el caso de una máquina virtual que está conectada a más de una red mediante múltiples interfaces de red, este proceso actualiza una de las interfaces y deja el resto en su lugar.
Se admiten las siguientes migraciones:
- De una red heredada a una red VPC en un mismo proyecto
- De una red VPC a otra red VPC en el mismo proyecto
- De una subred de una red VPC a otra subred de la misma red
- De la red de un proyecto de servicio a la red compartida de un proyecto de host de VPC compartida
En todos los casos, la VM permanece en la región y zona donde estaba antes. Sólo cambia la red adjunta.
Antes de comenzar
- Lea la documentación de la Nube Privada Virtual .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Se debe detener la máquina virtual. Para garantizar que el sistema operativo invitado en la máquina virtual pueda apagarse limpiamente antes de que se complete la operación de detención, opcionalmente puede habilitar el apagado ordenado en la máquina virtual .
- La VM no debe ser parte de un grupo de instancias ni de un grupo de puntos finales de red (NEG). Se aplican las siguientes condiciones:
- Si la VM forma parte de un grupo de instancias no administrado o NEG, debes eliminar la VM del grupo antes de migrarla.
- Si la VM forma parte de un grupo de instancias administrado (MIG), entonces no se puede migrar. En su lugar, cree un nuevo MIG utilizando una plantilla de instancia con diferentes propiedades de VM.
- Puede mover instancias en grupos de destino sin eliminarlas primero. El grupo de destino se expande para cubrir ambas redes.
- No puede migrar una interfaz de VM a una red heredada.
- La dirección MAC asignada a la interfaz de red cambiará durante la migración. Esto podría tener un impacto en los servicios estrechamente vinculados con direcciones MAC, como los acuerdos de licencia de terceros.
- Si está migrando la VM a una red o subred con un rango de IP diferente, la dirección IP interna de su instancia debe cambiar. Si está migrando a una subred con el mismo rango de IP, puede conservar la dirección IP anterior, siempre que no esté en uso en el destino, especificándola durante la migración.
- Si la subred de destino no tiene el mismo rango de IP que la de origen, entonces la dirección IP de la interfaz cambia para coincidir con el nuevo rango de subred.
- Puede mantener la dirección IP externa existente de la VM en la nueva ubicación. Para hacer esto, debe tener el permiso
compute.subnetworks.useExternalIp
en la red de destino, y la red de destino no puede tener direcciones IP externas deshabilitadas por la restricción constraints/compute.vmExternalIpAccess . En la consola de Google Cloud, vaya a la página de instancias de VM .
Haga clic en el nombre de la instancia de VM para abrir la página de detalles.
Haga clic en Detener
.Si aparece un cuadro de diálogo de confirmación, haga clic en Detener .
Después de que la máquina virtual se detenga, haga clic en Editar
.En Interfaces de red , haga clic en la interfaz que desea mover.
En el campo Red de la interfaz, seleccione la nueva red para la interfaz.
En el campo Subred de la interfaz, seleccione la nueva subred para la interfaz.
En el campo Dirección IP interna , especifique Automática si desea que el sistema asigne una dirección IP del rango de subred o Personalizada si desea especificar una dirección IP no utilizada usted mismo.
Haga clic en Listo para cerrar el panel de edición de la interfaz de red.
Haga clic en Guardar .
Una vez que la máquina virtual termine de guardarse, haga clic en Iniciar
.Si aparece un cuadro de diálogo de confirmación, haga clic en Iniciar .
Detener la máquina virtual
gcloud compute instances stop INSTANCE_NAME \ --zone=ZONE_NAME
dónde
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Migrar la máquina virtual
gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE_NAME \ --network-interface=NIC \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
dónde
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- NIC es el nombre de la interfaz que está actualizando. En una máquina virtual de interfaz única, la NIC es
nic0
. - NETWORK_NAME es el nombre de la red de destino. Si está migrando la máquina virtual desde una red de proyecto de servicio a la red de proyecto host, debe utilizar un nombre completo para la red de destino:
projects/ HOST_PROJECT_ID /global/networks/ NETWORK_NAME
- SUBNET_NAME es el nombre de la subred de destino. Esta subred debe estar en la misma región que la VM. Si está migrando la máquina virtual desde una red de proyecto de servicio a la red de proyecto host, debe usar un nombre completo para la subred:
projects/ HOST_PROJECT_ID /regions/ REGION /subnetworks/ SUBNET_NAME
Inicie la máquina virtual
La migración puede tardar unos minutos, así que espere antes de intentar iniciar la máquina virtual en la nueva ubicación.
gcloud compute instances start INSTANCE_NAME \ --zone=ZONE_NAME
dónde
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Detener la máquina virtual
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/stop
dónde
- PROJECT_ID es el ID de su proyecto.
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Ver detalles de la instancia.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME
dónde
- PROJECT_ID es el ID de su proyecto.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- INSTANCE_NAME es el nombre de la instancia de VM.
Busque la huella digital de la interfaz.
Necesita la huella digital para actualizar la interfaz de red.
Examine el resultado del comando y busque el contenido del campo
networkInterfaces
. Busque el elemento con el nombre de la interfaz que desea actualizar (en una máquina virtual de interfaz única, el nombre esnic0
). Copie la cadena en el campo defingerprint
en este elemento para usarla en el siguiente paso.Migrar la máquina virtual
PATCH https://compute.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 es el ID de su proyecto.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- INSTANCE_NAME es el nombre de la instancia de VM.
- NIC es el nombre de la interfaz que está actualizando. En una máquina virtual de interfaz única, la NIC es
nic0
. - NETWORK_NAME es el nombre de la red de destino. Si está migrando la máquina virtual desde una red de proyecto de servicio a la red de proyecto host, debe utilizar un nombre completo para la red de destino:
projects/ HOST_PROJECT_ID /global/networks/ NETWORK_NAME
- SUBNET_NAME es el nombre de la subred de destino. Esta subred debe estar en la misma región que la VM. Si está migrando la máquina virtual desde una red de proyecto de servicio a la red de proyecto host, debe usar un nombre completo para la subred:
projects/ HOST_PROJECT_ID /regions/ REGION /subnetworks/ SUBNET_NAME
- IP_ADDRESS es la dirección IP interna que desea que tenga la instancia en la nueva ubicación. Si omite este campo, a la interfaz se le asigna uno automáticamente.
- FINGERPRINT es la huella digital que obtuvo en el paso anterior.
Inicie la máquina virtual
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/start
dónde
- PROJECT_ID es el ID de su proyecto.
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- Aprenda cómo mover una instancia a otra zona .
- Obtenga más información sobre la migración en vivo .
- Verificar el estado de una VM.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Requisitos
Antes de migrar una máquina virtual, debe cumplir los siguientes requisitos:
Limitaciones
Migrar una máquina virtual
Antes de migrar una máquina virtual, revise los requisitos y limitaciones .
Google recomienda que cree las reglas de firewall, rutas, balanceadores de carga y otros recursos de infraestructura de red necesarios en la nueva red antes de migrar sus máquinas virtuales. Hacerlo puede acortar el tiempo que sus máquinas virtuales están fuera de línea.
Para migrar una VM, seleccione una de las siguientes opciones:
Consola
nube de gcloud
DESCANSAR
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-