Sicherungen verwalten

Auf dieser Seite wird beschrieben, wie Sie Sicherungsvorgänge für Memorystore for Redis-Cluster ausführen. Bevor Sie diese Seite lesen, sollten Sie sich mit Sicherungen vertraut gemacht haben.

Hinweise

  1. Achten Sie darauf, dass Sie oder das verwendete Nutzerkonto die erforderlichen Berechtigungen für die Aktion haben, die Sie ausführen möchten.

    Mit den Rollen Redis-Administrator und Redis-Bearbeiter können alle Sicherungsvorgänge ausgeführt werden. Mit der Rolle Redis Viewer können Sicherungen angesehen und exportiert werden.

  2. Installieren und aktualisieren Sie die Google Cloud CLI.

On‑Demand-Sicherung starten

Verwenden Sie den folgenden Befehl, um eine On-Demand-Sicherung zu erstellen:

gcloud

gcloud redis clusters create-backup INSTANCE_ID \
--backup-id=BACKUP_ID \
--ttl=TTL_PERIOD \
--project=PROJECT_ID \
--region=REGION

Ersetzen Sie Folgendes:

  • INSTANCE_ID ist die ID der Memorystore for Redis Cluster-Instanz.
  • BACKUP_ID ist eine ID für die Sicherung, z. B. december-2024-backup.
  • TTL_PERIOD gibt eine Gültigkeitsdauer (TTL) für die Sicherung an. Die Sicherung wird automatisch gelöscht, wenn das TTL-Limit erreicht ist. Auf eine Anzahl von Tagen festgelegt. Beispiel: 14d. Der Mindestwert beträgt 1 Tag. Wenn keine Angabe erfolgt, beträgt der Standardwert 100 Jahre.
  • PROJECT_ID ist die Projekt-ID.
  • REGION ist die Region, in der sich Ihr Cluster befindet (z. B. us-east1).

Der Befehl gibt einen Vorgangsnamen im folgenden Format zurück:

projects/PROJECT_ID/locations/REGION/operations/operation-UID

Mit dem Befehl gcloud redis operations describe können Sie den Status eines Vorgangs prüfen:

gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID

Mit dem Befehl gcloud redis operations list können Sie auch alle Vorgänge in einem Projekt und einer Region auflisten.

Zeitpläne für automatische Sicherungen konfigurieren

Sie können einen täglichen Sicherungszeitplan konfigurieren, wenn Sie einen neuen Cluster erstellen, oder einen täglichen Sicherungszeitplan für einen vorhandenen Cluster aktivieren.

Cluster mit aktiviertem automatischen Sicherungszeitplan erstellen

Im folgenden Beispiel wird gezeigt, wie Sie beim Erstellen eines neuen Clusters einen täglichen Sicherungszeitplan festlegen. Weitere Optionen, die beim Erstellen von Clustern verfügbar sind, finden Sie unter Instanz erstellen.

gcloud

gcloud redis clusters create INSTANCE_ID \
--automated-backup-mode=ENABLED \
--automated-backup-start-time=START_TIME \
--automated-backup-ttl=RETENTION_POLICY

Ersetzen Sie Folgendes:

  • INSTANCE_ID ist die ID der Memorystore for Redis-Clusterinstanz, die Sie erstellen.
  • START_TIME A gibt an, wann mit der Sicherung begonnen werden soll. Geben Sie die Zeit im Format HH:00 im 24-Stunden-Zyklus in UTC an. Beispiel: 23:00
  • RETENTION_POLICY gibt an, wie viele Tage jede Sicherung aufbewahrt werden soll. Wird auf eine Anzahl von Tagen festgelegt, z. B. 7d. Der Höchstwert beträgt 365 Tage und der Standardwert 35 Tage.

    Auch nach dem Löschen eines Clusters wird die Sicherung für den Aufbewahrungszeitraum mit einem Maximum von 365 Tagen beibehalten. Sie müssen die Sicherung manuell löschen, um sie vor Ablauf des Aufbewahrungszeitraums zu entfernen.

Geplante Sicherungen für einen vorhandenen Cluster aktivieren

gcloud

gcloud redis clusters update INSTANCE_ID \
--automated-backup-mode=enabled \
--automated-backup-start-time=START_TIME \
--automated-backup-ttl=RETENTION_POLICY

