Cloud SQL-Instanzen in einem Backup-Vault sichern

Auf dieser Seite wird beschrieben, wie Sie Cloud SQL-Instanzen in einem Backup Vault sichern, der Unveränderlichkeit und erzwungene Aufbewahrung bietet.

In der Google Cloud Console können Sie Cloud SQL-Instanzen in einem Backup Vault sichern, indem Sie Sicherungspläne anwenden. Sie haben zwei Möglichkeiten, eine Sicherung zu erstellen. Mit beiden Methoden können Sie Ihre Backups sicher in einem Backup Vault speichern. So können Sie Ihre Cloud SQL-Instanzen im Falle eines Datenverlusts oder anderer unerwarteter Ereignisse zuverlässig wiederherstellen.

  • Geplante Sicherungen: Cloud SQL-Instanzen werden automatisch in bestimmten Intervallen gesichert, z. B. täglich, wöchentlich, monatlich oder jährlich.
  • On-Demand-Sicherungen Sie können bei Bedarf On-Demand-Sicherungen erstellen. On-Demand-Sicherungen sind nützlich, um Sicherungen zu erstellen, bevor Sie wesentliche Änderungen an Ihren Datenbanken vornehmen, oder für den Ad-hoc-Datenschutz.

Hinweis

  1. Aktivieren Sie die Backup and DR API am Standort der Cloud SQL-Instanzen.

    API aktivieren

  2. Backup Vault erstellen.

  3. Erstellen Sie einen Sicherungsplan.

  4. Weisen Sie dem Sicherungsnutzer IAM-Rollen und -Berechtigungen zu.

  5. Zugriff auf den Backup-Vault im Cloud SQL-Projekt gewähren

  6. Richten Sie Observability Analytics für Ihren Bucket ein, um Backup- und DR-Sicherungsjobs zu überwachen.

  7. Für CMEK-fähige Instanzen: Wenn die Cloud SQL-Quellinstanz mit einem kundenverwalteten Verschlüsselungsschlüssel (CMEK) geschützt ist, müssen Sie dem Backup- und DR-Dienst-Agent die Identity and Access Management-Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter zuweisen. Diese Berechtigung ist für den Cloud Key Management Service-Schlüssel erforderlich, der von der Cloud SQL-Quellinstanz verwendet wird.

    Der Dienst-Agent für Backup und DR befindet sich in dem Projekt, in dem sich der Backup Vault befindet. Weisen Sie dem Dienstkonto diese Rolle zu, bevor Sie versuchen, CMEK-fähige Cloud SQL-Instanzen zu schützen.

IAM-Rollen und -Berechtigungen für den Sicherungsnutzer

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Backup Vault-Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren geplanter Sicherungen oder zum Ausführen von On-Demand-Sicherungen benötigen:

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

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Konfigurieren geplanter Sicherungen oder zum Ausführen von On-Demand-Sicherungen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um geplante Sicherungen zu konfigurieren oder On-Demand-Sicherungen auszuführen:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForCloudSqlInstance
  • backupdr.backupPlanAssociations.fetchForCloudSqlInstance
  • backupdr.backupPlanAssociations.updateForCloudSqlInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForCloudSqlInstance
  • backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
  • backupdr.backupPlanAssociations.deleteForCloudSqlInstance
  • backupdr.backupPlans.useForCloudSqlInstance
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

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

Für jeden API-Aufruf sind dynamische Berechtigungen erforderlich.

In der folgenden Tabelle sind die dynamischen Berechtigungen aufgeführt, die für jeden API-Aufruf erforderlich sind:

