Informazioni sui backup di Cloud SQL

Questa pagina descrive il funzionamento dei backup dell'istanza Cloud SQL. Puoi eseguire i backup sull'istanza principale.

Per istruzioni dettagliate su come pianificare i backup o creare un backup on demand, consulta Creare e gestire i backup on demand e automatici.

Per una panoramica su come ripristinare i dati in un'istanza dal backup, consulta Panoramica del ripristino di un'istanza.

Dati forniti dai backup

I backup consentono di ripristinare i dati persi nell'istanza Cloud SQL. Inoltre, se un'istanza presenta un problema, puoi ripristinarla a un stato precedente utilizzando il backup per sovrascriverla. Abilita i backup automatici per qualsiasi istanza contenente i dati necessari. I backup proteggono i tuoi dati da perdite o danni.

L'attivazione dei backup automatici, insieme al logging delle transazioni, è obbligatoria anche per alcune operazioni, come la creazione di cloni e repliche.

Costo dei backup

Per impostazione predefinita, Cloud SQL conserva 7 backup per ogni istanza della versione Cloud SQL Enterprise e 15 backup automatici per ogni istanza della versione Cloud SQL Enterprise Plus , oltre ai backup on demand. Puoi configurare il numero di backup automatici da conservare (da 1 a 365). Me addebitare una tariffa inferiore per l'archiviazione di backup rispetto ad altri tipi di istanze.

Cloud SQL non esegue il backup di un'istanza se arresti o elimini in esecuzione in un'istanza Compute Engine. Se elimini un'istanza, i dati vengono conservati solo per 4 giorni. A di ripristinare l'istanza e i suoi dati, contatta Assistenza Google Cloud entro il periodo di 4 giorni con tutto il necessario le informazioni sull'istanza.

Per ulteriori informazioni, consulta la pagina dei prezzi.

Backup ed esportazioni

I backup sono gestiti da Cloud SQL in base ai criteri di conservazione e sono separatamente dall'istanza Cloud SQL. I backup di Cloud SQL differiscono da un'esportazione caricata su Cloud Storage, dove gestisci il ciclo di vita. I backup includono l'intero database. Le esportazioni possono selezionare contenuti specifici.

Le operazioni di backup e ripristino non possono essere utilizzate per eseguire l'upgrade di un database a una versione successiva completamente gestita. Puoi eseguire il ripristino da un backup solo su un'istanza con la stessa versione del database.

Per eseguire l'upgrade a una versione successiva, ti consigliamo di utilizzare Database Migration Service o di esportare e poi importare il database in una nuova istanza Cloud SQL.

Informazioni sulle dimensioni del backup

I backup di Cloud SQL sono incrementali. Contengono solo i dati modificato dopo l'esecuzione del backup precedente. Il tuo backup meno recente è simile a quella del database, ma le dimensioni dei backup successivi dipendono sulla frequenza di variazione dei dati. Quando il backup più vecchio viene eliminato, le dimensioni del backup precedente aumentano in modo che esista ancora un backup completo.

Tipi di backup

Cloud SQL esegue due tipi di backup:

Backup on demand

Puoi creare un backup in qualsiasi momento. Potrebbe esserti utile se stai per eseguire un'operazione rischiosa sul database o eseguire il backup non vuoi attendere la finestra di backup. Puoi creare backup on demand su qualsiasi istanza, indipendentemente dal fatto che siano abilitati o meno i backup automatici.

I backup on demand non vengono eliminati automaticamente come sono i backup automatici. Rimangono visibili finché non li elimini o finché la loro istanza non viene eliminata. Poiché non vengono eliminati automaticamente, i backup on demand possono avere un effetto a lungo termine sugli addebiti in fatturazione.

Backup automatici

I backup automatici vengono eseguiti ogni giorno, entro un periodo di backup di 4 ore. La il backup viene avviato durante la finestra di backup. Se possibile, pianifica backup quando l'istanza ha meno attività.

Ti consigliamo di non eliminare i backup automatici perché sono necessari per supportare il recupero point-in-time.

Durante la finestra di backup, i backup automatici vengono eseguiti ogni giorno in cui l'istanza è in esecuzione. Viene eseguito un ulteriore backup automatico dopo l'arresto dell'istanza per salvaguardare tutte le modifiche prima dell'arresto dell'istanza. Fino a sette più recenti vengono conservati per impostazione predefinita. Puoi impostare il numero di backup automatici da conservare, da 1 a 365. I valori di conservazione dei backup e dei log delle transazioni possono essere modificati rispetto all'impostazione predefinita. Scopri di più.

