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
Aktivieren Sie die Backup and DR API am Standort der Cloud SQL-Instanzen.
Weisen Sie dem Sicherungsnutzer IAM-Rollen und -Berechtigungen zu.
Richten Sie Observability Analytics für Ihren Bucket ein, um Backup- und DR-Sicherungsjobs zu überwachen.
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.cryptoKeyEncrypterDecrypterzuweisen. 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:
- Backup and DR Backup User (
roles/backupdr.backupUser) - Betrachter (
roles/viewer)
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.updateBackupDrConfigbackupdr.backupPlanAssociations.createForCloudSqlInstancebackupdr.backupPlans.useForCloudSqlInstance |
Arbeitslastprojekt Arbeitslastprojekt Administratorprojekt |
| Sicherungsplanverknüpfung löschen | backupdr.backupPlanAssociations.deleteForCloudSqlInstancecloudsql.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
Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.
Klicken Sie auf Sicherung planen.
Wählen Sie in der Liste Ressourcentyp die Option Cloud SQL aus.
Wählen Sie in der Liste Projekt ein Projekt aus, in dem sich die Cloud SQL-Instanz befindet.
Wählen Sie in der Liste Region die Region aus, in der sich Ihre Instanzen befinden.
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.
Klicken Sie auf Weiter.
Klicken Sie in der Liste Sicherungsplan auf Auswählen.
Wählen Sie einen Sicherungsplan aus, mit dem Sie die Cloud SQL-Instanzen schützen möchten.
Klicken Sie auf Fertig.
Prüfen Sie die Sicherungsdetails und klicken Sie auf Planen.
gcloud
Erstellen Sie einen Sicherungsplan und eine Cloud SQL-Instanz.
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_PLANErsetzen 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.
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
Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen für Backup und DR auf.
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.
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.
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_IDErsetzen 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
Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.
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
Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.
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.
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.
Wählen Sie im Fenster On-Demand-Sicherung erstellen eine Sicherungsregel aus und klicken Sie auf Erstellen.
Klicken Sie auf Benachrichtigungen, um den Status des On-Demand-Sicherungsjobs aufzurufen.
gcloud
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
Rufen Sie in der Google Cloud Console die Seite Vault-Sicherungen auf.
Klicken Sie auf den Namen der Datenbank, aus der Sie einen Sicherungsplan entfernen möchten.
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.