En esta página, se describe cómo migrar una instancia de VM de una red a otra. En el caso de una VM que esté conectada a más de una red mediante varias 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 de VPC en el mismo proyecto
- De una red de VPC a otra red de VPC en el mismo proyecto
- De una subred de una red de VPC a otra subred de la misma red
- De una red de proyectos de servicio a la red compartida de un proyecto host de VPC compartida
En todos los casos, la VM permanece en la región y la zona donde antes estaba. Solo cambia la red conectada.
Antes de comenzar
- Lee la documentación sobre la nube privada virtual.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- La migración es una migración “en frío”. La VM debe detenerse antes de migrarse.
- La VM no debe estar en un grupo de instancias ni en un grupo de extremos de red (NEG).
- Si la VM está en un grupo de instancias no administrado o en un NEG, debes quitarla del grupo antes de migrarla.
- No se pueden migrar VM de grupos de instancias administrados. En su lugar, debes copiar tu plantilla de instancias a la nueva red y usarla para volver a compilar el grupo de instancias administrado.
- Puedes mover instancias en grupos de destino sin quitarlas primero. El grupo de destino se expande para abarcar ambas redes.
- No puedes 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 puede afectar los servicios que se asocian estrechamente con direcciones MAC, como el contrato de licencia de terceros.
- Si vas a migrar la VM a una red o subred con un rango de IP diferente, debes cambiar la dirección IP interna de tu instancia. Si migras a una subred con el mismo rango de IP, puedes conservar la dirección IP anterior si la especificas durante la migración, siempre y cuando no esté en uso en el destino.
- Si la subred de destino no tiene el mismo rango de IP que la fuente, la dirección IP de la interfaz cambia para que coincida con el nuevo rango de subred.
- Puedes conservar la dirección IP externa existente de la VM en la ubicación nueva. Para ello, debes tener el permiso
compute.subnetworks.useExternalIp
en la red de destino y esta última no puede tener direcciones IP externas inhabilitadas mediante la restricción constraints/compute.vmExternalIpAccess.. En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en el nombre de la instancia de VM para abrir la página de detalles.
Haz clic en Detener
.Si aparece un diálogo de confirmación, haz clic en Detener.
Después de que la VM se detenga, haz clic en Editar
.En Interfaces de red, haz clic en la interfaz que deseas mover.
En el campo Red de la interfaz, elige la red nueva para la interfaz.
En el campo Subred de la interfaz, elige la subred nueva para la interfaz.
En el campo Dirección IP interna, especifica Automática, si quieres que el sistema asigne una dirección IP del rango de subred, o Personalizada, si quieres especificar una que no esté en uso.
Haz clic en Listo para cerrar el panel de edición de la interfaz de red.
Haz clic en Guardar.
Cuando la VM termine de guardarse, haz clic en Iniciar
.Si aparece un diálogo de confirmación, haz clic en Iniciar.
Detén la VM
gcloud compute instances stop INSTANCE_NAME \ --zone=ZONE_NAME
donde
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Migra la VM
gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE_NAME \ --network-interface=NIC \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
donde
- 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ás actualizando. En una VM de una sola interfaz, el NIC es
nic0
. - NETWORK_NAME es el nombre de la red de destino. Si migras la VM de una red de proyecto de servicio a la red de un proyecto host, debes usar un nombre calificado 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 migras la VM de una red de proyecto de servicio a la red del proyecto host, debes usar un nombre calificado completo para la subred:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
Inicia la VM
La migración puede tardar unos minutos, así que espera antes de iniciar la VM en la nueva ubicación.
gcloud compute instances start INSTANCE_NAME \ --zone=ZONE_NAME
donde
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Detén la VM
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/stop
donde
- PROJECT_ID es el ID del proyecto.
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
Visualiza los detalles de la instancia.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME
donde
- PROJECT_ID es el ID del proyecto.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- INSTANCE_NAME es el nombre de la instancia de VM.
Busca la huella digital para la interfaz.
Necesitas la huella digital para actualizar la interfaz de red.
Examina el resultado del comando y busca el contenido del campo
networkInterfaces
. Busca el elemento con el nombre de la interfaz que deseas actualizar (en una VM de una sola interfaz, el nombre esnic0
). Copia la string en el campofingerprint
de este elemento para usarlo en el siguiente paso.Migra la VM
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 del 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ás actualizando. En una VM de una sola interfaz, el NIC es
nic0
. - NETWORK_NAME es el nombre de la red de destino. Si migras la VM de una red de proyecto de servicio a la red de un proyecto host, debes usar un nombre calificado 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 migras la VM de una red de proyecto de servicio a la red del proyecto host, debes usar un nombre calificado completo para la subred:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- IP_ADDRESS es la dirección IP interna que debe tener la instancia en la nueva ubicación. Si omites este campo, se asignará una opción a la interfaz de forma automática.
- FINGERPRINT es la huella digital que obtuviste en el paso anterior.
Inicia la VM
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/start
donde
- PROJECT_ID es el ID del proyecto.
- INSTANCE_NAME es el nombre de la instancia de VM.
- ZONE_NAME es el nombre de la zona que contiene la instancia.
- Conoce cómo trasladar una instancia entre zonas.
- Obtén información sobre la migración en vivo.
- Verifica 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Requisitos
Antes de trasladar la VM, debes cumplir con los siguientes requisitos:
Limitaciones
Migrar una VM
Antes de migrar una VM, revisa los requisitos y las limitaciones.
Google recomienda que crees las reglas de firewall, las rutas, los balanceadores de cargas y otros recursos de infraestructura de red necesarios en la red nueva antes de migrar tus VM. Esto puede acortar el tiempo en que las VM están sin conexión.
Console
gcloud
REST
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-