Cloud SQL-Instanz aus einem Sicherungsspeicher wiederherstellen

In diesem Dokument erfahren Sie, wie Sie eine Cloud SQL-Instanz aus einem Backup Vault mithilfe der Google Cloud Console oder der gcloud CLI wiederherstellen. Es wird beschrieben, wie Sie eine Wiederherstellung auf einer neuen oder vorhandenen Instanz ausführen, eine Quellinstanz überschreiben oder eine Wiederherstellung zu einem bestimmten Zeitpunkt (Point-In-Time Recovery, PITR) durchführen.

Weitere Informationen zu den konzeptionellen Funktionen von Backup and DR finden Sie in der Übersicht zu Backup and DR. Backup and DR overview. Wenn Sie Ihre Datenbanken zuerst sichern möchten, lesen Sie Cloud SQL-Instanzen in einem Backup Vault sichern.

Notfallwiederherstellung und Resilienz

Backup and DR bietet Optionen zur Notfallwiederherstellung für Ihre Cloud SQL-Instanzen. In einem Backup Vault gespeicherte Sicherungen sind unabhängig vom Lebenszyklus und Projekt der Quellinstanz.

  • Löschen von Projekten: Sie können Sicherungen auch dann wiederherstellen, wenn das ursprüngliche Arbeitslast projekt mit der Cloud SQL-Quellinstanz gelöscht wurde. Das liegt daran, dass die erforderlichen Entschlüsselungsberechtigungen für CMEK-verschlüsselte Sicherungen dem Backup and DR-Dienst-Agent im Projekt des Backup Vault und nicht im Arbeitslastprojekt gewährt werden. So wird sichergestellt, dass Ihre Sicherungen weiterhin zugänglich und wiederherstellbar sind, solange der Backup Vault und der Cloud Key Management Service-Schlüssel intakt sind und der Dienst-Agent Berechtigungen hat.

  • Flexible Wiederherstellungsziele: Sie können eine Wiederherstellung auf einer neuen Instanz im selben oder in einem anderen Projekt ausführen, was für Wiederherstellungsszenarien mehr Flexibilität bietet.

Hinweis

Bevor Sie eine Cloud SQL-Instanz aus einem Backup Vault wiederherstellen, müssen Sie die erforderlichen Rollen haben.

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Wiederherstellen einer Cloud SQL-Instanz aus einem Backup Vault benötigen:

  • Zum Erstellen des Wiederherstellungsziels: Cloud SQL-Administrator (roles/cloudsql.admin) für das Projekt, in dem sich die Zielinstanz befindet
  • Zum Lesen der Sicherung aus dem Vault: Backup and DR Restore User (roles/backupdr.restoreUser) für das Projekt, in dem sich die Quellsicherungen befinden

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Wiederherstellen einer Cloud SQL-Instanz aus einem Backup Vault erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine Cloud SQL-Instanz aus einem Backup Vault wiederherzustellen:

  • Zum Erstellen des Wiederherstellungsziels: cloudsql.instances.restore
  • Zum Lesen der Sicherung aus dem Vault: backupdr.bvbackups.useReadOnlyForCloudSqlInstance

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Cloud SQL-Instanz aus der letzten Sicherung wiederherstellen

Folgen Sie der Anleitung, um eine Cloud SQL-Instanz wiederherzustellen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vaulted backups (Vault-Sicherungen) auf.

    Zu „Vaulted backups“

    Auf der Seite Vaulted backups (Vault-Sicherungen) werden nur die Datenressourcen aufgeführt, auf die Sicherungspläne angewendet wurden und deren Sicherungen in einem Backup Vault innerhalb dieses Projekts gespeichert sind.

  2. Wählen Sie die Sicherung aus, die Sie wiederherstellen möchten. Wählen Sie entweder auf der Detailseite für die Sicherung oder im Menü die Option Restore (Wiederherstellen) aus.

    Auf der Seite Restore (Wiederherstellen) können Sie die folgenden Wiederherstellungsoptionen auswählen:

    • Das Feld Resource type (Ressourcentyp) ist mit Cloud SQL vorab ausgefüllt.

    • Wählen Sie unter Resource name (Ressourcenname) die Cloud SQL-Instanz aus, die Sie wiederherstellen möchten.

    • Wenn Sie auf Backup (Sicherung) klicken, wird ein Bereich mit allen verfügbaren Sicherungen geöffnet. Wählen Sie die gewünschte Sicherung für die Wiederherstellung aus.

    • Wählen Sie unter Choose the restore destination (Wiederherstellungsziel auswählen) das Projekt aus, in dem Sie die Cloud SQL-Instanz wiederherstellen möchten.

  3. Klicken Sie auf Continue (Weiter).

  4. Wenn Sie aufgefordert werden, ein Restore destination (Wiederherstellungsziel) auszuwählen, treffen Sie eine Auswahl aus den folgenden Optionen:

    • Restore to a new instance (Auf einer neuen Instanz wiederherstellen): Anhand der in der Sicherung gespeicherten Konfiguration wird eine neue Instanz erstellt. Sie können die Instanz nach Abschluss der Wiederherstellung anpassen. Geben Sie eine neue Instance ID (Instanz-ID) ein, die nur Kleinbuchstaben, Ziffern und Bindestriche enthält. Muss mit einem Buchstaben beginnen.
    • Overwrite an existing instance (Vorhandene Instanz überschreiben): Wählen Sie in der Liste der verfügbaren Instanzen eine vorhandene Instanz aus, die überschrieben werden soll.

    • Quellinstanz überschreiben: Dadurch wird Ihre aktuelle Instanz überschrieben. Alle aktuellen Daten in der ausgewählten Instanz werden überschrieben, einschließlich früherer Logs zur Wiederherstellung zu einem bestimmten Zeitpunkt. Die überschriebenen Daten können später nicht wiederhergestellt werden. Diese Option wird nicht für die Produktion empfohlen.

