Instanzen anhalten und starten

Auf dieser Seite wird das Anhalten und Starten von VM-Instanzen beschrieben. Weitere Informationen zum Anhalten einer Instanz finden Sie in den Erläuterungen zum Instanzlebenszyklus.

Sie können eine Instanz vorübergehend anhalten, wenn Sie sie nicht mehr benötigen, und sie später neu starten. Eine angehaltene Instanz behält ihren nichtflüchtigen Speicher, ihre internen IP-Adressen und ihre MAC-Adressen bei. Die Instanz fährt jedoch das Gastbetriebssystem herunter und verliert ihren Anwendungsstatus. Im Wesentlichen kehrt eine angehaltene Instanz zum Power-on-Zustand ohne gespeicherte Daten zurück. Halten Sie eine Instanz an, wenn Sie den Maschinentyp ändern, angehängte Festplatten hinzufügen oder entfernen, die minimale CPU-Plattform ändern, GPUs hinzufügen oder entfernen oder Größenempfehlungen anwenden möchten.

Das Anhalten einer Instanz veranlasst Compute Engine, das ACPI Power Off-Signal zur Instanz zu senden. Moderne Gastbetriebssysteme sind so konfiguriert, dass sie einen sauberen Shutdown durchführen, bevor sie sich in Reaktion auf das Abschaltsignal ausschalten. Compute Engine wartet eine kurze Zeit, damit das Gastsystem vollständig heruntergefahren werden kann, und versetzt die Instanz dann in den TERMINATED-Status.

Eine angehaltene Instanz verursacht keine Kosten, aber alle Ressourcen, die an diese Instanz angehängt sind, werden weiterhin in Rechnung gestellt. Beispielsweise werden nichtflüchtige Speicher und externe IP-Adressen gemäß der Preisliste weiterhin in Rechnung gestellt, selbst wenn die Instanz angehalten wurde. Um keine weiteren Kosten für die angehängten Ressourcen zu verursachen, können Sie eine angehaltene Instanz so neu konfigurieren, dass sie diese Ressourcen nicht mehr verwendet, und anschließend die Ressourcen löschen.

Hinweise

Beschränkungen

Sie können eine Instanz mit einer angehängten lokalen SSD nicht anhalten. Das Herunterfahren einer Instanz aus dem Gastbetriebssystem heraus wird von Compute Engine nicht verhindert, wenn die Instanz über eine lokale SSD verfügt. Treffen Sie daher zusätzliche Vorsichtsmaßnahmen.

Lokale SSDs

Sie können keine Instanz anhalten, der eine lokale SSD angehängt ist. In diesem Fall müssen Sie die kritischen Daten von der SSD zu einem nichtflüchtigen Speicher oder einer anderen Instanz migrieren, bevor Sie die Instanz vollständig löschen. Das Herunterfahren des Gastbetriebssystems einer Instanz mit einer lokalen SSD wird von Compute Engine nicht verhindert. Ergreifen Sie daher zusätzliche Vorsichtsmaßnahmen für das Herunterfahren von Gastbetriebssystemen auf Ihren Instanzen.

Abrechnung

Google stellt keine VM-Ressourcen in Rechnung, sobald sich die VMs im Status TERMINATED befinden.

Wenn eine VM im Zustand RUNNING ist und gerade angehalten wird (aber noch nicht TERMINATED ist), werden von Google vCPUs, Arbeitsspeicher, GPUs und die lokale SSD-Nutzung in Rechnung gestellt. Sobald der Zustand STOPPING endet und die VM in den Zustand TERMINATED wechselt, beendet Google die Abrechnung der oben genannten Ressourcen.

Beachten Sie, dass für andere Ressourcen, die noch an eine VM im Zustand TERMINATED angehängt sind, weiterhin Gebühren anfallen, wie etwa nichtflüchtige Speicher, statische externe IP-Adressen usw.

Weitere Informationen zu Instanzzuständen finden Sie in der Dokumentation zum Instanzlebenszyklus.

Instanz anhalten

Sie können eine Instanz über die Google Cloud Platform Console, das gcloud-Tool oder die API anhalten.

Console

  1. Gehen Sie in der GCP Console zur Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Wählen Sie eine oder mehrere Instanzen aus, die Sie anhalten möchten.
  3. Klicken Sie oben auf der Seite VM-Instanzen auf Stopp.

gcloud

Verwenden Sie den instances stop-Befehl und geben Sie eine oder mehrere Instanzen an, die Sie anhalten möchten.

gcloud compute instances stop example-instance-1 example-instance-2

API

Stellen Sie in der API eine POST-Anfrage, um die Instanz anzuhalten.

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/stop

