In diesem Dokument wird beschrieben, wie Sie Compute Engine-Instanzen anhalten oder fortsetzen. Weitere Informationen zum Pausieren, Beenden oder Zurücksetzen von Instanzen finden Sie unter Compute Engine-Instanzen pausieren, beenden oder zurücksetzen.
Wenn Sie Ihre Compute Engine-Instanz behalten, aber nicht in Rechnung stellen möchten, wenn sie nicht verwendet wird, können Sie die Instanz anhalten. Wenn Sie eine Instanz anhalten, wird die Instanz beibehalten und der Inhalt des Arbeitsspeichers der Instanz wird in den Speicher migriert. Nach dem Fortsetzen der Instanz migriert die Compute Engine den Arbeitsspeicher der Instanz aus dem Speicher zurück zur Instanz und die Instanz wird wieder ausgeführt.
Das Anhalten einer Compute Engine-Instanz ist in folgenden Fällen sinnvoll:
Entwicklungs- und Testumgebungen, die zu bestimmten Zeiten (z. B. abends oder am Wochenende) nicht vollständig genutzt werden. So lassen sich Kosten sparen und VM-Instanzen können schneller initialisiert werden, als die Erstellung neuer Instanzen dauern würde.
Anwendungen, die nach dem Starten der Instanz erst einmal lange initialisiert werden müssen, bevor die Anwendung zur Verarbeitung ihrer ersten Anfrage bereit ist. Beispiele für solche Anwendungen sind virtuelle Entwickler-Workstations oder komplexe Java-Anwendungen.
Hinweise
-
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.
- 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.
- 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.
- 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.
- 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.
- 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.
-
So halten Sie eine Instanz an:
compute.instances.suspend
-
So setzen Sie eine Instanz fort:
compute.instances.resume
Sie können eine Instanz nur anhalten, wenn das Gastbetriebssystem dies unterstützt. Weitere Informationen finden Sie unter Details zu Betriebssystemen.
Sie können eine Instanz, die Debian 8 oder 9 als Gastbetriebssystem verwendet, nur anhalten, wenn Sie das Betriebssystem konfigurieren, bevor Sie die VM anhalten.
Sie können eine Instanz nur bis zu 60 Tage lang anhalten, bevor die Compute Engine ihren Status automatisch in
TERMINATED
ändert.Sie können Spot-VMs oder Instanzen auf Abruf anhalten. Wenn die Compute Engine die Instanz jedoch vor Abschluss des Anhaltevorgangs vorzeitig beendet, beendet die Compute Engine den Anhaltevorgang und beendet die Instanzen vorzeitig.
Sie können Instanzen mit angehängten GPUs nicht anhalten.
Bare-Metal-Instanzen können nicht angehalten werden.
Sie können Confidential VMs nicht anhalten.
Sie können Instanzen nicht mithilfe der Standardprozesse anhalten, die in die Gastumgebung eingebunden sind. Befehle wie
systemctl suspend
in Ubuntu 16.04 oder höher werden nicht unterstützt. Wenn diese Funktion aufgerufen wird, ignoriert Compute Engine das Gastsignal.Sie können Instanzen mit mehr als 208 GB Arbeitsspeicher nicht anhalten.
Sie können keine Instanzen anhalten, an die CSEK-geschützte Laufwerke angehängt sind.
Empfohlen: ACPID konfigurieren
Stellen Sie eine Verbindung zu Ihrer Linux-Instanz her, falls Sie das noch nicht getan haben.
Erstellen Sie den Ordner
events
im Ordneracpi
:sudo mkdir -p /etc/acpi/events/
Konfigurieren Sie ACPID so, dass das Schaltflächenereignis für den Ruhemodus verarbeitet wird:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
Erstellen Sie das Skript zur Verarbeitung von Ruhemodusereignissen:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
Legen Sie die Berechtigungen für das Skript fest:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Starten Sie ACPID neu, damit die Änderungen wirksam werden:
sudo systemctl restart acpid.service
Stellen Sie eine Verbindung zu Ihrer Linux-Instanz her, falls Sie das noch nicht getan haben.
Installieren Sie D-Bus:
sudo apt-get install dbus
Starten Sie
logind
neu, damit die Änderungen wirksam werden:sudo systemctl restart systemd-logind.service
Wenn an Ihrer Instanz keine lokalen SSDs angeschlossen sind, lesen Sie den Hilfeartikel Instanz ohne lokale SSDs anhalten.
Wenn Ihrer Instanz lokale SSDs zugeordnet sind und Sie die lokalen SSD-Daten der Laufwerke entweder verwerfen oder beibehalten (Vorschau) möchten, lesen Sie den Hilfeartikel Instanz mit lokalen SSDs anhalten.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wählen Sie eine oder mehrere Instanzen aus, die angehalten werden sollen.
Klicken Sie auf
Sperren und dann zum Bestätigen auf Sperren.INSTANCE_NAMES
: eine durch Leerzeichen getrennte Liste von Instanzennamen, z. B.instance-01 instance-02 instance-03
.ZONE
: die Zone, in der sich die Instanzen befinden.PROJECT_ID
: die ID des Projekts, in dem sich die Instanz befindet.ZONE
: die Zone, in der sich die Instanz befindet.INSTANCE_NAME
: der Name der Instanz.Wenn Sie die Daten der an eine Instanz angeschlossenen lokalen SSDs beibehalten möchten, halten Sie die Instanz mit der gcloud CLI oder der REST API an.
Wenn Sie mehrere Instanzen gleichzeitig anhalten möchten, verwenden Sie die Google Cloud Console oder, bei Instanzen in derselben Zone, die gcloud CLI.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wählen Sie eine oder mehrere Instanzen aus, die angehalten werden sollen.
Klicken Sie auf
Sperren und dann zum Bestätigen auf Sperren.Verwenden Sie den Befehl
gcloud compute instances suspend
mit dem Flag--discard-local-ssd=true
, um lokale SSD-Daten zu verwerfen:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE
Wenn Sie lokale SSD-Daten beibehalten möchten, verwenden Sie den Befehl
gcloud beta compute instances suspend
mit dem Flag--discard-local-ssd=false
:gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
INSTANCE_NAMES
: eine durch Leerzeichen getrennte Liste von Instanzennamen, z. B.instance-01 instance-02 instance-03
.ZONE
: die Zone, in der sich die Instanzen befinden.Wenn Sie lokale SSD-Daten verwerfen möchten, senden Sie eine
POST
-Anfrage an die Methodeinstances.suspend
. Fügen Sie in der Anfrage-URL den AbfrageparameterdiscardLocalSsd
ein, wobei dieser auftrue
gesetzt ist:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=true
Wenn Sie lokale SSD-Daten beibehalten möchten, senden Sie eine
POST
-Anfrage an diebeta.instances.suspend
-Methode. Fügen Sie in der Anfrage-URL den AbfrageparameterdiscardLocalSsd
ein, wobei dieser auffalse
gesetzt ist:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
PROJECT_ID
: die ID des Projekts, in dem sich die Instanz befindet.ZONE
: die Zone, in der sich die Instanz befindet.INSTANCE_NAME
: der Name der Instanz.Sie können eine Instanz nur dann fortsetzen, wenn in der Zone, in der sich die Instanz befindet, genügend Kapazität vorhanden ist. Das ist in der Regel kein Problem. Wenn Sie Probleme haben, eine Instanz fortzusetzen, versuchen Sie es später noch einmal.
Wenn Sie lokale SSD-Laufwerke an die Instanz angehängt und beim Anhalten die Option zum Beibehalten lokaler SSD-Daten ausgewählt haben, müssen Sie die lokalen SSD-Laufwerke möglicherweise nach dem Fortsetzen neu bereitstellen. Weitere Informationen zum erneuten Bereitstellen von nicht bootfähigen Laufwerken in Linux-Instanzen oder Windows-Instanzen
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wählen Sie eine oder mehrere angehaltene Instanzen aus, die fortgesetzt werden sollen.
Klicken Sie auf
Starten / Fortsetzen und dann auf Starten.INSTANCE_NAMES
: eine durch Leerzeichen getrennte Liste von Instanzennamen, z. B.instance-01 instance-02 instance-03
.ZONE
: Die Zone, in der sich die gesperrten Instanzen befinden.INSTANCE_NAME
: der Name der angehaltenen Instanz, die fortgesetzt werden soll.PROJECT_ID
: Die ID des Projekts, in dem sich die gesperrte Instanz befindet.ZONE
: die Zone, in der sich die gesperrte Instanz befindet.
Go
Wenn Sie die Go Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Java
Wenn Sie die Java Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Node.js
Wenn Sie die Node.js Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
PHP
Wenn Sie die PHP Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
Python
Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
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.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (v1) (
roles/compute.instanceAdmin.v1
) für die Instanz zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Pausieren oder Fortsetzen einer Compute-Instanz benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die zum Pausieren oder Fortsetzen einer Compute-Instanz erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Compute-Instanz zu pausieren oder fortzusetzen:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Beschränkungen
Beim Pausieren einer Compute-Instanz gelten die folgenden Einschränkungen:
Suspend-Vorgänge in Debian 8 oder 9 aktivieren
Wenn auf einer Compute-Instanz Debian 8 und 9 als Gastbetriebssystem ausgeführt wird, müssen Sie die Funktionen „Anhalten“ und „Fortsetzen“ aktivieren, bevor Sie die Instanz anhalten. Gehen Sie dazu so vor:
ACPID konfigurieren
Wenn Sie den Ruhemodus und die Wiederaufnahme in Debian 8 oder 9 aktivieren möchten, können Sie den Advanced Configuration and Power Interface events Daemon (ACPID) so konfigurieren, dass er das Schaltflächenereignis für den Ruhemodus verarbeitet. Nachdem Sie das Schaltflächenereignis für den Ruhemodus aktiviert haben, können Sie wie in diesem Abschnitt beschrieben ein Shell-Script für die Verarbeitung des Ruhemodusereignisses hinzufügen.
So konfigurieren Sie die ACPID für die Unterstützung von Anhalten und Fortsetzen:
D-Bus installieren
Wenn Sie die Funktionen „Anhalten“ und „Fortsetzen“ in Debian 8 oder 9 aktivieren möchten, können Sie D-Bus installieren.
So installieren Sie D-Bus im Gastbetriebssystem Ihrer Compute-Instanz, wenn das Betriebssystem Debian 8 oder 9 verwendet:
Instanz anhalten
Wenn das Gastbetriebssystem Ihrer Compute-Instanz Debian 8 oder 9 verwendet, müssen Sie es vor dem Aussetzen der Instanz so konfigurieren, dass es die Aussetzung und Fortführung von Vorgängen wie in diesem Dokument beschrieben unterstützt.
Je nachdem, ob an der Instanz lokale SSDs angehängt sind, können Sie eine der folgenden Methoden verwenden, um sie zu sperren:
Instanz ohne lokale SSDs anhalten
Sie können mehrere Compute-Instanzen gleichzeitig oder einzelne Instanzen pausieren. Verwenden Sie für mehrere Instanzen die Google Cloud Console oder für Instanzen in derselben Zone die Google Cloud CLI. Wählen Sie für einzelne Instanzen eine der folgenden Optionen aus:
Console
gcloud
Wenn Sie eine oder mehrere Instanzen in einer einzelnen Zone sperren möchten, verwenden Sie den Befehl
gcloud compute instances suspend
:gcloud compute instances suspend INSTANCE_NAMES \ --zone=ZONE
Ersetzen Sie Folgendes:
Go
Java
Node.js
PHP
Python
REST
Wenn Sie eine Instanz pausieren möchten, senden Sie eine
POST
-Anfrage an die Methodeinstances.suspend
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
Ersetzen Sie Folgendes:
Instanz mit lokalen SSD-Laufwerken anhalten
Gehen Sie je nachdem, wie viele Compute-Instanzen Sie gleichzeitig anhalten möchten und ob Sie die Daten der angehängten lokalen SSDs beibehalten möchten, so vor:
Wenn Sie eine oder mehrere Instanzen mit angehängten lokalen SSDs anhalten möchten, wählen Sie eine der folgenden Optionen aus:
Console
gcloud
Wenn Sie eine oder mehrere Instanzen in einer einzelnen Zone anhalten, an die lokale SSDs angehängt sind, können Sie angeben, ob die Daten auf den lokalen SSDs verworfen oder beibehalten werden sollen:
Ersetzen Sie Folgendes:
REST
Wenn Sie eine Instanz mit angehängten lokalen SSDs anhalten, können Sie angeben, ob die Daten auf den lokalen SSDs verworfen oder beibehalten werden sollen. Gehen Sie dazu so vor:
Ersetzen Sie Folgendes:
Eine angehaltene Instanz fortsetzen
Beachten Sie Folgendes, bevor Sie eine ausgesetzte Compute-Instanz fortsetzen:
Sie können mehrere oder einzelne Instanzen gleichzeitig fortsetzen. Verwenden Sie für mehrere Instanzen die Google Cloud Console oder für Instanzen in derselben Zone die gcloud CLI. Wählen Sie für einzelne Instanzen eine der folgenden Optionen aus:
Console
gcloud
Wenn Sie eine oder mehrere angehaltene Instanzen in einer einzelnen Zone fortsetzen möchten, verwenden Sie den Befehl
gcloud compute instances resume
:gcloud compute instances resume INSTANCE_NAMES \ --zone=ZONE
Ersetzen Sie Folgendes:
Go
Java
Node.js
PHP
Python
REST
Wenn Sie eine angehaltene Instanz fortsetzen möchten, senden Sie eine
POST
-Anfrage an die Methodeinstances.resume
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
Ersetzen Sie Folgendes:
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).
-