Mit Standard-Snapshots von Laufwerken können Sie regelmäßig Daten von Ihrer Persistent Disk und von Google Cloud Hyperdisk sichern.
Sie können Laufwerk-Snapshots aufrufen, auflisten und löschen. Außerdem ist eine projektübergreifende Freigabe von Snapshots möglich.
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 so bei Compute Engine authentifizieren.
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
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 und initialisieren Sie sie mit folgendem Befehl:
gcloud init
- Legen Sie eine Standardregion und -zone fest.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:
gcloud init
-
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Standard-Snapshots benötigen:
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1
) -
Um eine Verbindung zu einer VM herzustellen, die als Dienstkonto ausgeführt werden kann:
Service Account User (v1) (
roles/iam.serviceAccountUser
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Standard-Snapshots erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Standard-Snapshots zu verwalten:
-
Zum Auflisten von Snapshots:
compute.snapshots.list
für das Projekt -
So rufen Sie Informationen zu einem Snapshot auf:
compute.snapshots.get
für den Snapshot -
So löschen Sie einen Snapshot:
compute.snapshots.delete
für den Snapshot -
So löschen Sie Snapshots basierend auf einem Filter:
compute.snapshots.delete
für den Snapshotcompute.snapshots.list
für das Projekt
-
So geben Sie Snapshot-Daten projektübergreifend frei:
-
compute.storageAdmin
für das Projekt (für den Zugriff auf alle Standard-Snapshots) -
compute.disks.create
für das Projekt, für das freigegeben werden soll compute.snapshots.create
für das Quellprojekt.compute.disks.createSnapshot
für das Quelllaufwerk
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Standard-Snapshots in einem Projekt oder an einem Standort ansehen
Sie können die Standard-Snapshots in einem Projekt oder an einem Standort mit der gcloud CLI, der Google Cloud Console oder REST aufrufen oder auflisten.
Console
Rufen Sie in der Google Cloud Console die Seite Snapshots auf.
Auf dem Tab Snapshots werden die Standard-Snapshots für das aktuelle Projekt angezeigt.
Optional. Grenzen Sie die Ergebnisse mit dem Feld Filter filter_list ein. Geben Sie im Feld Filter einen Namen oder Wert für das Attribut ein oder wählen Sie eine der verfügbaren Attribute aus.
gcloud
Mit dem Befehl gcloud compute snapshots list
können Sie eine Liste der Snapshots abrufen, die Ihnen in einem bestimmten Projekt zur Verfügung stehen.
gcloud compute snapshots list --project=PROJECT_ID
Optional. Ersetzen Sie PROJECT_ID
durch die Projekt-ID.
Wenn Sie dieses Flag weglassen, wird das aktuelle Projekt verwendet. Sie können das Standardprojekt für Ihre Sitzung mit dem gcloud CLI-Befehl gcloud config set project PROJECT_ID
festlegen.
REST
Wenn Sie eine Liste der Snapshots abrufen möchten, die Ihnen in einem bestimmten Projekt zur Verfügung stehen, senden Sie eine GET
-Anfrage an die Methode snapshots.list
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
Ersetzen Sie PROJECT_ID
durch die Projekt-ID.
Standard-Snapshots für ein Laufwerk ansehen
Sie können die Liste der Standard-Snapshots für ein Laufwerk mit der Google Cloud Console, der gcloud CLI oder REST aufrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Snapshots auf.
Auf dem Tab Snapshots wird eine Liste aller Standard-Snapshots im Projekt angezeigt.
Grenzen Sie die Ergebnisse nach Quelllaufwerk ein:
Geben Sie
Source disk:
im Feld Filtern filter_list ein oder klicken Sie auf das Feld Filtern und wählen Sie dann den WertSource disk
aus dem Attribute Liste.Wählen Sie den Namen des Laufwerks aus der Liste Werte aus, die neben
Source disk:
im Feld Filter angezeigt wird.Die in der Console angezeigten Snapshots zeigen jetzt alle Standard-Snapshots für das angegebene Laufwerk an.
Wenn Sie den Namen eines Laufwerks nicht in der Liste Werte sehen, geben Sie im Feld Filter neben
Source disk:
die ersten Buchstaben des Namens des Quelllaufwerks ein, um die angezeigte Werteliste zu ändern.
gcloud
Standard-Snapshots für ein Laufwerk mit dem Befehl gcloud compute snapshots list
und dem Argument --filter
auflisten:
Standard-Snapshots für ein zonales Laufwerk auflisten:
gcloud compute snapshots list --filter="sourceDisk:projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
Standard-Snapshots für ein regionales Laufwerk auflisten:
gcloud compute snapshots list --filter=sourceDisk:projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts.SOURCE_ZONE
: (nur zonale Laufwerke) der Name der Zone für das Laufwerk, z. B.us-west1-a
.SOURCE_REGION
: (nur regionale Laufwerke) Der Name der Region für das Laufwerk, z. B.us-west1
.DISK_NAME
: der Name des Laufwerks, z. B.disk-1
.
REST
Listen Sie Standard-Snapshots für ein zonales oder regionales Laufwerk mit einer GET
-Anfrage an die Methode snapshots.list
auf.
Verwenden Sie den Abfrageparameter filter=sourceDisk
, um den Namen des Laufwerks anzugeben.
Standard-Snapshots für ein zonales Laufwerk auflisten:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME'
Standard-Snapshots für ein regionales Laufwerk auflisten:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots?filter=sourceDisk:'https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SOURCE_REGION/disks/DISK_NAME'
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts.SOURCE_ZONE
: (nur zonale Laufwerke) der Name der Zone für das Laufwerk, z. B.us-west1-a
.SOURCE_REGION
: (nur regionale Laufwerke) Der Name der Region für das Laufwerk, z. B.us-west1
.DISK_NAME
: der Name des Quelllaufwerks, z. B.disk-1
.
Informationen zu einem Standard-Snapshot ansehen
Mit der Google Cloud Console, der Google Cloud CLI oder REST können Sie detaillierte Informationen zu einem Standard-Snapshot wie Erstellungszeit, Quelllaufwerk und Größe abrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Snapshots auf.
Rufen Sie auf dem Tab Snapshots die Liste der Snapshots im Projekt auf.
Klicken Sie in der Spalte Name auf den Namen des Standard-Snapshots. Die Seite Details zu Snapshots für den ausgewählten Snapshot wird mit den zugehörigen Attributen angezeigt.
gcloud
Verwenden Sie den Befehl gcloud compute snapshots describe
, um Informationen zu einem Standard-Snapshot aufzurufen.
gcloud compute snapshots describe SNAPSHOT_NAME
Ersetzen Sie SNAPSHOT_NAME
durch den Namen des Standard-Snapshots.
REST
Stellen Sie eine GET
-Anfrage an die Methode snapshots.get
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: der Name des Projekts, das den Standard-Snapshot enthält.SNAPSHOT_NAME
: der Name des Standard-Snapshots.
Snapshot löschen
Compute Engine verwendet differenzielle Snapshots, sodass jeder Snapshot nur jene Daten enthält, die sich seit dem letzten Snapshot geändert haben. Da nachfolgende Snapshots Informationen benötigen könnten, die in einem vorherigen Snapshot gespeichert sind, werden beim Löschen eines Snapshots also nicht unbedingt alle Daten im Snapshot gelöscht.
Weitere Informationen zum Löschen von Snapshots finden Sie unter Snapshot löschen.
Console
Rufen Sie in der Google Cloud Console die Seite Snapshots auf.
Wählen Sie einen oder mehrere Snapshots aus, den oder die Sie löschen möchten.
Klicken Sie oben auf der Seite Snapshots auf Löschen.
gcloud
Verwenden Sie zum Löschen eines Snapshots den Befehl gcloud compute snapshots delete
:
gcloud compute snapshots delete SNAPSHOT_NAME
Ersetzen Sie SNAPSHOT_NAME durch den Namen des Snapshots, den Sie löschen möchten.
Einfach loslegen (Go)
Java
Node.js
Python
REST
Senden Sie zum Löschen von Snapshots eine DELETE
-Anfrage an die Methode snapshots.delete
.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME
Ersetzen Sie Folgendes:
- PROJECT_ID: Name Ihres Projekts
- SNAPSHOT_NAME: der Name des zu löschenden Snapshots.
Mehrere Snapshots basierend auf einem Filter löschen
Compute Engine verwendet differenzielle Snapshots, sodass jeder Snapshot nur jene Daten enthält, die sich seit dem letzten Snapshot geändert haben. Da nachfolgende Snapshots Informationen benötigen könnten, die in einem vorherigen Snapshot gespeichert sind, werden beim Löschen eines Snapshots also nicht unbedingt alle Daten im Snapshot gelöscht.
Weitere Informationen zum Löschen von Snapshots finden Sie unter Snapshot löschen.
Sie können eine Reihe von Snapshots basierend auf einem bestimmten Filter löschen. Weitere Informationen zur Verwendung von Filtern mit der gcloud CLI finden Sie unter Themenfilter der gcloud CLI.
Verwenden Sie zum Löschen der Snapshots eine Kombination aus dem Befehl gcloud compute snapshots list
und einem bestimmten Filter sowie den Befehl gcloud compute snapshots delete
mit xargs
:
gcloud compute snapshots list --filter="EXPRESSION" --uri | xargs gcloud compute snapshots delete
Ersetzen Sie EXPRESSION
durch einen Themenfilter der gcloud CLI.
Beispielsweise löscht --filter="creationTimestamp<'2023-12-31'"
alle Snapshots, die vor dem 31. Dezember 2023 erstellt wurden.
Snapshot-Daten für Projekte in derselben Organisation freigeben
Mit diesem Verfahren können Sie Daten von einem Laufwerk in einem Projekt auf ein Laufwerk in einem anderen Projekt innerhalb derselben Organisation verschieben.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute snapshots create
einen Standard-Snapshot im Zielprojekt. Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot einer zonalen Persistent Disk oder Hyperdisk zu erstellen:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/SOURCE_DISK_NAME \ --project DESTINATION_PROJECT_ID
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME ist der Name des neuen Snapshots.
- SOURCE_PROJECT_ID: Die ID des Projekts für das Quelllaufwerk.
- ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
Erstellen Sie im Zielprojekt mit dem Befehl
gcloud compute disks create
ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert:gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project DESTINATION_PROJECT_ID
Dabei gilt:
- DISK_NAME: Ein Name für das neue Laufwerk.
- SNAPSHOT_NAME: Der Name des Snapshots.
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für das neue Laufwerk.
REST
Erstellen Sie einen Standard-Snapshot im Zielprojekt, indem Sie die Methode
snapshots.insert
aufrufen. Wenn Sie beispielsweise einen Snapshot einer zonalen Persistent Disk oder Hyperdisk erstellen möchten, stellen Sie folgende Anfrage:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME }
Ersetzen Sie Folgendes:
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_PROJECT_ID: Die ID des Projekts des Quelllaufwerks.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
Erstellen Sie im Zielprojekt ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert. Verwenden Sie dazu die zonale Methode
disks.insert
oder die regionale MethoderegionDisks.insert
.Stellen Sie zum Beispiel die folgende Anfrage zum Erstellen eines zonalen Laufwerks:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/zones/DESTINATION_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
Ersetzen Sie Folgendes:
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für das neue Laufwerk.
- DESTINATION_ZONE: Die Zone im Zielprojekt für das neue Laufwerk.
- DISK_NAME: Ein Name für das neue Laufwerk.
- SNAPSHOT_NAME: Der Name des Snapshots.
Eine Liste der verfügbaren Snapshots finden Sie unter Standard-Snapshots in einem Projekt oder an einem Standort ansehen.
Snapshot für Projekte in verschiedenen Organisationen freigeben
Mit diesem Verfahren können Sie einen Standard-Snapshot in einem Projekt in einer Organisation für ein anderes Projekt in einer anderen Organisation freigeben.
gcloud
Erstellen Sie im Quellprojekt mit dem Befehl
gcloud compute disks create
ein Laufwerk, das auf dem Snapshot basiert.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --project SOURCE_PROJECT_ID \ --zone ZONE
Ersetzen Sie Folgendes:
- DISK_NAME: Ein Name für das neue Laufwerk.
- SNAPSHOT_NAME: Der Name des Snapshots.
- SOURCE_PROJECT_ID: Die ID des Quellprojekts.
- ZONE ist die Zone, in der die neue VM erstellt werden soll.
Dieses Laufwerk ist ein temporäres Laufwerk, das nur zum organisationsübergreifenden Kopieren des Snapshots erstellt wird.
Erstellen Sie im Zielprojekt mit dem Befehl
gcloud compute snapshots create
einen Snapshot.Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot mit dem im ersten Schritt erstellten zonalen Laufwerk zu erstellen:
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk https://www.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/ZONE/disks/DISK_NAME \ --project DESTINATION_PROJECT_ID
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
- ZONE: Die Zone des Quelllaufwerks.
- DISK_NAME: Der Name des in Schritt 1 erstellten Laufwerks.
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
Eine Liste der verfügbaren Snapshots finden Sie unter Standard-Snapshots in einem Projekt oder an einem Standort ansehen.
Löschen Sie das im ersten Schritt erstellte temporäre Laufwerk mit dem Befehl
gcloud compute disks delete
.gcloud compute disks delete DISK_NAME \ --project SOURCE_PROJECT_ID --zone ZONE
Ersetzen Sie Folgendes:
- DISK_NAME: Der Name des in Schritt 1 erstellten Laufwerks.
- SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
- ZONE: die Zone des Laufwerks
REST
Erstellen Sie im Quellprojekt mithilfe der zonalen Methode
disks.insert
ein zonales oder regionales Laufwerk, das auf dem Snapshot basiert.Stellen Sie zum Beispiel die folgende Anfrage zum Erstellen eines zonalen Laufwerks:
POST https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks { "name": DISK_NAME "sourceSnapshot": SNAPSHOT_NAME }
Ersetzen Sie Folgendes:
- SOURCE_PROJECT_ID: Die ID des Quellprojekts für das neue Laufwerk.
- SOURCE_ZONE: Die Zone für das neue Laufwerk.
- DISK_NAME: Ein Name für das neue Laufwerk.
- SNAPSHOT_NAME: Der Name des Snapshots.
Dieses Laufwerk ist ein temporäres Laufwerk, das nur zum organisationsübergreifenden Kopieren des Snapshots erstellt wird.
Erstellen Sie einen Snapshot im Zielprojekt, indem Sie die Methode
snapshots.insert
aufrufen.Verwenden Sie beispielsweise den folgenden Befehl, um einen Snapshot mit dem im ersten Schritt erstellten zonalen Laufwerk zu erstellen:
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": SNAPSHOT_NAME "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME }
Ersetzen Sie Folgendes:
- DESTINATION_PROJECT_ID: Die ID des Zielprojekts für den neuen Snapshot.
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_PROJECT_ID: Die ID des Projekts, das das Quelllaufwerk enthält.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- DISK_NAME: Der Name des Quelllaufwerks.
Löschen Sie das im ersten Schritt erstellte temporäre Laufwerk mit der Methode
disks.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/DISK_NAME
Ersetzen Sie Folgendes:
- SOURCE_PROJECT_ID: Die ID des Projekts, das das temporäre Laufwerk enthält.
- SOURCE_ZONE: die Zone des Laufwerks
- DISK_NAME: durch den Namen des temporären Laufwerks, das in Schritt 1 erstellt wurde.