Questa pagina descrive come eseguire il backup delle istanze Cloud SQL in un vault di backup, che garantisce l'immutabilità e la conservazione forzata.
Nella console Google Cloud , puoi eseguire il backup delle istanze Cloud SQL in un vault di backup applicando i piani di backup. Puoi eseguire il backup in uno di questi due modi. Entrambi i metodi consentono di archiviare i backup in modo sicuro in un vault di backup, fornendo un modo affidabile per recuperare le istanze Cloud SQL in caso di perdita di dati o altri eventi imprevisti.
- Backup pianificati: esegui automaticamente il backup delle istanze Cloud SQL a intervalli specifici, ad esempio giornalieri, settimanali, mensili o annuali.
- Backup on demand. Puoi creare backup on demand ogni volta che ne hai bisogno. I backup on demand sono utili per creare backup prima di apportare modifiche significative ai database o per la protezione dei dati ad hoc.
Prima di iniziare
Abilita l'API del servizio di Backup e DR dove si trovano le istanze Cloud SQL.
Concedi l'accesso al vault di backup nel progetto Cloud SQL.
Configura Observability Analytics nel bucket per monitorare i job di backup di Backup e RE.
Per le istanze abilitate a CMEK: se l'istanza Cloud SQL di origine è protetta con una chiave di crittografia gestita dal cliente (CMEK), devi concedere il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypterIdentity and Access Management all'agente di servizio Backup and DR Service. Questa autorizzazione è richiesta per la chiave Cloud Key Management Service utilizzata dall'istanza Cloud SQL di origine.Il service agent del servizio di Backup e DR si trova nel progetto in cui si trova il vault di backup. Concedi questo ruolo al account di servizio prima di tentare di proteggere le istanze Cloud SQL abilitate per CMEK.
Ruoli e autorizzazioni IAM per l'utente di backup
Per ottenere le autorizzazioni necessarie per configurare i backup pianificati o eseguire backup on demand, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto del vault di backup:
- Backup and DR Backup User (
roles/backupdr.backupUser) - Visualizzatore (
roles/viewer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare i backup pianificati o eseguire backup on demand. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per configurare i backup pianificati o eseguire i backup on demand sono necessarie le seguenti autorizzazioni:
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForCloudSqlInstance -
backupdr.backupPlanAssociations.fetchForCloudSqlInstance -
backupdr.backupPlanAssociations.list -
backupdr.backupPlanAssociations.getForCloudSqlInstance -
backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance -
backupdr.backupPlanAssociations.deleteForCloudSqlInstance -
backupdr.backupPlans.useForCloudSqlInstance -
backupdr.locations.list -
backupdr.operations.get -
cloudasset.assets.searchAllResources
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Autorizzazioni dinamiche richieste per ogni chiamata API
La tabella seguente elenca le autorizzazioni dinamiche richieste per ogni chiamata API:
| Risorsa | Azione da eseguire sulla risorsa | Autorizzazioni richieste per ogni chiamata API | Progetto a cui assegnare l'autorizzazione |
|---|---|---|---|
| Vault di backup | Crea vault di backup | backupdr.backupVaults.create |
Progetto amministratore |
| Elimina il vault di backup | backupdr.backupVaults.delete |
Progetto amministratore | |
| Aggiorna vault di backup | backupdr.backupVaults.update |
Progetto amministratore | |
| Elenco dei vault di backup | backupdr.backupVaults.list |
Progetto amministratore | |
| Recuperare il vault di backup | backupdr.backupVaults.get |
Progetto amministratore | |
| Piano di backup | Crea piano di backup | backupdr.backupPlans.create |
Progetto amministratore |
| Elimina piano di backup | backupdr.backupPlans.delete |
Progetto amministratore | |
| Ottieni piano di backup | backupdr.backupPlans.get |
Progetto amministratore | |
| Elenca i piani di backup | backupdr.backupPlans.list |
Progetto amministratore | |
| Associazioni del piano di backup | Crea associazione del piano di backup | cloudsql.instances.updateBackupDrConfigbackupdr.backupPlanAssociations.createForCloudSqlInstancebackupdr.backupPlans.useForCloudSqlInstance |
Progetto di workload Progetto di workload Progetto amministratore |
| Elimina l'associazione del piano di backup | backupdr.backupPlanAssociations.deleteForCloudSqlInstancecloudsql.instances.updateBackupDrConfig |
Progetto di workload Progetto di workload |
|
| Attiva un backup on demand sull'associazione del piano di backup | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance |
Progetto di workload | |
| Ottieni l'associazione del piano di backup | backupdr.backupPlanAssociations.getForCloudSqlInstance |
Progetto di workload | |
| Elenca le associazioni del piano di backup | backupdr.backupPlanAssociations.list |
Progetto di workload | |
| Recupera le associazioni del piano di backup | backupdr.backupPlanAssociations.fetchForCloudSqlInstance |
Progetto di workload | |
| Origine dati | Recupera origine dati | backupdr.bvdataSources.get |
Progetto amministratore |
| Elenco origini dati | backupdr.backupPlanAssociations.list |
Progetto amministratore | |
| Ripristino del recupero point-in-time | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance |
Progetto amministratore | |
| Backup | Ottieni backup | backupdr.bvbackups.get |
Progetto amministratore |
| Elenco dei backup | backupdr.bvbackups.list |
Progetto amministratore | |
| Recuperare i backup | backupdr.bvbackups.fetchForCloudSqlInstance |
Progetto amministratore | |
| Elimina backup | backupdr.bvbackups.delete |
Progetto amministratore | |
| Ripristina backup | backupdr.bvbackups.useReadOnlyForCloudSqlInstance |
Progetto amministratore | |
| Riferimenti alle origini dati | Recupera riferimento origine dati | backupdr.dataSourceReferences.getForCloudSqlInstance |
Progetto di workload |
| Elenca i riferimenti alle origini dati | backupdr.dataSourceReferences.list |
Progetto di workload | |
| Recupera riferimenti all'origine dati | backupdr.dataSourceReferences.fetchForCloudSqlInstance |
Progetto di workload | |
| Operazioni | Elenca operazioni | backupdr.operations.list |
Progetto in questione |
| Recupero operazioni | backupdr.operations.get |
Progetto in questione |
Concedere l'accesso al vault di backup nel progetto Cloud SQL
Per eseguire il backup di un'istanza Cloud SQL in un progetto diverso da quello in cui viene creato il vault di backup, devi concedere il ruolo IAM Backup and DR Cloud SQL Operator (roles/backupdr.cloudSqlOperator) all'agente di servizio del vault di backup all'interno del progetto Cloud SQL. Se il progetto del vault di backup in cui verranno archiviati i backup è diverso dal progetto Cloud SQL, assegna il ruolo all'agente di servizio del vault di backup all'interno del progetto Cloud SQL.
Per eseguire il backup di un'istanza Cloud SQL nello stesso progetto in cui viene creato il vault di backup, non è necessario concedere ruoli.
Per informazioni sulla concessione di ruoli al service agent del vault di backup all'interno del progetto di cui vuoi eseguire il backup, consulta Concedi un ruolo al service agent.
Configura un backup pianificato
Utilizza le seguenti istruzioni per configurare un backup pianificato per le istanze Cloud SQL.
Console
Nella console Google Cloud , vai alla pagina Backup protetti.
Fai clic su Pianifica backup.
Dall'elenco Tipo di risorsa, seleziona Cloud SQL.
Dall'elenco Progetto, seleziona un progetto in cui si trova l'istanza di Cloud SQL.
Nell'elenco Regione, seleziona la regione in cui si trovano le istanze.
Nell'elenco Risorse, fai clic su Sfoglia. Scegli l'istanza Cloud SQL di cui vuoi eseguire il backup e fai clic su Fine.
Fai clic su Continua.
Nell'elenco Piano di backup, fai clic su Seleziona.
Scegli un piano di backup con cui proteggere le istanze Cloud SQL.
Fai clic su Fine.
Controlla i dettagli del backup e fai clic su Pianifica.
gcloud
Crea un piano di backup e un'istanza Cloud SQL.
Configura un backup pianificato utilizzando il comando
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_PLANSostituisci quanto segue:
BACKUP_PLAN_ASSOCIATION_NAME: il nome dell'associazione del piano di backup.CSQL_REGION: la regione in cui si trovano le istanze Cloud SQL.CSQL_PROJECT_ID: il nome del progetto in cui si trovano le istanze Cloud SQL.CSQL_INSTANCE_ID: l'ID istanza Cloud SQL.PROJECT_ID: il nome del progetto in cui esistono i piani di backup.LOCATION: la posizione dell'istanza.BACKUP_PLAN: il nome del piano di backup.
Terraform
Puoi utilizzare una risorsa Terraform per configurare un backup pianificato.
Elenca le istanze per cui sono pianificati i backup
Utilizza le seguenti istruzioni per elencare le istanze Cloud SQL per le quali sono pianificati i backup.
Console
Nella console Google Cloud , vai alla pagina Backup protetti.
Nella parte superiore della tabella, seleziona Filtra tabella > Tipo di risorsa. Seleziona Cloud SQL. In questo modo, la visualizzazione viene limitata solo alle istanze Cloud SQL a cui sono applicati piani di backup e i cui backup sono archiviati in un vault di backup all'interno di un progetto.
gcloud
Elenca le istanze Cloud SQL per le quali sono pianificati i backup utilizzando il comando
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
Sostituisci quanto segue:
LOCATION: la posizione dei backup pianificati.
PROJECT_ID: il nome del progetto in cui si trovano le istanze Cloud SQL.
Backup on demand
Puoi avviare un backup on demand per un'istanza Cloud SQL con un piano di backup attivando immediatamente la regola di backup che preferisci. I backup on demand in genere acquisiscono solo i dati modificati dall'ultimo backup incrementale.
Quando crei un backup on demand, puoi scegliere una regola dal piano di backup associato all'istanza Cloud SQL. Questa regola determina quando viene eliminato il backup on demand. Puoi controllare lo stato del job di backup dalla pagina Job. Per saperne di più, consulta Monitorare i job di backup e ripristino nella console Google Cloud .
Crea un backup on demand
Utilizza le seguenti istruzioni per creare un backup on demand.
Console
Nella console Google Cloud , vai alla pagina Backup protetti.
Vai ai backup archiviati nel vault
La pagina Backup protetti elenca solo le risorse di dati a cui sono applicati piani di backup e i cui backup sono archiviati in un vault di backup all'interno di un progetto.
Seleziona la risorsa di cui eseguire il backup. Dal menu o dalla pagina dei dettagli della risorsa, seleziona Crea backup on demand.
Nella finestra Crea un backup on demand, seleziona una regola di backup da utilizzare e fai clic su Crea.
Per visualizzare lo stato del job di backup on demand, fai clic su Notifiche.
gcloud
Crea un backup on demand. Avvia un backup on demand utilizzando un'associazione del piano di backup esistente. Specifica un ID regola per determinare il periodo di scadenza di questo singolo backup on demand:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]Sostituisci quanto segue:
BACKUP_PLAN_ASSOCIATION_NAME: il nome dell'associazione del piano di backup.
RULE_ID: il nome della regola di backup che vuoi associare per eseguire backup on demand.
PROJECT_ID: il nome del progetto.
LOCATION: la posizione dei backup pianificati.
Rimuovere la protezione da un'istanza Cloud SQL
Puoi rimuovere la protezione da un'istanza Cloud SQL rimuovendo il piano di backup applicato all'istanza. La rimozione di un piano di backup da un'istanza Cloud SQL non elimina i backup creati durante l'utilizzo del piano di backup. Puoi comunque accedere a questi backup esistenti e gestirli fino alla loro scadenza.
Utilizza le seguenti istruzioni per rimuovere la protezione da un'istanza Cloud SQL:
Console
Nella console Google Cloud , vai alla pagina Backup protetti.
Fai clic sul nome del database da cui vuoi rimuovere un piano di backup.
Seleziona Rimuovi piano di backup.
gcloud
Annulla la protezione di un'istanza Cloud SQL.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
Sostituisci quanto segue:
BACKUP_PLAN_ASSOCIATION_NAME: il nome dell'associazione del piano di backup che vuoi eliminare.
PROJECT_ID: il nome del progetto.
LOCATION: la posizione del backup pianificato.
Limitazioni
Per le istanze Cloud SQL criptate con CMEK, il servizio di backup e DR convalida in modo proattivo
le autorizzazioni. Se il service agent del servizio di Backup e DR del progetto del vault di backup non dispone del ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter necessario per la chiave KMS dell'istanza di origine, la creazione dell'associazione del piano di backup non va a buon fine. Assicurati che le autorizzazioni IAM richieste siano in vigore prima di associare un piano di backup.