Dove vengono archiviati i backup

Le posizioni dei backup includono:

Località di backup predefinite

Se non specifichi una posizione di archiviazione, i backup vengono archiviati nella regione a più regioni più geograficamente vicina alla posizione dell'istanza Cloud SQL. Ad esempio, se l'istanza Cloud SQL si trova in us-central1, i backup vengono archiviati per impostazione predefinita nella regione con più aree geografiche us. Tuttavia, una località predefinita come australia-southeast1 si trova al di fuori di più regioni. La località a più regioni più vicina è asia.

Località di backup personalizzate

Cloud SQL ti consente di selezionare una località personalizzata per i dati di backup. Questo è utile se la tua organizzazione deve rispettare le normative sulla residenza dei dati che richiedono di conservare i backup all'interno di un confine geografico specifico. Se la tua organizzazione ha questo tipo di requisito, probabilmente utilizza una Criteri dell'organizzazione relativi alla limitazione della località. Con questa norma, quando provi a utilizzare una località geografica che non è conforme alle norme, viene visualizzato un avviso nella pagina Backup. Se visualizzate questo avviso, dovete modificare la posizione del backup in una posizione consentita dal criterio.

Quando selezioni una posizione personalizzata per un backup, tieni presente quanto segue:

  • Costo: un cluster della tua istanza potrebbe trovarsi in una regione con costi inferiori rispetto agli altri.
  • Prossimità al server dell'applicazione: ti consigliamo di archiviare il backup il più vicino possibile all'applicazione di pubblicazione.
  • Utilizzo dello spazio di archiviazione: devi disporre di spazio di archiviazione sufficiente per conservare il backup man mano che le dimensioni aumentano. A seconda del carico di lavoro, potresti avere cluster di dimensioni diverse o con utilizzi del disco diversi. Questo potrebbe dipendere dal cluster che scegli.

Per un elenco completo dei valori regionali validi, consulta Località delle istanze. Per un elenco completo dei valori multiregionali, consulta Località multiregionali.

Per saperne di più sull'impostazione delle località per i backup e sulla visualizzazione delle posizioni dei backup eseguiti per un'istanza, vedi Impostare una località personalizzata per i backup e Visualizzare le località di backup.

Backup automatico e conservazione dei log delle transazioni

I backup automatici vengono utilizzati per ripristinare un'istanza Cloud SQL. Per eseguire un recupero point-in-time viene utilizzata una combinazione di backup automatici e log delle transazioni.

I backup automatici possono essere conservati per un massimo di un anno configurando il periodo di conservazione, mentre i backup on demand vengono mantenuti fino a quando non li elimini o fino all'eliminazione dell'istanza.

Sebbene i log delle transazioni siano conteggiati in giorni, non è garantito che i backup automatici vengano eseguiti in corrispondenza di un confine di giorno. Per queste impostazioni di conservazione vengono utilizzate unità diverse. La conservazione dei backup automatici è un conteggio e può essere impostata da 1 a 365 backup.

La conservazione dei log delle transazioni è in giorni. Per le istanze della versione Enterprise Plus di Cloud SQL, l'intervallo va da 1 a 35 giorni, con un valore predefinito di 14 giorni. Per la versione Cloud SQL Enterprise , l'intervallo è compreso tra 1 e 7 giorni, con un valore predefinito di 7 giorni. Sia per le istanze della versione Cloud SQL Enterprise Plus sia per quelle della versione Cloud SQL Enterprise, l'impostazione di conservazione dei log delle transazioni deve essere inferiore all'impostazione di conservazione dei backup.

I limiti inferiori sono utili per le istanze di test, perché i log e i backup vengono eliminati più rapidamente. Per i log delle transazioni, le dimensioni del disco non aumentano così tanto con limiti inferiori. L'utilizzo di valori più elevati per la conservazione dei backup automatici ti consente di eseguire il ripristino da un periodo di tempo più lontano.

