Auf dieser Seite wird beschrieben, wie Sie eine VM-Instanz von einem Netzwerk zu einem anderen Netzwerk migrieren. Wenn eine VM über mehrere Netzwerkschnittstellen mit mehr als einem Netzwerk verbunden ist, wird bei diesem Vorgang eine der Schnittstellen aktualisiert und der Rest bleibt unverändert.
Die folgenden Migrationen werden unterstützt:
- Vom Legacy-Netzwerk zu einem VPC-Netzwerk im selben Projekt
- Von einem VPC-Netzwerk zu einem anderen VPC-Netzwerk im selben Projekt
- Von einem Subnetz eines VPC-Netzwerks zu einem anderen Subnetz desselben Netzwerks
- Vom Netzwerk eines Dienstprojekts zum freigegebenen Netzwerk eines freigegebenen VPC-Hostprojekts
In allen Fällen verbleibt die VM in derselben Region und Zone. Nur das angehängte Netzwerk ändert sich.
Hinweise
- Lesen Sie die Dokumentation zu Virtual Private Cloud.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
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.
- Die Migration ist eine "kalte" Migration. Die VM muss beendet sein, bevor sie migriert werden kann.
- Die VM darf sich nicht in einer Instanzgruppe oder einer Netzwerk-Endpunktgruppe (NEG) befinden.
- Befindet sich die VM in einer nicht verwalteten Instanzgruppe oder NEG, müssen Sie sie vor der Migration aus der Gruppe entfernen.
- VMs in verwalteten Instanzgruppen können nicht migriert werden. Stattdessen müssen Sie Ihre Instanzvorlage in das neue Netzwerk kopieren und sie zum Neuerstellen der verwalteten Instanzgruppe verwenden.
- Sie können Instanzen in Zielpools verschieben, ohne sie vorher zu entfernen. Der Zielpool wird auf beide Netzwerke erweitert.
- Sie können eine VM-Schnittstelle nicht zu einem Legacy-Netzwerk migrieren.
- Die MAC-Adresse, die der Netzwerkschnittstelle zugewiesen ist, ändert sich während der Migration. Dies kann sich auf Dienste auswirken, die eng an MAC-Adressen gekoppelt sind, z. B. eine Lizenzvereinbarung mit Drittanbietern.
- Wenn Sie die VM in ein Netzwerk oder Subnetz mit einem anderen IP-Bereich migrieren, muss sich die interne IP-Adresse der Instanz ändern. Wenn Sie zu einem Subnetz mit demselben IP-Bereich migrieren, können Sie die alte IP-Adresse beibehalten, solange sie nicht bereits am Ziel verwendet wird. Dazu geben Sie diese bei der Migration an.
- Wenn das Zielsubnetz nicht denselben IP-Bereich wie die Quelle hat, ändert sich die IP-Adresse der Schnittstelle entsprechend dem neuen Subnetzbereich.
- Sie können die vorhandene externe IP-Adresse der VM am neuen Standort beibehalten. Dazu benötigen Sie die Berechtigung
compute.subnetworks.useExternalIp
für das Zielnetzwerk. Außerdem darf das Zielnetzwerk keine externen IP-Adressen haben, die aufgrund der Einschränkung constraints/compute.vmExternalIpAccess deaktiviert sind. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM-Instanz, um die Detailseite zu öffnen.
Klicken Sie auf Beenden
.Klicken Sie auf Beenden, falls ein Bestätigungsdialogfeld angezeigt wird.
Klicken Sie nach dem Beenden der VM auf Bearbeiten
.Klicken Sie unter Netzwerkschnittstellen auf die Schnittstelle, die Sie verschieben möchten.
Wählen Sie im Feld Netzwerk der Schnittstelle das neue Netzwerk für die Schnittstelle aus.
Wählen Sie im Feld Subnetzwerk der Schnittstelle das neue Subnetz für die Schnittstelle aus.
Geben Sie im Feld Interne IP-Adresse die Option Automatisch an, falls das System eine IP-Adresse aus dem Subnetzbereich zuweisen soll, oder Benutzerdefiniert, falls Sie selbst eine nicht verwendete angeben möchten.
Klicken Sie auf Fertig, um das Bearbeitungsfeld für die Netzwerkschnittstelle zu schließen.
Klicken Sie auf Speichern.
Klicken Sie nach dem Speichern der VM auf Starten
.Klicken Sie auf Starten, falls ein Bestätigungsdialogfeld angezeigt wird.
Beenden Sie die VM.
gcloud compute instances stop INSTANCE_NAME \ --zone=ZONE_NAME
Wobei Folgendes gilt:
- INSTANCE_NAME ist der Name der VM-Instanz.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
Migrieren Sie die VM.
gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE_NAME \ --network-interface=NIC \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
Wobei Folgendes gilt:
- INSTANCE_NAME ist der Name der VM-Instanz.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
- NIC ist der Name der Schnittstelle, die Sie aktualisieren. In einer VM mit einer einzigen Schnittstelle ist NIC gleich
nic0
. - NETWORK_NAME ist der Name des Zielnetzwerks. Wenn Sie die VM vom Netzwerk eines Dienstprojekts zum Netzwerk des Hostprojekts migrieren, müssen Sie einen voll qualifizierten Namen für das Zielnetzwerk verwenden:
projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
- SUBNET_NAME ist der Name des Zielsubnetzes. Dieses Subnetz muss sich in derselben Region wie die VM befinden. Wenn Sie die VM vom Netzwerk eines Dienstprojekts zum Netzwerk des Hostprojekts migrieren, müssen Sie einen voll qualifizierten Namen für das Subnetz verwenden:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
Starten Sie die VM.
Die Migration kann einige Minuten dauern. Warten Sie daher etwas, bevor Sie versuchen, die VM am neuen Standort zu starten.
gcloud compute instances start INSTANCE_NAME \ --zone=ZONE_NAME
Wobei Folgendes gilt:
- INSTANCE_NAME ist der Name der VM-Instanz.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
Beenden Sie die VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/stop
Wobei Folgendes gilt:
- PROJECT_ID ist die Projekt-ID.
- INSTANCE_NAME ist der Name der VM-Instanz.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
Rufen Sie Details zur Instanz auf.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME
Wobei Folgendes gilt:
- PROJECT_ID ist die Projekt-ID.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
- INSTANCE_NAME ist der Name der VM-Instanz.
Suchen Sie den Fingerabdruck für die Schnittstelle.
Sie benötigen den Fingerabdruck, um die Netzwerkschnittstelle zu aktualisieren.
Sehen Sie sich die Ausgabe des Befehls an und suchen Sie nach dem Inhalt des Felds
networkInterfaces
. Suchen Sie das Element mit dem Namen der Schnittstelle, die Sie aktualisieren möchten (in einer VM mit einer einzigen Schnittstelle lautet der Namenic0
). Kopieren Sie den String aus dem Feldfingerprint
in diesem Element, um ihn im nächsten Schritt zu verwenden.Migrieren Sie die 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 ist die Projekt-ID.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
- INSTANCE_NAME ist der Name der VM-Instanz.
- NIC ist der Name der Schnittstelle, die Sie aktualisieren. In einer VM mit einer einzigen Schnittstelle ist NIC gleich
nic0
. - NETWORK_NAME ist der Name des Zielnetzwerks. Wenn Sie die VM vom Netzwerk eines Dienstprojekts zum Netzwerk des Hostprojekts migrieren, müssen Sie einen voll qualifizierten Namen für das Zielnetzwerk verwenden:
projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
- SUBNET_NAME ist der Name des Zielsubnetzes. Dieses Subnetz muss sich in derselben Region wie die VM befinden. Wenn Sie die VM vom Netzwerk eines Dienstprojekts zum Netzwerk des Hostprojekts migrieren, müssen Sie einen voll qualifizierten Namen für das Subnetz verwenden:
projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
- IP_ADDRESS ist die interne IP-Adresse, die die Instanz am neuen Standort haben soll. Wenn Sie dieses Feld weglassen, wird der Schnittstelle automatisch eine interne IP-Adresse zugewiesen.
- FINGERPRINT ist der Fingerabdruck, den Sie im vorherigen Schritt erhalten haben.
Starten Sie die VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances/INSTANCE_NAME/start
Wobei Folgendes gilt:
- PROJECT_ID ist die Projekt-ID.
- INSTANCE_NAME ist der Name der VM-Instanz.
- ZONE_NAME ist der Name der Zone, die die Instanz enthält.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Voraussetzungen
Bevor Sie die VM verschieben, muss sie die folgenden Anforderungen erfüllen:
Beschränkungen
VM migrieren
Prüfen Sie vor der Migration einer VM die Anforderungen und Einschränkungen.
Google empfiehlt, dass Sie vor der Migration Ihrer VMs im neuen Netzwerk alle erforderlichen Firewallregeln, Routen, Load-Balancer und anderen Netzwerkinfrastrukturressourcen erstellen. Dies kann dazu beitragen, die Ausfallzeit Ihrer VMs zu verkürzen.
Console
gcloud
REST
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-22 (UTC).
-