Eine Instanz im TERMINATED-Status existiert immer noch mit ihren Konfigurationseinstellungen und Instanz-Metadaten, verliert jedoch ihre im Speicher befindlichen Daten und den Status der virtuellen Maschine. Die Ressourcen, die der angehaltenen Instanz noch angehängt sind, bleiben auch so lange angehängt, bis Sie die Ressourcen manuell trennen oder die Instanz löschen.

Sobald der Status der Instanz TERMINATED ist, können Sie die Instanz neu starten oder die Instanz löschen. Sie können eine Instanz auch für unbegrenzte Zeit im Status TERMINATED belassen. Wenn Sie die Instanz jedoch nicht wieder neu starten möchten, sollten Sie sie lieber löschen.

Instanzen über das Betriebssystem anhalten

Sie haben auch die Möglichkeit, eine Instanz über das Gastbetriebssystem anzuhalten.

Linux

Verwenden Sie die Befehle sudo shutdown -h now oder sudo poweroff. Führen Sie einen dieser Befehle aus, während Sie bei der VM angemeldet sind:

me@example-instance:~$ sudo shutdown -h now
me@example-instance:~$ sudo poweroff

Windows

Sie können eine Windows-Instanz ähnlich wie mit dem oben angegebenen Befehl sudo reboot auch über das Startmenü neu starten. Klicken Sie im Startmenü auf den Pfeil neben Herunterfahren und Abmelden und dann auf Neu starten.

Angehaltene Instanzen starten

Verwenden Sie zum Starten einer angehaltenen Instanz die Methode instances().start. Dadurch wird eine angehaltene VM-Instanz gestartet, die sich derzeit im Zustand TERMINATED befindet.

Die Methode start startet eine Instanz mit dem Status TERMINATED neu, wohingegen Methoden wie reset() und sudo reboot nur bei laufenden Instanzen funktionieren. Die meisten Instanzen können neu gestartet werden, solange sich die Instanz im Zustand TERMINATED befindet, mit Ausnahme von Instanzen mit lokalen SSDs, die nicht neu gestartet werden können.

Console

  1. Gehen Sie in der Konsole der Google Cloud Platform auf die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Wählen Sie die Instanzen aus, die Sie neu starten möchten.
  3. Klicken Sie oben rechts auf der Seite auf die Schaltfläche Starten, um die Instanz neu zu starten.

gcloud

Um eine Instanz mit gcloud compute zurückzusetzen:

gcloud compute instances start example-instance

API

Stellen Sie in der API eine POST-Anfrage an den folgenden URI und passen Sie die Bezeichnung des Projekts, der Zone und der Instanz entsprechend an:

https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/start

Um Ihre Instanz mithilfe der Client-Bibliotheken zurückzusetzen, müssen Sie mithilfe der instances().start-Methode eine Anfrage stellen:

def restartInstance(auth_http, gce_service):
  request = gce_service.instances().start(project="myproject", zone="us-central1-a", instance="example-instance")
  response = request.execute(auth_http)

  print response

Weitere Informationen zu dieser Methode finden Sie in der Referenzdokumentation zu instances().start.

Instanzen mit verschlüsselten Laufwerken neu starten

Wenn die Instanz, die Sie neu starten möchten, vom Kunden bereitgestellte Verschlüsselungsschlüssel verwendet, müssen Sie diese Schlüssel angeben, wenn Sie versuchen, die Instanz neu zu starten.

Console

  1. Gehen Sie zur Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die Sie starten möchten. Dadurch wird die Seite mit den Instanzdetails geöffnet.
  3. Klicken Sie auf Starten. Geben Sie im folgenden Fenster Verschlüsselungsschlüssel für die Geräte an, die an diese Instanz angehängt sind.
  4. Geben Sie Verschlüsselungsschlüssel für alle verschlüsselten Laufwerke an, die an diese Instanz angehängt sind.
  5. Klicken Sie nun auf Starten, um die Instanz zu starten.

gcloud

Stellen Sie den Schlüssel mit dem Flag --csek-key-file sowie den Namen des Laufwerks bereit, wenn Sie die Instanz starten. Wenn Sie einen mit RSA verpackten Schlüssel verwenden, nutzen Sie die Komponente gcloud beta:

gcloud compute instances start [INSTANCE_NAME] \
  --csek-key-file [ENCRYPTION_KEY]

Dabei gilt Folgendes:

  • [INSTANCE_NAME] ist der Name der Instanz.
  • [ENCRYPTION_KEY] ist der Verschlüsselungsschlüssel, mit dem Sie nichtflüchtige Speicher verschlüsseln, die an die Instanz angehängt sind.

API

