Sie erstellen einen Snapshot-Zeitplan, um in regelmäßigen Abständen zonale und regionale Persistent Disk sowie Google Cloud Hyperdisk automatisch zu sichern. Snapshot-Zeitpläne sind eine bewährte Methode zum Sichern von Compute Engine-Arbeitslasten.
Wenn Sie einen Snapshot-Zeitplan erstellen möchten, der den Status der Anwendungsdaten zum Zeitpunkt der Sicherung erfasst (auch als Anwendungskonsistenz , Gastbereinigung oder VSS-Snapshot bezeichnet), siehe Snapshots von konsistenten Laufwerken für Linux-Anwendungen erstellen oderSnapshot eines konsistenten Laufwerks für Windows-Anwendungen erstellen “
Weitere Informationen zu den Attributen des Snapshot-Zeitplans finden Sie unter Attribute für Snapshot-Zeitpläne.
Hinweise
- Prüfen Sie die Einschränkungen für Snapshot-Zeitpläne.
-
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.
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.
-
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
) -
Zum Erstellen eines Snapshot-Zeitplans:
compute.resourcePolicies.create
für das Projekt oder die Organisation -
Snapshot-Zeitplan mit Laufwerk verknüpfen:
-
compute.disks.addResourcePolicies
für das Laufwerk compute.resourcePolicies.use
für die Ressourcenrichtlinie
-
-
Laufwerk mit Snapshot-Zeitplan erstellen:
-
compute.disks.create
für das Projekt -
compute.resourcePolicies.create
für das Projekt -
compute.disks.addResourcePolicies
für das Laufwerk
-
- Erstellen Sie einen Snapshot-Zeitplan und hängen Sie ihn an ein vorhandenes Laufwerk an.
- Erstellen Sie ein neues Laufwerk mit einem Snapshot-Zeitplan.
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Zu „VM-Instanzen”
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt. - Wählen Sie das Projekt aus, das Ihre VM-Instanzen enthält.
- Klicken Sie in der Spalte Name auf den Namen der VM mit dem nichtflüchtigen Speicher, für den Sie einen Snapshot-Zeitplan erstellen möchten.
-
Unter
Speicher klicken Sie auf den Namen des Bootlaufwerks oder des zusätzlichen Laufwerks, um dafür einen Snapshot-Zeitplan zu erstellen. - Klicken Sie auf Bearbeiten. Möglicherweise müssen Sie auf das Menü Weitere Aktionen und dann auf Bearbeiten klicken.
- Wählen Sie unter Snapshot-Zeitplan die Option Zeitplan erstellen aus.
-
Geben Sie unter Name einen der folgenden Namen für den Snapshot-Zeitplan ein:
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
Wählen Sie im Bereich Standort den Snapshot-Speicherort aus. Der vordefinierte oder benutzerdefinierte Standardspeicherort, der in Ihren Snapshot-Einstellungen definiert ist, wird automatisch ausgewählt. Optional können Sie die Snapshot-Einstellungen überschreiben und die Snapshots an einem benutzerdefinierten Standort speichern. Gehen Sie dazu so vor:
-
Wählen Sie die Art des gewünschten Speicherorts für den Snapshot aus.
-
Wählen Sie Multiregional aus, um eine höhere Verfügbarkeit zu höheren Kosten zu erreichen.
- Wählen Sie Regionale Snapshots aus, um den physischen Standort Ihrer Daten zu geringeren Kosten besser steuern zu können.
-
Wählen Sie Multiregional aus, um eine höhere Verfügbarkeit zu höheren Kosten zu erreichen.
-
Wählen Sie im Feld Standort auswählen die Region oder Multiregion aus, die Sie verwenden möchten. Wählen Sie Je nach Standort des Laufwerks aus, um die Region bzw. Multiregion mit der geringsten Entfernung zu Ihrem Quelllaufwerk zu verwenden.
-
- Klicken Sie auf Erstellen, um die Erstellung des Snapshot-Zeitplans abzuschließen.
- Klicken Sie auf Speichern, um diesen Snapshot-Zeitplan an den nichtflüchtigen Speicher anzuhängen.
SCHEDULE_NAME
ist der Name des Snapshot-ZeitplansSCHEDULE_DESCRIPTION
: eine Beschreibung des Snapshot-Zeitplans. Setzen Sie die Beschreibung in Anführungszeichen.MAX_RETENTION_DAYS
: die Anzahl der Tage, für die der Snapshot aufbewahrt werden soll.Der Wert
3
bedeutet beispielsweise, dass die Snapshots 3 Tage lang aufbewahrt werden, bevor sie gelöscht werden. Sie müssen einen Wert von1
oder höher verwenden.START_TIME
: der Beginn in der Zeitzone UTC. Sie müssen die Uhrzeit als volle Stunde angeben.Beispiel:
- 14:00 Uhr PST muss als
22:00
angegeben werden. - Wenn Sie als Beginn
22:13
festlegen, erhalten Sie eine Fehlermeldung.
Wenn Sie das Flag
--weekly-schedule-from-file
verwenden und eine Startzeit in der Datei angeben, müssen Sie dieses Flag nicht angeben.- 14:00 Uhr PST muss als
SNAPSHOT_INTERVAL
: Das Intervall zwischen den aufeinanderfolgenden Snapshots. Die Flags der Snapshot-Häufigkeithourly-schedule
,daily-schedule
,weekly-schedule
undweekly-schedule-from-file
schließen sich gegenseitig aus. Sie können nur eins für den Snapshot-Zeitplan verwenden.- Legen Sie einen täglichen Zeitplan fest, indem Sie das Flag
--daily-schedule
ohne Wert angeben. - Legen Sie einen stündlichen Zeitplan fest, wobei das Flag
--hourly-schedule
auf eine Ganzzahl zwischen 1 und 23 gesetzt ist. Wählen Sie eine Stundenzahl aus, die ein Teiler von 24 ist, um jeden Tag zur selben Zeit Snapshots zu generieren. Beispiel: Wenn Sie--hourly-schedule
auf12
setzen, bedeutet das, dass alle 12 Stunden ein Snapshot erstellt wird. - Legen Sie einen wöchentlichen Zeitplan fest, wobei das Flag
--weekly-schedule
auf den Wochentag festgelegt ist, an dem der Snapshot erstellt werden soll. Wochentag muss ausgeschrieben werden; die Groß-/Kleinschreibung wird nicht berücksichtigt. Wenn Sie beispielsweise Ihr Laufwerk jeden Freitag sichern möchten, enthält der Befehl--weekly-schedule=friday
. Legen Sie einen erweiterten Wochenplan fest, der verschiedene Wochentage und unterschiedliche Startzeiten angibt, indem Sie das Flag
--weekly-schedule-from-file
angeben. Ersetzen SieFILE_NAME
durch den Dateinamen, der den wöchentlichen Snapshot-Zeitplan enthält. Sie können zwar mit einer Datei verschiedene Wochentage und unterschiedliche Startzeiten angeben, aber nicht mehrere wöchentliche Zeitpläne direkt in der Befehlszeile. Beispiel: Sie können in der Datei zwei wöchentliche Zeitpläne für Montag und Mittwoch festlegen, diese Einstellung kann aber in der Befehlszeile nicht dupliziert werden:[ {"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"} ]
Wenn Sie in der Datei eine Startzeit angeben, müssen Sie das Flag
--start-time
nicht in der Befehlszeile festlegen. Der Zeitplan verwendet die UTC-Zeitzone.
- Legen Sie einen täglichen Zeitplan fest, indem Sie das Flag
DELETION_OPTION
: legt fest, was mit den Snapshots geschieht, wenn das Quelllaufwerk gelöscht wird. Wenn Sie alle generierten Snapshots beibehalten möchten, können Sie dieses Flag weglassen. Geben Sie andernfallsapply-retention-policy
an, um die Einstellungen in einer Aufbewahrungsrichtlinie zu verwenden.- Die Regel für gelöschtes Laufwerk ist enthalten. Das Flag
--on-source-disk-delete
wird auf den Standardwertkeep-auto-snapshots
gesetzt, damit alle automatisch generierten Snapshots dauerhaft gespeichert werden. Alternativ können Sie dieses Flag aufapply-retention-policy
festlegen, um Ihre Snapshot-Aufbewahrungsrichtlinie zu verwenden. - Der Speicherort ist manuell auf
US
gesetzt, sodass alle generierten Snapshots am multiregionalen Standort "US" gespeichert werden. - Die Labels
env=dev
undmedia=images
werden auf alle generierten Snapshots angewendet. - Die Aufbewahrungsrichtlinie ist auf 10 Tage festgelegt.
PROJECT_ID
: der ProjektnameREGION
: der Speicherort der Ressourcenrichtlinie für den Snapshot-ZeitplanSCHEDULE_DESCRIPTION
: die Beschreibung des Snapshot-ZeitplansSCHEDULE_NAME
: der Name des Snapshot-ZeitplansSTORAGE_LOCATION
: der SpeicherortRufen Sie in der Google Cloud Console die Seite Laufwerke auf.
Klicken Sie auf den Namen des Laufwerks, an das Sie einen Snapshot-Zeitplan anhängen möchten. Dadurch wird die Seite Laufwerk verwalten geöffnet.
Klicken Sie auf der Seite Laufwerk verwalten auf
Bearbeiten. Möglicherweise müssen Sie zuerst auf das Menü Weitere Aktionen klicken.Verwenden Sie das Drop-down-Menü Snapshot-Zeitplan, um den Zeitplan zum Laufwerk hinzuzufügen. Alternativ erstellen Sie einen neuen Zeitplan.
Wenn Sie einen neuen Zeitplan erstellt haben, klicken Sie auf Erstellen.
Klicken Sie auf Speichern, um die Aufgabe abzuschließen.
DISK_NAME
: der Name des vorhandenen LaufwerksSCHEDULE_NAME
: der Name des Snapshot-ZeitplansZONE
: der Standort des LaufwerksPROJECT_ID
: der ProjektnameZONE
ist die Zone, in der sich das Laufwerk befindetREGION
: die Region, in der der Snapshot-Zeitplan erstellt wurdeDISK_NAME
: Name des LaufwerksSCHEDULE_NAME
: der Name des Snapshot-Zeitplans, den Sie auf dieses Laufwerk anwendenRufen Sie in der Google Cloud Console die Seite Laufwerke auf.
Klicken Sie auf Laufwerk erstellen.
Füllen Sie die erforderlichen Felder aus, um ein zonales oder regionales Laufwerk zu erstellen.
Erstellen Sie das Laufwerk in derselben Region, in der der Snapshot-Zeitplan gespeichert ist.
Füllen Sie die Felder für den Snapshot-Zeitplan aus.
Verwenden Sie das Drop-down-Menü und füllen Sie die Felder aus, um den Zeitplan zu erstellen.
Klicken Sie auf Erstellen, um den Zeitplan zu erstellen.
Klicken Sie auf Erstellen, um das Laufwerk anzulegen.
DISK_NAME
: Name des neuen LaufwerksSCHEDULE_NAME
: der Name des Snapshot-ZeitplansZONE
: der Ort, an dem Sie das Laufwerk erstellen. Das Laufwerk muss sich in einer Zone befinden, die sich in derselben Region wie der Snapshot-Zeitplan befindet.- Snapshot-Zeitpläne verwalten
- Weitere Informationen zur Häufigkeit geplanter Snapshots, zu Aufbewahrungsrichtlinien und Benennungsregeln finden Sie unter Snapshot-Zeitpläne für Laufwerke.
- Benutzerdefiniertes Image aus einem Snapshot erstellen
- Logs ansehen
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 und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Snapshot-Zeitplans benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen eines Snapshot-Zeitplans erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen Snapshot-Zeitplan zu erstellen:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Snapshot-Zeitpläne erstellen
Wenn Sie einen Snapshot-Zeitplan erstellen, erstellen Sie eine Ressourcenrichtlinie, die Sie auf ein oder mehrere Persistent Disk- oder Hyperdisk-Volumes anwenden können.
So erstellen Sie einen Snapshot-Zeitplan:
Verschlüsselung mit Snapshot-Zeitplänen verwenden
Wenn ein Laufwerk einen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) verwendet und Sie einen Snapshot-Zeitplan zum Erstellen von Snapshots dieses Laufwerks verwenden, werden alle erstellten Snapshots automatisch mit demselben Schlüssel verschlüsselt.
Sie können keine Snapshot-Zeitpläne mit Laufwerken verwenden, die einen vom Kunden bereitgestellten Verschlüsselungsschlüssel (CSEK) verwenden.
Snapshot-Zeitplan erstellen
Sie können einen Snapshot-Zeitplan für Ihre Laufwerke mit der Google Cloud Console, der Google Cloud CLI oder REST erstellen. Sie müssen den Snapshot-Zeitplan in derselben Region erstellen, in der sich das Laufwerk befindet. Wenn sich das Laufwerk beispielsweise in der Zone
us-west1-a
befindet, müssen Sie den Snapshot-Zeitplan in der Regionus-west1
erstellen. Sie können die vom Snapshot-Zeitplan generierten Snapshots jedoch an einem anderen Speicherort speichern.Console
gcloud
Verwenden Sie zum Erstellen eines Snapshot-Zeitplans für ein Laufwerk den Befehl
gcloud compute resource-policies create snapshot-schedule
. Legen Sie die Häufigkeit des Zeitplans auf stündlich, täglich oder wöchentlich fest.gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "SCHEDULE_DESCRIPTION" \ --max-retention-days MAX_RETENTION_DAYS \ --start-time START_TIME \ --hourly-schedule SNAPSHOT_INTERVAL \ --daily-schedule \ --weekly-schedule SNAPSHOT_INTERVAL \ --weekly-schedule-from-file FILE_NAME \ --on-source-disk-delete DELETION_OPTION
Ersetzen Sie Folgendes:
Beispiele
Für alle folgenden Beispiele gilt:
Stündlicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC (14:00 Uhr PST) und wird alle vier Stunden ausgeführt.
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "MY HOURLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --hourly-schedule 4 \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Täglicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC (14:00 Uhr PST) und wird jeden Tag zur selben Zeit ausgeführt. Das Flag
--daily-schedule
muss vorhanden sein, aber ohne einen zugehörigen Wert.gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "MY DAILY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --daily-schedule \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Wöchentlicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC (14:00 Uhr PST) und wird jeden Dienstag und Donnerstag ausgeführt.
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "MY WEEKLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --weekly-schedule tuesday,thursday \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
REST
Erstellen Sie für einen Snapshot-Zeitplan eine
POST
-Anfrage anresourcePolicies.insert
. Sie müssen den Namen des Snapshot-Zeitplans und die Snapshot-Häufigkeit angeben.Sie können auch den Snapshot-Speicherort manuell angeben und der Anfrage Ressourcenlabels hinzufügen.
Standardmäßig ist der Parameter
onSourceDiskDelete
aufkeepAutoSnapshots
eingestellt. Diese Einstellung gibt an, dass die automatisch generierten Snapshots für dieses Laufwerk auf unbestimmte Zeit beibehalten werden, wenn das Quelllaufwerk gelöscht wird. Alternativ können Sie das Flag aufapplyRetentionPolicy
setzen, um die Aufbewahrungsrichtlinie anzuwenden.Im folgenden Beispiel wird ein täglicher Snapshot-Zeitplan festgelegt, der um 12:00 UTC (04:00 Uhr PST) beginnt und täglich wiederholt wird. In diesem Beispiel wird außerdem eine Aufbewahrungsrichtlinie von 5 Tagen festgelegt. Nach 5 Tagen werden die Snapshots automatisch entfernt.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "dailySchedule": { "startTime": "12:00", "daysInCycle": "1" } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "env": "dev", "media": "images" }, "storageLocations": "STORAGE_LOCATION" } } }
Ersetzen Sie Folgendes:
Auf ähnliche Weise können Sie einen wöchentlichen oder monatlichen Zeitplan erstellen. Unter Methode
resourcePolicies.insert
finden Sie Informationen zum Festlegen von wöchentlichen und monatlichen Zeitplänen.Die folgende Anfrage erstellt beispielsweise einen wöchentlichen Zeitplan, der dienstags und donnerstags um 9:00 Uhr bzw. um 2:00 Uhr UTC ausgeführt wird.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": "Monday", "startTime": "9:00" }, { "day": "Thursday", "startTime": "2:00" } ] } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "production": "webserver" }, "storageLocations": "US" } } }
Snapshot-Zeitplan mit Laufwerk verknüpfen
Nachdem Sie einen Zeitplan erstellt haben, können Sie ihn mit einem vorhandenen Laufwerk verknüpfen. Verwenden Sie die Console, die gcloud CLI oder die Compute Engine API.
Console
So verknüpfen Sie einen Snapshot-Zeitplan mit einem vorhandenen Laufwerk:
gcloud
Verwenden Sie den Befehl
gcloud disks add-resource-policies
, um einen Snapshot-Zeitplan an ein Laufwerk anzuhängen.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Ersetzen Sie Folgendes:
REST
Erstellen Sie eine
POST
-Anfrage andisks.addResourcePolicies
, um einen Snapshot-Zeitplan an ein vorhandenes Laufwerk anzuhängen:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Ersetzen Sie Folgendes:
Laufwerk mit Snapshot-Zeitplan erstellen
Sie können die Google Cloud Console oder die gcloud CLI verwenden, um gleichzeitig ein Laufwerk und einen Snapshot-Zeitplan zu erstellen.
Console
gcloud
Erstellen Sie mit dem -Befehl
gcloud disks create
eine zonale oder regionale Persistent Disk oder Hyperdisk und hängen Sie daran einen Snapshot-Zeitplan an.gcloud compute disks create DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
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-11-21 (UTC).
-