Versehentliche VM-Löschung verhindern

In diesem Dokument wird beschrieben, wie Sie bestimmte VM-Instanzen vor dem Löschen schützen, indem Sie die deletionProtection-Eigenschaft für eine Instanzressource festlegen. Weitere Informationen zu VM-Instanzen finden Sie in der Dokumentation zu Instanzen.

Ihre Arbeitslast kann bestimmte VM-Instanzen enthalten, die für die Ausführung Ihrer Anwendung oder Dienste wichtig sind, z. B. eine Instanz, auf der ein SQL-Server ausgeführt wird, ein Server, der als Lizenzmanager verwendet wird, und so weiter. Diese VM-Instanzen müssen möglicherweise auf unbestimmte Zeit ausgeführt werden, damit Sie diese VMs vor dem Löschen schützen können.

Durch Setzen des deletionProtection-Flags kann eine VM-Instanz vor versehentlichem Löschen geschützt werden. Wenn ein Nutzer versucht, eine VM-Instanz zu löschen, für die Sie das deletionProtection-Flag gesetzt haben, schlägt die Anforderung fehl. Nur ein Nutzer, dem eine Rolle mit der compute.instances.create-Berechtigung erteilt wurde, kann das Flag zurücksetzen, damit die Ressource gelöscht werden kann.

Vorbereitung

Spezifikationen

  • Durch den Löschschutz werden die folgenden Aktionen nicht verhindert:

  • Der Löschschutz kann sowohl auf normale VMs als auch auf präemptive VMs angewendet werden.

  • Der Löschschutz kann nicht auf VMs angewendet werden, die Teil einer verwalteten Instanzgruppe sind, kann aber auf Instanzen angewendet werden, die Teil von nicht verwalteten Instanzgruppen sind.

  • Der Löschschutz kann nicht in Instanzvorlagen festgelegt werden.

Berechtigungen

Zum Ausführen dieser Aufgabe benötigen Sie die folgenden Berechtigungen ODER eine der folgenden IAM-Rollen für die Ressource.

Berechtigungen

  • compute.instances.create

Rollen

  • compute.admin
  • compute.instanceAdmin.v1

Löschschutz während der Instanzerstellung festlegen

Standardmäßig ist der Löschschutz für Ihre Instanz deaktiviert. Aktivieren Sie den Löschschutz mithilfe der folgenden Anweisungen.

Konsole

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

    Zur Seite "VM-Instanzen"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Klicken Sie auf Instanz erstellen.
  4. Erweitern Sie den Abschnitt Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  5. Klicken Sie unter Management das Kästchen Enable deletion protection (Löschschutz aktivieren) an.

    Screenshot des Kästchens für VM-Löschung

  6. Fahren Sie mit dem VM-Erstellungsprozess fort.

gcloud

Verwenden Sie beim Erstellen einer VM-Instanz entweder das Flag --deletion-protection oder das Flag no-deletion-protection. Der Löschschutz ist standardmäßig deaktiviert. Aktivieren Sie den Löschschutz wie im Folgenden beschrieben:

gcloud compute instances create [INSTANCE_NAME] --deletion-protection

Dabei steht [INSTANCE_NAME] für den Namen der gewünschten Instanz.

So deaktivieren Sie den Löschschutz während der Erstellung:

gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection

API

Fügen Sie in der API beim Erstellen einer VM-Instanz das Attribut deletionProtection in den Anfragetext ein. Beispiel:

POST https://www.googleapis.com/v1/compute/projects/[PROJECT_ID]/zones/[ZONE]/instances

{
  "name": "[INSTANCE_NAME]",
  "deletionProtection": "true",
  ...
}

Um den Löschschutz zu deaktivieren, setzen Sie deletionProtection auf false.

Löschschutz für vorhandene Instanzen umschalten

Sie können den Löschschutz für eine vorhandene Instanz unabhängig vom aktuellen Status der Instanz umschalten. Insbesondere müssen Sie die Instanz nicht stoppen, bevor Sie den Löschschutz aktivieren oder deaktivieren können.

Konsole

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

    Gehen Sie auf die Seite "VM-Instanzen"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Klicken Sie auf den Namen der Instanz, für die Sie den Löschschutz aktivieren bzw. deaktivieren möchten. Die Seite mit den Instanzdetails wird angezeigt.
  4. Führen Sie auf der Seite mit den Instanzdetails folgende Schritte aus:

    1. Klicken Sie oben auf der Seite auf Bearbeiten.
    2. Klicken Sie unter Löschschutz auf das Kästchen, um den Löschschutz zu aktivieren, oder entfernen Sie das Häkchen, um ihn zu deaktivieren.

      Screenshot des Kästchens für VM-Löschung

    3. Speichern Sie die Änderungen.

gcloud

Führen Sie den Befehl update mithilfe des gcloud-Tools mit dem --deletion-protection- oder --no-deletion-protection-Flag aus:

gcloud compute instances update [INSTANCE_NAME] \
    [--deletion-protection | --no-deletion-protection]

Geben Sie z. B. das Folgende ein, um den Löschschutz für eine Instanz namens example-vm zu deaktivieren:

gcloud compute instances update example-vm --deletion-protection

API

Senden Sie in der API eine POST-Anfrage an die setDeletionProtection-Methode mit dem Abfrageparameter delectionProtection. Beispiel:

POST https://www.googleapis.com/v1/compute/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true

Um den Löschschutz zu deaktivieren, setzen Sie deletionProtection auf "false". Geben Sie bei der Anfrage keinen Anfragetext an.

Ermitteln, ob für eine Instanz Löschschutz aktiviert ist

Sie können feststellen, ob im gcloud tool oder in der API der Löschschutz für eine Instanz aktiviert ist.

Konsole

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

    Gehen Sie auf die Seite "VM-Instanzen"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
  3. Öffnen Sie auf der Seite VM-Instanzen das Menü Spalten und aktivieren Sie Deletion protection (Löschschutz).

    Screenshot der VM-Löschoption

  4. Eine neue Spalte wird mit dem Löschschutzsymbol angezeigt. Wenn auf einer VM der Löschschutz aktiviert ist, wird das Symbol neben dem Instanznamen angezeigt.

gcloud

Führen Sie im gcloud-Tool den instances describe-Befehl aus und suchen Sie nach dem Feld für den Löschschutz. Beispiel:

gcloud compute instances describe example-instance | grep "deletionProtection"

Das Tool gibt den Wert der deletionProtection-Eigenschaft zurück, die entweder auf true oder false festgelegt ist:

deletionProtection: false

API

Geben Sie in der API eine GET-Anfrage ein und suchen Sie nach dem Feld deletionProtection:

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]

Weitere Informationen

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

Feedback geben zu...

Compute Engine-Dokumentation