Konstruieren Sie in der API einen POST-Request, um die Instanz mit einem Verschlüsselungsschlüssel zu starten. Wenn Sie einen mit RSA verpackten Schlüssel verwenden, senden Sie Ihren Request an die Beta API statt an die v1 API.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/startWithEncryptionKey
{
  "instanceEncryptionKey": {
    "rsaEncryptedKey": "[ENCRYPTION_KEY]"
  },
  "disk": [
    {
       "source": "[DISK_NAME]",
       "diskEncryptionKey": {
         "rsaEncryptedKey": "[ENCRYPTION_KEY]"
       }
    }
  ]
}

Dabei gilt Folgendes:

  • [INSTANCE_NAME] ist der Name der Instanz.
  • [PROJECT_ID] ist Ihre Projekt-ID.
  • [ZONE] ist die Zone dieser Instanz.
  • [MACHINE_TYPE] ist der Maschinentyp der Instanz.
  • [DISK_NAME] ist das angehängte Laufwerk, das mit einem vom Kunden bereitgestellten Verschlüsselungsschlüssel verschlüsselt wurde.
  • [ENCRYPTION_KEY] ist der Verschlüsselungsschlüssel, mit dem Sie nichtflüchtige Speicher verschlüsseln, die an die Instanz angehängt sind.

Eine Instanz zurücksetzen

Das Zurücksetzen einer Instanz ist vergleichbar mit dem Zurücksetzen eines Computers durch Drücken der Reset-Taste oder Drücken und längeres Halten der Ein/Aus-Taste. Durch das Zurücksetzen einer Instanz wird das Löschen des Speicherinhalts der Maschine erzwungen und die VM in ihren Ausgangszustand zurückgesetzt. Die Instanz fährt das Gastbetriebssystem nicht ordnungsgemäß herunter. Während dieses Vorgangs bleibt die Instanz im Status RUNNING.

Beim Zurücksetzen einer Instanz wird keines ihrer Attribute geändert. Die Instanz behält ihre sitzungsspezifische IP-Adresse, ihren nichtflüchtigen Speicher, ihren Maschinentyp etc. bei. Dabei werden allerdings alle im Arbeitsspeicher vorhandenen Daten gelöscht, es sei denn, Sie sichern die Daten.

Sie können eine ausgeführte Instanz mit der Schaltfläche Zurücksetzen in der GCP Console, dem Befehl instances reset in gcloud oder einer POST-Anfrage in der API zurücksetzen.

Console

  1. Gehen Sie in der Konsole der Google Cloud Platform auf die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf das Kästchen neben der oder den Instanzen, die Sie zurücksetzen möchten.
  3. Klicken Sie am rechten oberen Seitenrand auf die Schaltfläche Zurücksetzen, um die Instanzen zurückzusetzen.

gcloud

Um eine Instanz mit gcloud compute zurückzusetzen:

gcloud compute instances reset example-instance

API

Stellen Sie in der API eine POST-Anfrage an den folgenden URI und passen Sie die Bezeichnung des Projekts, der Zone und der Instanz entsprechend an:

https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/reset

Um Ihre Instanz mithilfe der Client-Bibliotheken zurückzusetzen, müssen Sie eine Anfrage mithilfe der instances().reset-Methode stellen:

def resetInstance(auth_http, gce_service):
  request = gce_service.instances().reset(project="myproject", zone="us-central1-a", instance="example-instance")
  response = request.execute(auth_http)

  print response

Weitere Informationen zu dieser Methode finden Sie in der Referenzdokumentation zu instances().reset.

Nach der Ausführung des Befehls reset wird der nachfolgende zonale Vorgang als DONE zurückgegeben, wenn die Instanz vollständig heruntergefahren wurde und der Neustart begonnen hat.

Andere Neustartmethoden

Alternativ können Sie die Instanz mit den folgenden Methoden zurücksetzen:

  • sudo reboot (nur unter Linux): Kann innerhalb der Instanz aufgerufen werden. Löscht den Arbeitsspeicher und initialisiert die Instanz mit den Metadaten, den nichtflüchtigen Speichern und dem Image im ursprünglichen Zustand neu. Dadurch werden keine aktualisierten Versionen des Images eingeholt und die Instanz behält die gleiche sitzungsspezifische IP-Adresse bei. Diese Methode ist vergleichbar mit einem Neustart eines Computers.
  • gcloud compute instances delete gefolgt von gcloud compute instances create: Bei dieser Methode handelt es sich um einen destruktiven Neustart, bei dem die Instanz mit den im Befehl gcloud compute instances create enthaltenen Informationen initialisiert wird. Sie können anschließend etwaige neue Images oder andere Ressourcen auswählen, die Sie verwenden möchten. Die neu gestartete Instanz hat wahrscheinlich eine andere IP-Adresse. Bei dieser Methode erfolgt möglicherweise ein Wechsel der physischen Maschine, auf der die Instanz gehostet wird.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation