Cloud SQL-Instanz aus einem Sicherungsspeicher wiederherstellen

In diesem Dokument wird beschrieben, wie Sie eine Cloud SQL-Instanz aus einem Sicherungsspeicherort mit der Google Cloud Console oder der Google Cloud CLI wiederherstellen. Außerdem wird beschrieben, wie Sie eine neue oder vorhandene Instanz wiederherstellen, eine Quellinstanz überschreiben oder eine Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) durchführen.

Weitere Informationen zu den konzeptionellen Funktionen des Backup- und DR-Dienstes finden Sie in der Übersicht zum Backup- und DR-Dienst. Wenn Sie Ihre Datenbanken zuerst sichern möchten, lesen Sie den Abschnitt Cloud SQL-Instanzen in einem Sicherungsspeicher sichern.

Notfallwiederherstellung und Ausfallsicherheit

Der Backup- und DR-Dienst 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 Arbeitslastprojekt mit der Cloud SQL-Quellinstanz gelöscht wurde. Das liegt daran, dass die erforderlichen Entschlüsselungsberechtigungen für CMEK-verschlüsselte Sicherungen dem Dienst-Agent für Backup und DR im Projekt des Backup Vault und nicht im Arbeitslastprojekt gewährt werden. So wird sichergestellt, dass Ihre Sicherungen zugänglich und wiederherstellbar bleiben, 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 in einer neuen Instanz im selben oder in einem anderen Projekt durchführen. Das bietet Flexibilität bei der Notfallwiederherstellung.

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 Sicherungsspeicher benötigen:

  • So erstellen Sie das Wiederherstellungsziel: Cloud SQL-Administrator (roles/cloudsql.admin) für das Projekt, in dem sich die Zielinstanz befindet
  • So lesen Sie das Backup aus dem Vault: Backup and DR Restore User (roles/backupdr.restoreUser) im Projekt, in dem sich die Quellbackups 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:

Erforderliche Berechtigungen

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

  • So erstellen Sie das Wiederherstellungsziel: cloudsql.instances.restore
  • So lesen Sie das Backup aus dem Tresor: 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

So stellen Sie eine Cloud SQL-Instanz wieder her:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vaulted Backups auf.

    Zu Vault-Sicherungen

    Auf der Seite Vaulted backups (Vaulted Backups) 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 Wiederherstellen aus.

    Auf der Seite Seite wiederherstellen können Sie die folgenden Wiederherstellungsoptionen auswählen:

    • Das Feld Ressourcentyp ist mit Cloud SQL vorausgefüllt.

    • Wählen Sie unter Ressourcenname die Cloud SQL-Instanz aus, die wiederhergestellt werden soll.

    • Wenn Sie auf Sicherung klicken, wird ein Bereich mit allen verfügbaren Sicherungen geöffnet. Wählen Sie die Sicherung aus, die Sie wiederherstellen möchten.

    • Wählen Sie unter Ziel für die Wiederherstellung auswählen das Projekt aus, in dem Sie die Cloud SQL-Instanz wiederherstellen möchten.

  3. Klicken Sie auf Weiter.

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

    • 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 Instanz-ID mit Kleinbuchstaben, Ziffern und Bindestrichen ein. Muss mit einem Buchstaben beginnen.
    • Vorhandene Instanz überschreiben: Wählen Sie eine vorhandene Instanz aus der Liste der verfügbaren Instanzen aus, die überschrieben werden soll.

    • Quellinstanz überschreiben: Ihre aktuelle Instanz wird ü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. Dies wird für die Produktion nicht 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: data-source-reference verwenden

      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 Vaults.

      • CSQL_INSTANCE_ID: Der Datenbankname der Cloud SQL-Instanz.

      • CSQL_INSTANCE_PROJECT_ID: Das Projekt, das die Cloud SQL-Instanz enthält.

    • 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 Vaults.

      • CSQL_INSTANCE_ID: Der Name der Cloud SQL-Instanz.

      • CSQL_INSTANCE_PROJECT_ID: Das Projekt, das die Cloud SQL-Instanz enthält.

      • BACKUP_VAULT_PROJECT_ID: Das Projekt, das den Backup Vault enthält.

  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 wiederhergestellt werden soll.

    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 Vaults, aus dem Sie Daten wiederherstellen möchten.

    • RESTORE_INSTANCE: Der Name der Ziel-Cloud SQL-Instanz.

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

    • RESTORE_REGION: Die Region, in der Sie die Wiederherstellung in einer neuen Cloud SQL-Instanz ausführen möchten. Dies ist für regionale Sicherungen optional. Verwenden Sie diesen Parameter nicht, wenn Sie die Wiederherstellung in einer vorhandenen Instanz ausführen.

  4. Optional: Informationen zum Überschreiben anderer Eigenschaften finden Sie unter Übersicht über die Google Cloud CLI-Befehle für den Backup- und DR-Dienst.

Cloud SQL-Instanz zu einem anderen Zeitpunkt wiederherstellen

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

  1. Rufen Sie in der Google Cloud Console die Seite Vaulted Backups auf.

    Zu Vault-Sicherungen

  2. Wählen Sie oben in der Tabelle Tabelle filtern und dann 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 Zu einem bestimmten Zeitpunkt wiederherstellen. Die Cloud SQL-Seite Klon erstellen wird geöffnet.

  4. Folgen Sie der Anleitung unter PITR mit dem Backup Vault durchführen.

Nächste Schritte

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