Ersetzen Sie Folgendes:

  • INSTANCE_ID ist die ID der Memorystore for Redis Cluster-Instanz, die Sie aktualisieren.
  • START_TIME Ein Zeitstempel, der angibt, wann mit der Erstellung von Sicherungen begonnen werden soll. Der Zeitstempel muss auf Stundenbasis angegeben werden und gibt ein einstündiges Zeitfenster an, in dem Sicherungen beginnen, z. B. 2024-01-01T01:00:00Z.

  • RETENTION_POLICY gibt an, wie viele Tage jede Sicherung aufbewahrt werden soll. Wird auf eine Anzahl von Tagen festgelegt, z. B. 7d.

    Auch nach dem Löschen eines Clusters wird die Sicherung für die Aufbewahrungsdauer beibehalten. Sie müssen die Sicherung manuell löschen, um sie vor Ablauf des Aufbewahrungszeitraums zu entfernen.

Geplante Sicherungen deaktivieren

Verwenden Sie den folgenden Befehl, um geplante Sicherungen in einem Cluster zu deaktivieren:

gcloud

gcloud redis clusters update INSTANCE_ID \
--automated-backup-mode=disabled

Ersetzen Sie INSTANCE_ID durch die ID der Memorystore for Redis Cluster-Instanz, die Sie aktualisieren.

Gleichzeitigkeit von Sicherungs- und Aktualisierungsvorgängen für Cluster

Aktualisierungs- und Wartungsvorgänge für einen Cluster können laufende Sicherungsvorgänge in den folgenden Situationen abbrechen:

  • Wenn ein Cluster gerade aktualisiert wird, werden Anfragen für Sicherungsvorgänge abgelehnt.
  • Wenn ein Sicherungsvorgang läuft, kann ein eingehender Vorgang zum Aktualisieren eines Clusters den laufenden Sicherungsvorgang abbrechen und zum Fehlschlagen führen.
  • In seltenen Fällen können Wartungs- und Sicherungsvorgänge zusammenfallen, was dazu führt, dass die Sicherungsvorgänge für diese Instanz übersprungen werden.

Sicherungen auflisten und beschreiben

In den folgenden Abschnitten wird beschrieben, wie Sie Informationen zu verfügbaren Sicherungen finden.

Sicherungssammlungen auflisten

Eine Sicherungssammlung umfasst alle Sicherungen unter einem Cluster. Verwenden Sie den folgenden Befehl, um Sicherungssammlungen im angegebenen Projekt und in der angegebenen Region aufzulisten:

gcloud

gcloud redis clusters backup-collections list \
--project=PROJECT_ID \
--region=REGION

Ersetzen Sie Folgendes:

  • REGION ist die Region, in der sich Ihr Cluster befindet (z. B. us-east1).
  • PROJECT_ID ist die Projekt-ID.

Der Befehl gibt eine Liste von Sicherungssammlungen ähnlich der folgenden zurück:

BACKUP_COLLECTION_NAME                CLUSTER_NAME                                           CLUSTER_UID
6d9e1ff4-0f89-4c0a-a941-155dd4c3a213  projects/PROJECT_ID/locations/REGION/clusters/cluster1  6e539aed-ee7b-4eea-83ad-b4715b1ef160
dda2f551-b416-47ff-b1cf-684e00483dc9  projects/PROJECT_ID/locations/REGION/clusters/cluster2  57130520-636c-4ac7-ad7e-86f7cfb32838

Sicherungen unter einer Sicherungssammlung auflisten

Verwenden Sie den folgenden Befehl, um Sicherungen in einer Sicherungssammlung aufzulisten:

gcloud

gcloud redis clusters backups list \
--backup-collection=BACKUP_COLLECTION
--project=PROJECT_ID \
--region=REGION

Ersetzen Sie Folgendes:

  • BACKUP_COLLECTION ist der Name einer Sicherungssammlung.
  • REGION ist die Region, in der sich der Cluster befindet, z. B. us-east1.
  • PROJECT_ID ist die Projekt-ID.

Der Befehl gibt eine Liste von Back-ups zurück, die in etwa so aussieht:

BACKUP_NAME  STATE   CREATE_TIME                     EXPIRE_TIME
backup-1     ACTIVE  2024-11-10T03:52:40.899882388Z  2124-11-10T03:53:02.856981736Z
backup-2     ACTIVE  2024-11-11T03:48:22.137134936Z  2124-11-11T03:48:44.130735425Z

Sicherung beschreiben

Verwenden Sie den folgenden Befehl, um Informationen zu einer bestimmten Sicherung abzurufen:

gcloud

gcloud redis clusters backups describe BACKUP_NAME \
--backup-collections=BACKUP_COLLECTION
--project=PROJECT_ID \
--region=REGION