Ressource Aktion, die für die Ressource ausgeführt werden soll Für jeden API-Aufruf erforderliche Berechtigungen Projekt, dem die Berechtigung zugewiesen werden soll
Backup Vault Backup Vault erstellen backupdr.backupVaults.create Administratorprojekt
Backup Vault löschen backupdr.backupVaults.delete Administratorprojekt
Backup Vault aktualisieren backupdr.backupVaults.update Administratorprojekt
Backup Vaults auflisten backupdr.backupVaults.list Administratorprojekt
Backup Vault abrufen backupdr.backupVaults.get Administratorprojekt
Sicherungsplan Sicherungsplan erstellen backupdr.backupPlans.create Administratorprojekt
Sicherungsplan löschen backupdr.backupPlans.delete Administratorprojekt
Sicherungsplan abrufen backupdr.backupPlans.get Administratorprojekt
Sicherungspläne auflisten backupdr.backupPlans.list Administratorprojekt
Sicherungsplan aktualisieren backupdr.backupPlans.update Administratorprojekt
Sicherungsplanversion abrufen backupdr.backupPlanRevisions.get Administratorprojekt
Sicherungsplanversionen auflisten backupdr.backupPlanRevisions.list Administratorprojekt
Sicherungsplanversion erstellen backupdrproducer.backupPlanRevisions.create Administratorprojekt
Sicherungsplanversion löschen backupdrproducer.backupPlanRevisions.delete Administratorprojekt
Verknüpfungen von Sicherungsplänen Verknüpfung des Sicherungsplans erstellen cloudsql.instances.updateBackupDrConfig
backupdr.backupPlanAssociations.createForCloudSqlInstance
backupdr.backupPlans.useForCloudSqlInstance
Arbeitslastprojekt
Arbeitslastprojekt
Administratorprojekt
Sicherungsplanverknüpfung löschen backupdr.backupPlanAssociations.deleteForCloudSqlInstance
cloudsql.instances.updateBackupDrConfig
Arbeitslastprojekt
Arbeitslastprojekt
On-Demand-Sicherung bei Verknüpfung des Sicherungsplans auslösen backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance Arbeitslastprojekt
Sicherungsplanverknüpfung abrufen backupdr.backupPlanAssociations.getForCloudSqlInstance Arbeitslastprojekt
Verknüpfungen von Sicherungsplänen auflisten backupdr.backupPlanAssociations.list Arbeitslastprojekt
Verknüpfungen von Sicherungsplänen abrufen backupdr.backupPlanAssociations.fetchForCloudSqlInstance Arbeitslastprojekt
Verknüpfungen von Sicherungsplänen ändern backupdr.backupPlanAssociations.updateForCloudSqlInstance Arbeitslastprojekt
Datenquelle Datenquelle abrufen backupdr.bvdataSources.get Administratorprojekt
Datenquelle auflisten backupdr.backupPlanAssociations.list Administratorprojekt
Wiederherstellung zu einem bestimmten Zeitpunkt backupdr.bvdataSources.useReadOnlyForCloudSqlInstance Administratorprojekt
Sicherungen Sicherung abrufen backupdr.bvbackups.get Administratorprojekt
Sicherungen auflisten backupdr.bvbackups.list Administratorprojekt
Sicherungen abrufen backupdr.bvbackups.fetchForCloudSqlInstance Administratorprojekt
Sicherung löschen backupdr.bvbackups.delete Administratorprojekt
Sicherung wiederherstellen backupdr.bvbackups.useReadOnlyForCloudSqlInstance Administratorprojekt
Verweise auf Datenquellen Datenquellenreferenz abrufen backupdr.dataSourceReferences.getForCloudSqlInstance Arbeitslastprojekt
Datenquellenverweise auflisten backupdr.dataSourceReferences.list Arbeitslastprojekt
Datenquellenreferenzen abrufen backupdr.dataSourceReferences.fetchForCloudSqlInstance Arbeitslastprojekt
Vorgänge Vorgänge auflisten backupdr.operations.list Jeweiliges Projekt
Vorgänge abrufen backupdr.operations.get Jeweiliges Projekt

Zugriff auf den Backup-Vault im Cloud SQL-Projekt gewähren

Wenn Sie eine Cloud SQL-Instanz in einem anderen Projekt sichern möchten als dem, in dem der Backup Vault erstellt wurde, müssen Sie dem Backup Vault-Dienst-Agent im Cloud SQL-Projekt die IAM-Rolle Backup and DR Cloud SQL Operator (roles/backupdr.cloudSqlOperator) zuweisen. Wenn sich das Backup Vault-Projekt, in dem die Sicherungen gespeichert werden, vom Cloud SQL-Projekt unterscheidet, weisen Sie die Rolle dem Backup Vault-Dienst-Agent im Cloud SQL-Projekt zu.

Wenn Sie eine Cloud SQL-Instanz im selben Projekt sichern möchten, in dem der Backup Vault erstellt wird, müssen keine Rollen zugewiesen werden.

Informationen zum Zuweisen von Rollen für den Backup Vault-Dienst-Agenten im Projekt, das Sie sichern möchten, finden Sie unter Dienst-Agenten eine Rolle zuweisen.

Geplante Sicherung konfigurieren

Gehen Sie so vor, um eine geplante Sicherung für Cloud SQL-Instanzen zu konfigurieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.

    Zu Vault-Sicherungen

  2. Klicken Sie auf Sicherung planen.

  3. Wählen Sie in der Liste Ressourcentyp die Option Cloud SQL aus.

  4. Wählen Sie in der Liste Projekt ein Projekt aus, in dem sich die Cloud SQL-Instanz befindet.

  5. Wählen Sie in der Liste Region die Region aus, in der sich Ihre Instanzen befinden.

  6. Klicken Sie in der Liste Ressourcen auf Durchsuchen. Wählen Sie die Cloud SQL-Instanz aus, die Sie sichern möchten, und klicken Sie auf Fertig.

  7. Klicken Sie auf Weiter.

  8. Klicken Sie in der Liste Sicherungsplan auf Auswählen.

  9. Wählen Sie einen Sicherungsplan aus, mit dem Sie die Cloud SQL-Instanzen schützen möchten.

  10. Klicken Sie auf Fertig.

  11. Prüfen Sie die Sicherungsdetails und klicken Sie auf Planen.