I log vengono eliminati una volta al giorno, non continuamente. Quando il numero di giorni di conservazione dei log è uguale al numero di backup, la conservazione dei log può essere insufficiente. Ad esempio, se imposti la conservazione dei log su sette giorni e la conservazione del backup su 7 backup significa che verranno conservati i log per un periodo compreso tra sei e sette giorni.

Ti consigliamo di impostare il numero di backup su almeno uno in più rispetto ai giorni del conservazione dei log per garantire un minimo di giorni specifici di conservazione dei log.

Un'elevata attività di scrittura nel database può generare un volume elevato di log delle transazioni, che può consumare molto spazio su disco e portare all'aumento dello spazio su disco per le istanze con l'aumento automatico dello spazio di archiviazione abilitato. Consigliamo di dimensionare lo spazio di archiviazione dell'istanza per tenere conto della conservazione dei log delle transazioni.

Vedi Impostare la conservazione automatica dei backup.

Consulta Impostare la conservazione dei log delle transazioni.

Posso esportare un backup?

No, non puoi esportare un backup. Puoi esportare solo i dati delle istanze. Consulta Esportazione dei dati da Cloud SQL.

Informazioni sull'utente di backup speciale

Cloud SQL crea un utente speciale del database, cloudsqladmin, per ogni istanza e genera una password univoca specifica per l'istanza. Cloud SQL accede come utente cloudsqladmin per eseguire i backup automatici.

In che modo i backup influiscono sulle operazioni delle istanze

Le scritture e altre operazioni non sono interessate dalle operazioni di backup.

Limitazioni della frequenza dei backup

Cloud SQL limita la frequenza delle operazioni di backup sul disco dati. È consentito un massimo di cinque operazioni di backup ogni 50 minuti per per progetto. Se un'operazione di backup non va a buon fine, non viene conteggiata ai fini di questa quota. Se raggiungi il limite, l'operazione non va a buon fine e viene generato un errore che ti avvisa quando puoi riprovare.

Vediamo come si comporta Cloud SQL e la limitazione di frequenza per i backup.

Cloud SQL utilizza i token di un bucket per determinare quante operazioni di backup sono disponibili in un determinato momento. Ogni istanza ha un bucket. È previsto un massimo di cinque token nel bucket che puoi usare per le operazioni di backup. Ogni 10 minuti, viene aggiunto un nuovo token al bucket. Se il bucket è pieno, il token supera il limite.

Ogni volta che esegui un'operazione di backup, viene concesso un token dal bucket. Se l'operazione riesce, il token viene rimosso dal bucket. Se non riesce, viene restituito al bucket. Il seguente diagramma mostra come funziona:

Come funzionano i token

Controlli di backup e integrità dei dati

Cloud SQL esegue automaticamente i controlli di integrità del database in background per identificare potenziali problemi di integrità dei dati. Questi controlli vengono eseguiti come per i processi offline ripristinando un campione di backup avviati dal cliente backup di ripristino.

Backup di ripristino

Dopo l'eliminazione di un'istanza, Cloud SQL elimina tutti i backup. Per evitare l'eliminazione accidentale delle istanze, Cloud SQL conserva i backup di un'istanza per quattro giorni. Per recuperare un'istanza eliminata, contatta l'Assistenza clienti Google Cloud entro quattro giorni.

Cloud SQL conserva almeno un ultimo backup giornaliero valido di ogni istanza attiva. Di conseguenza, se non sono disponibili backup validi, puoi utilizzare il backup giornaliero per recuperare l'istanza, contattando Assistenza clienti Google Cloud.

Tabelle non registrate

I dati delle tabelle non registrate vengono cancellati automaticamente durante il ripristino del backup.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Non puoi visualizzare lo stato dell'operazione corrente. La console Google Cloud segnala l'esito positivo o negativo solo quando l'operazione al termine dell'operazione. Non è progettato per mostrare avvisi o altri aggiornamenti.

Esegui Comando gcloud sql operations list per elencare tutti operazioni per l'istanza Cloud SQL specificata.

Vuoi sapere chi ha emesso un'operazione di backup on demand. L'interfaccia utente non mostra l'utente che ha avviato un'operazione.

Controlla i log e filtra in base al testo per trovare l'utente. Potresti dover utilizzare i log di controllo informazioni private. I file di log pertinenti includono:

  • cloudsql.googleapis.com/postgres.log
  • Se Cloud Audit Logs è abilitato e disponi delle autorizzazioni necessarie per visualizzarle, Potrebbe essere disponibile anche cloudaudit.googleapis.com/activity.
