Informazioni sul ripristino di un'istanza

Questa pagina fornisce informazioni da esaminare prima di ripristinare un'istanza da un backup o di eseguire un recupero point-in-time (PITR).

Cosa succede durante un ripristino?

Per le versioni Cloud SQL Enterprise e Cloud SQL Enterprise Plus, puoi ripristinare un'istanza da un backup. Puoi anche ripristinare i backup su istanze di versioni diverse.

Quando ripristini un'istanza, i seguenti dati dell'istanza principale vengono ripristinati nella nuova istanza:

  • Database
  • Utenti

L'operazione di ripristino determina il riavvio dell'istanza.

Recupero point-in-time (PITR)

Il recupero point-in-time (PITR) consente di recuperare un'istanza in un momento specifico. Ad esempio, se un errore causa una perdita di dati, puoi ripristinare lo stato di un database prima che si verificasse.

PITR crea sempre una nuova istanza; non puoi eseguire un PITR su un'istanza esistente. La nuova istanza eredita le impostazioni dell'istanza di origine, in modo simile al funzionamento della creazione dei cloni. Tuttavia, affinché la nuova istanza erediti queste impostazioni, lo stato dell'istanza deve essere RUNNABLE.

Quando crei un'istanza Cloud SQL nella console Google Cloud, PITR è abilitato per impostazione predefinita.

PITR usa il logging binario per archiviare i log. Per impostazione predefinita, PITR è abilitato per le istanze della versione Cloud SQL Enterprise Plus.

Quando ripristini un backup su un'istanza Cloud SQL prima di abilitare PITR, perderai i log archiviati che ti consentono di utilizzare PITR. Se le dimensioni dei log binari sul disco causano problemi di prestazioni per l'istanza, disattiva PITR e riabilitalo. Questa azione garantisce che i nuovi log vengano archiviati in Cloud Storage anziché su disco.

Per istruzioni dettagliate sull'esecuzione del PITR, consulta l'articolo Utilizzare il recupero point-in-time (PITR).

Suggerimenti generali sull'esecuzione di un ripristino

Quando ripristini un'istanza da un backup, nella stessa istanza o in un'altra, tieni presente quanto segue:

  • L'operazione di ripristino sovrascrive tutti i dati sull'istanza di destinazione.
  • L'istanza di destinazione non è disponibile per le connessioni durante l'operazione di ripristino. Le connessioni esistenti andranno perse.
  • Se ripristini un'istanza con repliche di lettura, devi eliminare tutte le repliche e ricrearle al termine dell'operazione di ripristino.
  • L'operazione di ripristino riavvia l'istanza.

Per istruzioni dettagliate sull'esecuzione di un ripristino, vedi:

Suggerimenti e requisiti per il ripristino in un'istanza diversa

Quando ripristini un backup in un'altra istanza, tieni presente le seguenti limitazioni e best practice:

  • L'istanza di destinazione deve avere la stessa versione del database dell'istanza da cui è stato estratto il backup.

    Se vuoi eseguire l'upgrade della versione del database per la tua istanza, segui i passaggi descritti in Eseguire l'upgrade della versione principale del database in loco.

  • Cloud SQL imposta sempre la capacità di archiviazione dell'istanza di destinazione sul valore massimo corrispondente alla dimensione del disco configurato e del disco di backup. Il disco di backup corrisponde alle dimensioni del disco quando viene eseguito il backup.

  • La capacità di archiviazione dell'istanza di destinazione deve essere almeno pari alla capacità dell'istanza di cui viene eseguito il backup. La quantità di spazio di archiviazione utilizzata non è importante. Puoi visualizzare la capacità di archiviazione dell'istanza nella pagina delle istanze Cloud SQL della console.

  • L'istanza di destinazione deve essere nello stato RUNNABLE.

  • L'istanza di destinazione può utilizzare un numero di core e quantità di memoria diversi rispetto all'istanza da cui è stato derivato il backup.

  • L'istanza di destinazione può trovarsi in una regione diversa dall'istanza di origine.

  • Durante un'interruzione, puoi comunque recuperare un elenco di backup in un determinato progetto. Consulta la pagina relativa alla visualizzazione dei backup durante un'interruzione.

Limitazioni di frequenza di ripristino

È consentito un massimo di tre operazioni di ripristino ogni 30 minuti per istanza per regione per progetto. Se un'operazione di ripristino non va a buon fine, non viene conteggiata per 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 eseguire di nuovo l'operazione.

Vediamo in che modo Cloud SQL esegue la limitazione di frequenza per i ripristini.

Cloud SQL utilizza i token di un bucket per determinare quante operazioni di ripristino sono disponibili in qualsiasi momento. Per ogni backup, c'è un bucket per ogni progetto e regione di destinazione. Le istanze di destinazione dello stesso progetto condividono un bucket se si trovano nella stessa regione. Ogni bucket contiene un massimo di tre token che puoi utilizzare per le operazioni di ripristino. Ogni 10 minuti, un nuovo token viene aggiunto al bucket. Se il bucket è pieno, il token va in overflow.

Ogni volta che esegui un'operazione di ripristino, viene concesso un token dal bucket. 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

Ad esempio, nella figura seguente, Backup1, Backup2 e Backup3 sono i backup dalla stessa istanza di origine.

Token per limitazione di frequenza delle operazioni di ripristino

  • Ogni backup (Backup1, Backup2 e Backup3) ha il proprio bucket di token per le operazioni di ripristino che hanno come target istanze diverse nel progetto 1 nella regione A (Bucket11A, Bucket21A e Bucket31A). Poiché ogni backup ha il proprio bucket, puoi ripristinare ogni backup nella stessa istanza tre volte ogni 30 minuti.
  • Ogni backup ha un bucket per un progetto separato e per una regione separata. Ad esempio, se sono presenti cinque progetti in un'area geografica, esistono cinque bucket per il backup in quella regione, uno in ogni progetto. Nella figura precedente, sono presenti due progetti nella regione A: Progetto 1 e Progetto n.
    • Backup1 ha due bucket di token per le operazioni di ripristino nella regione A. Un bucket per il progetto 1 (Bucket11A) e un bucket per il progetto n (Bucket1nA).
    • Allo stesso modo, Backup3 ha due bucket per le operazioni di ripristino nella regione A. Uno per il progetto 1 (Bucket31A) e uno per il progetto n (Bucket3nA).
  • Backup3 ha un bucket nella regione B per il Progetto 1, perché tutte le istanze nello stesso progetto di destinazione e nella stessa regione di destinazione condividono un bucket.

Passaggi successivi