gcloud

  1. Erstellen Sie einen Sicherungsplan und eine Cloud SQL-Instanz.

  2. Konfigurieren Sie eine geplante Sicherung mit dem Befehl gcloud backup-dr backup-plan-associations create:

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=CSQL_REGION \
          --project=CSQL_PROJECT_ID \
          --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \
          --resource-type=sqladmin.googleapis.com/Instance \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    Ersetzen Sie Folgendes:

    • BACKUP_PLAN_ASSOCIATION_NAME: der Name der Sicherungsplanverknüpfung.

    • CSQL_REGION: die Region, in der sich die Cloud SQL-Instanzen befinden.

    • CSQL_PROJECT_ID: der Name des Projekts, in dem sich die Cloud SQL-Instanzen befinden.

    • CSQL_INSTANCE_ID: die Cloud SQL-Instanz-ID.

    • PROJECT_ID: der Name des Projekts, in dem Sicherungspläne vorhanden sind.

    • LOCATION: der Standort der Instanz.

    • BACKUP_PLAN: der Name des Sicherungsplans.

Terraform

Sie können eine Terraform-Ressource verwenden, um eine geplante Sicherung zu konfigurieren.


# Before creating a backup plan association, you need to create backup plan (google_backup_dr_backup_plan)
# and Cloud SQL Instance (google_sql_database_instance).
resource "google_backup_dr_backup_plan_association" "csql_association" {
  provider                   = google-beta
  location                   = "us-central1"
  backup_plan_association_id = "my-csql-bpa"
  resource                   = "projects/${google_sql_database_instance.default.project}/instances/${google_sql_database_instance.default.name}"
  resource_type              = "sqladmin.googleapis.com/Instance"
  backup_plan                = google_backup_dr_backup_plan.csql_default.name
}

Zugehörigen Sicherungsplan für eine Cloud SQL-Instanz ändern

Sie können den Sicherungsplan, der auf eine Cloud SQL-Instanz angewendet wird, durch einen anderen Sicherungsplan ersetzen. Der Sicherungsplan, zu dem Sie wechseln möchten, muss die folgenden Kriterien erfüllen:

  • Der Sicherungsplan befindet sich im selben Backup Vault.

  • Der Sicherungsplan befindet sich in derselben Region wie die Cloud SQL-Instanz.

Folgen Sie der nachstehenden Anleitung, um den Sicherungsplan zu ändern, der einer Cloud SQL-Instanz zugeordnet ist.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen für Backup und DR auf.

    Zu Vault-Sicherungen

    Auf der Seite Vault-Sicherungen werden nur die Instanzen aufgeführt, auf die Sicherungspläne angewendet wurden (oder zuvor angewendet wurden) oder deren Sicherungen in einem Backup Vault innerhalb eines Projekts gespeichert sind.

  2. Wählen Sie die Datenquelle aus, für die Sie einen anderen Tarif festlegen möchten. Wählen Sie entweder auf der Seite mit den Sicherungsdetails für die Sicherung oder im Menü die Option Sicherungsplan ändern aus. Im Fenster Sicherungsplan auswählen werden nur die Sicherungspläne aufgeführt, die für diese Instanz gültig sind.

  3. Wählen Sie einen Sicherungsplan aus und klicken Sie auf Anwenden.

gcloud

  • Zugewiesenen Sicherungsplan ändern.

      gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \
      --workload-project=INSTANCE_PROJECT_ID \
      --location=INSTANCE_REGION \
      --backup-plan=BACKUP_PLAN \
      --project=SELECTED_BACKUP_PLAN_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • BACKUP_PLAN_ASSOCIATION_NAME: der Name der Ressource für die Sicherungsplanverknüpfung.

    • INSTANCE_PROJECT_ID: die Projekt-ID der Cloud SQL-Instanz.

    • INSTANCE_REGION: der Standort der Cloud SQL-Instanz.

    • BACKUP_PLAN: der Name des Sicherungsplans, zu dem Sie wechseln.

    • SELECTED_BACKUP_PLAN_PROJECT_ID: die Projekt-ID des ausgewählten Sicherungsplans.