Ersetzen Sie Folgendes:

  • BACKUP_NAME ist der Name einer Sicherung, z. B. 2024-05-01-10-15-00.
  • BACKUP_COLLECTION ist der Name einer Sicherungssammlung.
  • REGION ist die Region, in der sich der Cluster befindet, z. B. us-east1.
  • PROJECT_ID ist die Projekt-ID.

Die Ausgabe des Befehls sieht in etwa so aus:

backupFiles:
- createTime: '2024-11-10T03:52:55.539Z'
fileName: 3d2774dab822137c5bac9386f3fa69ee4c73b928.rdb
sizeBytes: '694879680'
- createTime: '2024-11-10T03:52:54.742Z'
fileName: 7f5d99faaefc63ed8292a71da2552db3b06cdcff.rdb
sizeBytes: '694925906'
- createTime: '2024-11-10T03:52:54.972Z'
fileName: 0aac1092a3fb81515aefb6b2421f31eb346c3961.rdb
sizeBytes: '694784169'
cluster: projects/PROJECT_ID/locations/us-east1/clusters/cluster1
clusterUid: 57130520-636c-4ac7-ad7e-86f7cfb32838
createTime: '2024-11-10T03:52:40.899882388Z'
expireTime: '2124-11-10T03:53:02.856981736Z'
name: projects/PROJECT_ID/locations/us-east1/backupCollections/dda2f551-b416-47ff-b1cf-684e00483dc9/backups/december-2024-backup
nodeType: REDIS_HIGHMEM_MEDIUM
shardCount: 3
state: ACTIVE
totalSizeBytes: '2084589755'

Sicherung löschen

Verwenden Sie den folgenden Befehl, um eine Sicherung zu löschen:

gcloud

gcloud redis clusters backups delete BACKUP_NAME \
--backup-collection=BACKUP_COLLECTION
--project=PROJECT_ID \
--region=REGION

Ersetzen Sie Folgendes:

  • BACKUP_NAME ist der Name einer Sicherung, z. B. 2024-05-01-10-15-00.
  • BACKUP_COLLECTION ist der Name einer Sicherungssammlung.
  • REGION ist die Region, in der sich der Cluster befindet, z. B. us-east1.
  • PROJECT_ID ist die Projekt-ID.

Sicherung in einen Storage-Bucket exportieren

Sie können eine Sicherung in einen Cloud Storage-Bucket exportieren. Der Ziel-Bucket muss ein regionaler Bucket sein und sich in derselben Region wie das Backup befinden. Memorystore for Redis Cluster muss die Berechtigung haben, auf den Cloud Storage-Bucket zuzugreifen und Ordner und Objekte im Bucket zu erstellen.

In den folgenden Schritten wird gezeigt, wie Sie eine Sicherung exportieren.

  1. Memorystore for Redis Cluster muss die Berechtigung für den Zugriff auf den Ziel-Cloud Storage-Bucket haben. Gewähren Sie dem Dienst-Agent von Memorystore for Redis Cluster Zugriff auf die Cloud Storage-Ressourcen.

    Der Dienst-Agent für Memorystore for Redis Cluster verwendet das folgende Namensformat:

    service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
    

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer des Projekts, in dem sich der Cluster oder die Sicherung befindet.

    Weisen Sie dem Dienst-Agent eine Rolle zu, die die Berechtigungen storage.buckets.get, storage.objects.create, storage.objects.delete und storage.folders.create gewährt. Mit dem folgenden Befehl wird beispielsweise dem Memorystore for Redis Cluster-Dienst-Agent die Rolle Storage Admin für das angegebene Bucket zugewiesen:

    gcloud

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
    --role=roles/storage.admin
    

    Ersetzen Sie Folgendes:

    • BUCKET_NAME ist der Name des Ziel-Buckets.
    • PROJECT_NUMBER ist die Projektnummer, die im Namen des Dienst-Agents verwendet wird.
  2. Verwenden Sie den Befehl gcloud redis clusters backups export, um eine Sicherung in einen Cloud Storage-Bucket zu exportieren.

    gcloud

    gcloud redis clusters backups export BACKUP_NAME \
    --region=REGION \
    --backup-collection=BACKUP_COLLECTION \
    --gcs-bucket=BUCKET
    

    Ersetzen Sie Folgendes:

    • BACKUP_NAME ist der Name eines Memorystore for Redis-Cluster-Back-ups.
    • BACKUP_COLLECTION ist der Name einer Sicherungssammlung.
    • REGION ist die Region, in der sich die Sicherungssammlung befindet, z. B. us-east1.
    • BUCKET_NAME ist ein Cloud Storage-Bucket, der nicht das Präfix gs:// hat.

    Der Bucket muss ein regionaler Bucket sein und sich in derselben Region wie das Backup befinden. Memorystore for Redis Cluster muss die Berechtigung haben, auf den Cloud Storage-Bucket zuzugreifen und Ordner und Objekte im Bucket zu erstellen.