Dopo aver eliminato un'istanza, non puoi eseguirne il backup.

Dopo l'eliminazione definitiva di un'istanza, non è possibile recuperare i dati. Tuttavia, se l'istanza viene ripristinata, vengono ripristinati anche i relativi backup. Per maggiori informazioni informazioni sul recupero di un'istanza eliminata, consulta Backup di recupero.

Se hai eseguito un'operazione di esportazione, crea una nuova istanza ed eseguire un'operazione di importazione per ricreare il database. Le esportazioni sono vengono scritte in Cloud Storage e le importazioni vengono lette da lì.

Un backup automatico è bloccato da molte ore e non può essere annullato. I backup possono richiedere molto tempo, a seconda delle dimensioni del database.

Se devi annullare l'operazione, puoi chiedere all'assistenza clienti di force restart l'istanza.

Un'operazione di ripristino può non andare a buon fine se uno o più utenti a cui viene fatto riferimento nel file di dump SQL non esistono. Prima di ripristinare un dump SQL, tutti gli utenti del database che sono proprietari di oggetti o a cui sono state concesse autorizzazioni per gli oggetti nel database di cui è stato eseguito il dump devono esistere nel database di destinazione. In caso contrario, l'operazione di ripristino non riesce a ricreare gli oggetti con la proprietà o le autorizzazioni originali.

Crea gli utenti del database prima di ripristinare il dump SQL.

Vuoi aumentare il numero di giorni che puoi mantenere automatici i backup da sette a 30 giorni o più. Puoi configurare il numero di backup automatici da conservare, da 1 a 365. I backup automatici vengono eliminati regolarmente in base al valore di conservazione configurato. Purtroppo, ciò significa i backup attualmente visibili sono gli unici da cui puoi eseguire il ripristino.

Per conservare i backup a tempo indeterminato, puoi creare un backup on demand, in quanto non vengono eliminati come i backup automatici. I backup on demand rimangono a tempo indeterminato. Vale a dire che rimangono valide finché non vengono eliminate o non viene eliminata l'istanza a cui appartengono. Poiché questo tipo di backup non viene eliminato automaticamente, può e configurare la fatturazione.

Un backup automatico non è riuscito e non hai ricevuto una notifica via email. Per ricevere una notifica da Cloud SQL sullo stato del backup, configura un avviso basato su log.
Un'istanza non riesce ripetutamente perché passa ripetutamente tra gli stati di errore e di ripristino del backup. I tentativi di connettersi e utilizzare il database dopo il ripristino non vanno a buon fine.
  • Potrebbero esserci troppe connessioni aperte. Un numero eccessivo di connessioni può derivare da errori che si verificano nel mezzo di una connessione in cui non sono presenti impostazioni autovacuum per eliminare le connessioni non attive.
  • Il ciclo può verificarsi se un codice personalizzato utilizza una logica di ripetizione che non si interrompe dopo alcuni errori.
  • Potrebbe esserci troppo traffico. Usa il pool di connessioni e altro best practice per per la connettività.

Tentativi da effettuare

  1. Verifica che il database sia configurato per autovacuum.
  2. Controlla se è stata configurata una logica per i nuovi tentativi di connessione nel codice personalizzato.
  3. Abbassa il traffico finché il database non si recupera, quindi gira lentamente di backup del traffico.
Mancano dati durante l'esecuzione di un'operazione di backup/ripristino. Le tabelle sono state create come non registrate. Ad esempio:

CREATE UNLOGGED TABLE ....

Queste tabelle non sono incluse in un ripristino da un backup:

  • I contenuti delle tabelle non registrate non sopravvivono al failover su un'istanza ad alta disponibilità.
  • Le tabelle non registrate non sopravvivono agli arresti anomali di Postgres.
  • Le tabelle non registrate non vengono replicate nelle repliche di lettura.
  • Le tabelle non registrate vengono cancellate automaticamente durante il ripristino del backup.

La soluzione è evitare di utilizzare tabelle non registrate se vuoi ripristinarle tramite un backup. Se esegui il ripristino da un database che ha già tabelle non registrate, puoi eseguire il dump del database in un file e ricaricare i dati dopo aver modificato il file dumpato in ALTER TABLE in SET LOGGED in queste tabelle.

Passaggi successivi