Instanzen auflisten, für die Sicherungen geplant sind

Gehen Sie nach der folgenden Anleitung vor, um die Cloud SQL-Instanzen aufzulisten, für die Sicherungen geplant sind.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.

    Zu Vault-Sicherungen

  2. Wählen Sie oben in der Tabelle Tabelle filtern > 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.

gcloud

Listen Sie Cloud SQL-Instanzen auf, für die Sicherungen geplant sind. Verwenden Sie dazu den Befehl gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type:

  gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
  --location=LOCATION \
  --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • LOCATION: der Speicherort der geplanten Sicherungen.

  • PROJECT_ID: der Name des Projekts, in dem sich die Cloud SQL-Instanzen befinden.

On-Demand-Sicherungen

Sie können eine On-Demand-Sicherung für eine Cloud SQL-Instanz mit einem Sicherungsplan initiieren, indem Sie die gewünschte Sicherungsregel sofort ausführen. Bei On-Demand-Sicherungen werden in der Regel nur die Daten erfasst, die sich seit der letzten inkrementellen Sicherung geändert haben.

Beim Erstellen einer On-Demand-Sicherung können Sie eine Regel aus dem Sicherungsplan auswählen, der der Cloud SQL-Instanz zugeordnet ist. Diese Regel bestimmt, wann die On-Demand-Sicherung gelöscht wird. Sie können den Status des Sicherungsjobs auf der Seite Jobs prüfen. Weitere Informationen finden Sie unter Sicherungs- und Wiederherstellungsjobs in der Google Cloud Console überwachen.

On-Demand-Sicherung erstellen

So erstellen Sie eine On-Demand-Sicherung:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.

    Zu Vault-Sicherungen

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

  2. Wählen Sie die Ressource aus, die gesichert werden soll. Wählen Sie entweder im Menü oder auf der Detailseite für die Ressource die Option On-Demand-Sicherung erstellen aus.

  3. Wählen Sie im Fenster On-Demand-Sicherung erstellen eine Sicherungsregel aus und klicken Sie auf Erstellen.

  4. Klicken Sie auf Benachrichtigungen, um den Status des On-Demand-Sicherungsjobs aufzurufen.

gcloud

  1. On-Demand-Sicherung erstellen Initiieren Sie eine On-Demand-Sicherung mit einer vorhandenen Sicherungsplanverknüpfung. Geben Sie eine Regel-ID an, um den Ablaufzeitraum für diese einzelne On-Demand-Sicherung festzulegen:

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    Ersetzen Sie Folgendes:

    • BACKUP_PLAN_ASSOCIATION_NAME: der Name der Sicherungsplanverknüpfung.

    • RULE_ID: der Name der Sicherungsregel, die Sie für die Ausführung von On-Demand-Sicherungen zuordnen möchten.

    • PROJECT_ID: der Name des Projekts.

    • LOCATION: der Speicherort der geplanten Sicherungen.

Schutz von einer Cloud SQL-Instanz entfernen

Sie können den Schutz einer Cloud SQL-Instanz aufheben, indem Sie den auf die Instanz angewendeten Sicherungsplan entfernen. Wenn Sie einen Sicherungsplan aus einer Cloud SQL-Instanz entfernen, werden keine Sicherungen gelöscht, die während der Verwendung des Sicherungsplans erstellt wurden. Sie können weiterhin auf diese vorhandenen Sicherungen zugreifen und sie verwalten, bis sie ablaufen.

So entfernen Sie den Schutz einer Cloud SQL-Instanz:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.

    Zu Vault-Sicherungen

  2. Klicken Sie auf den Namen der Datenbank, aus der Sie einen Sicherungsplan entfernen möchten.

  3. Wählen Sie Sicherungsplan entfernen aus.

gcloud

Schutz einer Cloud SQL-Instanz aufheben

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

Ersetzen Sie Folgendes:

  • BACKUP_PLAN_ASSOCIATION_NAME: der Name der Sicherungsplanverknüpfung, die Sie löschen möchten.

  • PROJECT_ID: der Name des Projekts.

  • LOCATION: der Standort der geplanten Sicherung.

Beschränkungen

Bei Cloud SQL-Instanzen, die mit CMEK verschlüsselt sind, werden die Berechtigungen von Backup und DR proaktiv geprüft. Wenn der Dienst-Agent für Backup und DR aus dem Projekt des Backup Vaults nicht die erforderliche Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter für den KMS-Schlüssel der Quellinstanz hat, schlägt die Erstellung der Verknüpfung des Sicherungsplans fehl. Achten Sie darauf, dass die erforderlichen IAM-Berechtigungen vorhanden sind, bevor Sie einen Sicherungsplan verknüpfen.

Nächste Schritte