Daten aus einem Back-up wiederherstellen

Wenn Sie Daten aus einer Sicherung wiederherstellen möchten, können Sie entweder einen neuen Cluster aus einer verwalteten Sicherung im selben Projekt oder aus RDB-Dateien in einem Speicher-Bucket initialisieren. Wenn Sie einen Cluster aus RDB-Dateien initialisieren möchten, muss Memorystore for Redis Cluster die Berechtigung haben, auf die Dateien zuzugreifen.

Neuen Cluster aus einer Sicherung initialisieren

Im folgenden Beispiel wird gezeigt, wie Daten aus einer Sicherung in einen neuen Cluster importiert werden. Das Backup muss sich in derselben Region wie der neue Cluster befinden. Das Hauptkonto, das den Cluster erstellt, muss die Berechtigung redis.backups.get für die Sicherung haben.

Weitere Optionen, die beim Erstellen von Clustern verfügbar sind, finden Sie unter Instanz erstellen.

gcloud

gcloud redis clusters create INSTANCE_ID \
--import-managed-backup=BACKUP_NAME \
--region=REGION

Ersetzen Sie Folgendes:

  • INSTANCE_ID ist die ID der Memorystore for Redis-Clusterinstanz, die Sie erstellen.
  • BACKUP_NAME ist der Name einer verwalteten Sicherung. Beispiel: projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
  • REGION ist die Region, in der sich der Cluster befindet, z. B. us-east1.

Neuen Cluster aus RDB-Dateien in einem Speicher-Bucket initialisieren

Im folgenden Beispiel wird gezeigt, wie Daten aus RDB-Dateien in einem Cloud Storage-Bucket in einen neuen Cluster importiert werden. Der Bucket muss ein regionaler Bucket in derselben Region wie der neue Cluster oder ein Dual-Region-Bucket mit einer identischen Region sein.

Wenn Sie einen Cluster mit RDB-Dateien in Cloud Storage initialisieren möchten, müssen Sie dem Memorystore for Redis-Cluster Zugriff auf den Cloud Storage-Bucket und die Objekte gewähren und dann den Erstellungsvorgang ausführen.

  1. Memorystore for Redis-Cluster muss die Berechtigung für den Zugriff auf die Cloud Storage-Objekte haben. Gewähren Sie dem Dienst-Agent von Memorystore for Redis Cluster Zugriff auf die Cloud Storage-Ressourcen.

    Der Dienst-Agent für Memorystore for Redis Cluster verwendet das folgende Namensformat:

    service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer des Projekts, in dem Sie den neuen Cluster erstellen.

    Weisen Sie dem Dienst-Agent eine Rolle zu, die die Berechtigungen storage.buckets.get und storage.objects.get gewährt. Mit dem folgenden Befehl wird beispielsweise die Rolle Storage Admin einem Cloud Storage-Bucket zugewiesen:

    gcloud

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com --role=roles/storage.admin
    

    Ersetzen Sie Folgendes:

    • BUCKET_NAME ist der Name des Buckets, in dem sich die RDB-Dateien befinden.
    • PROJECT_NUMBER ist die Projektnummer, die im Namen des Dienst-Agents verwendet wird.
  2. Im folgenden Beispiel wird gezeigt, wie Daten aus RDB-Dateien in einem Cloud Storage-Bucket in einen neuen Cluster importiert werden. Weitere Optionen, die beim Erstellen von Clustern verfügbar sind, finden Sie unter Instanz erstellen.

    gcloud

    gcloud redis clusters create INSTANCE_ID \
    --import-gcs-object-uris=URI \
    --region=REGION
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID ist die ID der Memorystore for Redis-Clusterinstanz, die Sie erstellen.
    • URI ist ein oder mehrere durch Kommas getrennte Cloud Storage-URIs (,), z. B. gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb.
    • REGION ist die Region, in der sich der Cluster befindet, z. B. us-east1.

Cloud Monitoring-Messwerte

Sie können Cloud Monitoring-Messwerte verwenden, um aktuelle Sicherungs- und Importvorgänge zu überwachen. Eine Liste der für Memorystore for Redis-Cluster-Back-ups verfügbaren Messwerte finden Sie unter Messwerte für Back-ups.

Nächste Schritte