gcloud

  1. Suchen Sie die Datenquelle mit der Sicherung, die Sie wiederherstellen möchten. Sie können die Datenquelle in einem Cloud SQL-Instanzprojekt oder einem Backup Vault-Projekt finden:

    • Aus dem Cloud SQL-Instanzprojekt: Verwenden Sie data-source-reference

      gcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \
      --location=LOCATION \
      --project=CSQL_INSTANCE_PROJECT_ID \
      --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \
      --format="table(RESOURCE_NAME,DATA_SOURCE)"
      

      Ersetzen Sie Folgendes:

      • LOCATION: der Speicherort des Backup Vault.

      • CSQL_INSTANCE_ID: der Datenbankname der Cloud SQL-Instanz.

      • CSQL_INSTANCE_PROJECT_ID: das Projekt mit der Cloud SQL-Instanz.

    • Aus einem Backup Vault-Projekt: Verwenden Sie data-source

      gcloud backup-dr data-sources list \
      --location=LOCATION \
      --project=BACKUP_VAULT_PROJECT_ID \
      --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \
      --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"
      

      Ersetzen Sie Folgendes:

      • LOCATION: der Speicherort des Backup Vault.

      • CSQL_INSTANCE_ID: der Name der Cloud SQL -Instanz.

      • CSQL_INSTANCE_PROJECT_ID: das Projekt mit der Cloud SQL-Instanz.

      • BACKUP_VAULT_PROJECT_ID: das Projekt mit dem Backup Vault.

  2. Listen Sie alle Sicherungen in der Datenquelle mit dem Befehl gcloud backup-dr backups list auf und wählen Sie die Sicherung aus, die Sie wiederherstellen möchten.

    gcloud backup-dr backups list --data-source=DATA_SOURCE \
    --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"
    
  3. Stellen Sie eine Cloud SQL-Instanz mit dem Befehl gcloud sql backups restore wieder her:

    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=RESTORE_INSTANCE \
    --project=RESTORE_PROJECT
    --region=RESTORE_REGION
    

    Ersetzen Sie Folgendes:

    • BACKUP_NAME: der Name des Backup Vault, aus dem Sie Daten wiederherstellen möchten.

    • RESTORE_INSTANCE: der Name der Cloud SQL-Zielinstanz.

    • RESTORE_PROJECT: das Projekt, in dem Sie die Cloud SQL-Instanz wiederherstellen möchten.

    • RESTORE_REGION: die Region, in der Sie die Wiederherstellung auf einer neuen Cloud SQL-Instanz ausführen möchten. Diese Option ist für regionale Sicherungen optional. Verwenden Sie sie nicht, wenn Sie eine Wiederherstellung auf einer vorhandenen Instanz ausführen.

  4. Optional: Informationen zum Überschreiben anderer Attribute finden Sie unter Übersicht über die gcloud CLI-Befehle von Backup and DR.

Cloud SQL-Instanz zu einem anderen Zeitpunkt wiederherstellen

Folgen Sie der Anleitung, um eine Cloud SQL-Instanz zu einem bestimmten Zeitpunkt wiederherzustellen. Wenn Sie eine Wiederherstellung zu einem bestimmten Zeitpunkt ausführen, erstellen Sie einen Cloud SQL-Klon.

  1. Rufen Sie in der Google Cloud Console die Seite Vaulted backups (Vault-Sicherungen) auf.

    Zu „Vaulted backups“

  2. Wählen Sie oben in der Tabelle Filter table (Tabelle filtern) und dann Resource type (Ressourcentyp) aus. Wählen Sie Cloud SQL aus. Dadurch wird die Anzeige auf die Cloud SQL-Instanzen beschränkt, auf die Sicherungspläne angewendet wurden und deren Sicherungen in einem Backup Vault innerhalb eines Projekts gespeichert sind.

  3. Klicken Sie auf Restore from a point in time (Von einem bestimmten Zeitpunkt wiederherstellen). Die Cloud SQL-Seite Create a clone (Klon erstellen) wird geöffnet.

  4. Folgen Sie der Anleitung unter Wiederherstellung zu einem bestimmten Zeitpunkt mit dem Backup Vault durchführen.

Wiederherstellungs- und Wiederherstellungsjobs zu einem bestimmten Zeitpunkt überwachen

Wenn Sie eine Wiederherstellung oder eine Wiederherstellung zu einem bestimmten Zeitpunkt (Point-In-Time Recovery, PITR) für eine Cloud SQL-Instanz auslösen, verfolgt Backup and DR den Job automatisch. Sie können den Fortschritt und Status des Jobs in der Google Cloud Console überwachen.

So rufen Sie den Fortschritt und Status der Wiederherstellungs- und PITR-Jobs auf:

  1. Rufen Sie in der Google Cloud Console die Seite Jobs von Backup and DR auf.
  2. Suchen Sie nach dem Job, bei dem Resource type (Ressourcentyp) auf Cloud SQL und Job category (Jobkategorie) auf Restore oder Point-in-Time Restore (PITR) festgelegt ist.

Sie können Joblogs für die Wiederherstellung und PITR sowohl im Arbeitslastprojekt, in dem die Cloud SQL-Zielinstanz wiederhergestellt wird, als auch im Backup Vault-Projekt, in dem die Sicherung gespeichert ist, ansehen. Jobdetails können auf der Seite Jobs von Backup and DR und in Cloud Logging aufgerufen werden.

Weitere Informationen finden Sie unter Jobs in der Google Cloud Console überwachen.

Nächste Schritte

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.