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.

Che cosa forniscono i backup

I backup consentono di ripristinare i dati persi nell'istanza Cloud SQL. Inoltre, se un'istanza ha 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 automatici per ogni istanza Cloud SQL Enterprise e 15 backup automatici per ogni istanza Cloud SQL Enterprise Plus , oltre ai backup on demand. Puoi impostare il numero di backup automatici da conservare (da 1 a 365). Abboniamo una tariffa inferiore per lo spazio di archiviazione di backup rispetto ad altri tipi di istanze.

Cloud SQL non esegue il backup di un'istanza se la fermi o la elimini. Se elimini un'istanza, i dati vengono conservati solo per 4 giorni. Per recuperare l'istanza e i relativi dati, contatta l'assistenza Google Cloud entro 4 giorni fornendo tutte le informazioni richieste sull'istanza.

Per ulteriori informazioni, consulta la pagina dei prezzi.

Backup ed esportazioni

I backup vengono gestiti da Cloud SQL in base ai criteri di conservazione e vengono archiviati 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. 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 che sono stati modificati dopo l'esecuzione del backup precedente. Il backup più antico ha dimensioni simili a quelle del database, ma le dimensioni dei backup successivi dipendono dalla velocità di modifica dei dati. Quando il backup più vecchio viene eliminato, le dimensioni del backup precedente aumentano in modo che esista ancora un backup completo.

Puoi controllare le dimensioni di un singolo backup. La dimensione del backup rappresenta la dimensione fatturabile di ciascun backup.

Tipi di backup

Cloud SQL esegue due tipi di backup:

Backup on demand

Puoi creare un backup in qualsiasi momento. Ti è utile se stai per eseguire un'operazione rischiosa sul database o se hai bisogno di un backup e non vuoi attendere la finestra di backup. Puoi creare backup on demand per qualsiasi istanza, che si tratti di un'istanza con backup automatici attivati o meno.

I backup on demand non vengono eliminati automaticamente come 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 in una finestra di backup di 4 ore. Il backup inizia durante la finestra di backup. Se possibile, pianifica i backup quando l'attività dell'istanza è minima.

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 altro backup automatico dopo l'arresto dell'istanza per salvaguardare tutte le modifiche prima dell'arresto. Per impostazione predefinita, vengono conservati fino a sette backup più recenti. 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:

Posizioni 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 regione multipla più vicina è asia.

Località di backup personalizzate

Cloud SQL ti consente di selezionare una posizione personalizzata per i dati di backup. Questa funzionalità è utile se la tua organizzazione deve rispettare le normative sulla residenza dei dati che richiedono di mantenere i backup all'interno di un confine geografico specifico. Se la tua organizzazione ha questo tipo di requisito, probabilmente utilizza un criterio dell'organizzazione relativo alla restrizione sulla località delle risorse. 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 un costo inferiore rispetto alle altre.
  • 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 influire sul 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 ulteriori informazioni su come impostare le posizioni per i backup e visualizzare le posizioni dei backup eseguiti per un'istanza, consulta Impostare una posizione personalizzata per i backup e Visualizzare le posizioni dei backup.

Backup automatico e conservazione dei log delle transazioni

I backup automatici vengono utilizzati per restore 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 le istanze Cloud SQL Enterprise, l'intervallo va da 1 a 7 giorni, con un valore predefinito di 7 giorni. Sia per le istanze della versione Cloud SQL Enterprise Plus che 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 dei backup su sette backup, verranno conservati tra sei e sette giorni di log.

Ti consigliamo di impostare il numero di backup su un valore almeno superiore a quello dei giorni di conservazione dei log per garantire un numero minimo di giorni di conservazione dei log specificati.

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. Ti consigliamo di determinare le dimensioni dello spazio di archiviazione dell'istanza in base alla conservazione dei log delle transazioni.

Consulta Impostare la conservazione del backup automatico.

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 operazioni di scrittura 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. Sono consentite al massimo cinque operazioni di backup ogni 50 minuti per istanza e 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 visualizzato un messaggio di errore che ti indica quando puoi riprovare.

Vediamo come Cloud SQL esegue il 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. Nel bucket puoi utilizzare fino a cinque token 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, dal bucket viene concesso un token. Se l'operazione va a buon fine, il token viene rimosso dal bucket. In caso di errore, il token 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 controlli di integrità del database in background per identificare eventuali potenziali problemi di integrità dei dati. Questi controlli vengono eseguiti come procedimenti offline ripristinando un campione di backup avviati dal cliente o 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 l'assistenza clienti di Google Cloud.

Tabelle non registrate

Le tabelle non registrate vengono cancellate automaticamente durante il ripristino del backup.

Risoluzione dei problemi

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

Esegui il comando gcloud sql operations list per elencare tutte le 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 per testo per trovare l'utente. Potresti dover utilizzare i log di controllo per informazioni private. I file di log pertinenti includono:

  • cloudsql.googleapis.com/postgres.log
  • Se gli audit log di Cloud sono attivati e disponi delle autorizzazioni necessarie per visualizzarli, cloudaudit.googleapis.com/activity potrebbe essere disponibile.
Una volta eliminata un'istanza, non puoi eseguire un 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 ulteriori informazioni sul recupero di un'istanza eliminata, consulta la sezione Backup di recupero.

Se hai eseguito un'operazione di esportazione, crea una nuova istanza quindi esegui un'operazione di importazione per ricreare il database. Le esportazioni 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 per i quali puoi conservare i backup automatici 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 che i backup attualmente visibili sono gli unici backup automatici 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 indefinitamente. ovvero rimangono visibili finché non vengono eliminate o finché non viene eliminata l'istanza a cui appartengono. Poiché questo tipo di backup non viene eliminato automaticamente, può influire sulla 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 continuamente 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. Utilizza il pooling delle connessioni e altre best practice per la connettività.

Tentativi da effettuare

  1. Verifica che il database sia configurato per autovacuum.
  2. Controlla se nel codice personalizzato è configurata una logica di ripetizione della connessione.
  3. Riduci il traffico finché il database non si ripristina, quindi riattivalo lentamente.
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 in un'istanza HA.
  • 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