In diesem Dokument wird beschrieben, wie Sie bestimmte VM-Instanzen vor dem Löschen schützen. Legen Sie dazu das Attribut deletionProtection für eine Instanzressource fest. 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 unbegrenzt laufen. Sie müssen also in der Lage sein, zu verhindern, dass diese VMs gelöscht werden.
Mit dem Flag deletionProtection 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 Flag deletionProtection gesetzt haben, schlägt die Anforderung fehl. Nur ein Nutzer, dem eine Rolle mit der Berechtigung compute.instances.create erteilt wurde, kann das Flag zurücksetzen, damit die Ressource gelöscht werden kann.
Hinweise
- Lesen Sie die Dokumentation zu Instanzen.
-
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 so bei Compute Engine authentifizieren:
Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, müssen Sie das nicht tun.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Spezifikationen
Durch den Löschschutz werden die folgenden Aktionen nicht verhindert:
- Instanz innerhalb der VM beenden (z. B. durch Ausführen des Befehls
shutdown) - Instanz beenden
- Instanz zurücksetzen
- Instanz anhalten
- Instanzentfernung durch Google aufgrund von Betrug und Missbrauch
- Instanzen werden aufgrund eines Projektabschlusses entfernt
- Instanz innerhalb der VM beenden (z. B. durch Ausführen des Befehls
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.admincompute.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.
Console
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Maximieren Sie den Abschnitt Erweiterte Optionen und tun Sie Folgendes:
- Maximieren Sie den Bereich Verwaltung.
- Klicken Sie das Kästchen Löschschutz aktivieren an.
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
Go
Java
Node.js
Python
REST
Fügen Sie in der API beim Erstellen einer VM-Instanz das Attribut deletionProtection in den Anfragetext ein. Beispiel:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
{
"name": "[INSTANCE_NAME]",
"deletionProtection": "true",
...
}
Um den Löschschutz zu deaktivieren, setzen Sie deletionProtection auf false.
Ermitteln, ob für eine Instanz Löschschutz aktiviert ist
Sie können mit dem gcloud tool oder der API feststellen, ob der Löschschutz für eine Instanz aktiviert ist.
Console
Gehen Sie zur Seite der VM-Instanzen.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
Öffnen Sie auf der Seite VM-Instanzen das Menü Spalten und aktivieren Sie den Löschschutz.
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 in der gcloud CLI 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 des Attributs deletionProtection zurück, das entweder auf true oder false festgelegt ist:
deletionProtection: false
Go
Java
Node.js
Python
REST
Geben Sie in der API eine GET-Anfrage ein und suchen Sie nach dem Feld deletionProtection:
GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
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.
Console
Gehen Sie zur Seite der VM-Instanzen.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
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.
Führen Sie auf der Seite mit den Instanzdetails folgende Schritte aus:
- Klicken Sie oben auf der Seite auf Bearbeiten.
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.
Speichern Sie die Änderungen.
gcloud
Führen Sie mit der gcloud CLI den update-Befehl entweder mit dem Flag --deletion-protection oder --no-deletion-protection aus:
gcloud compute instances update [INSTANCE_NAME] \
[--deletion-protection | --no-deletion-protection]
Geben Sie z. B. Folgendes ein, um den Löschschutz für eine Instanz namens example-vm zu deaktivieren:
gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
Führen Sie in der API eine POST-Anfrage für die Methode setDeletionProtection mit dem Suchparameter deletionProtection aus. Beispiel:
POST https://compute.googleapis.com/compute/v1/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.
Nächste Schritte
- Instanz beenden
- Instanzen löschen, die nicht mehr benötigt werden