Panoramica del ripristino

Puoi ripristinare un backup di un database Spanner in un nuovo database. Il database ripristinato conterrà tutti i dati e lo schema del database originale al version_time del backup, incluse tutte le opzioni del database impostate con il ALTER DATABASE SET OPTIONS comando. Tuttavia, nel database ripristinato non sono inclusi:

  • Autorizzazioni IAM (Identity and Access Management) (ad eccezione di quelle ereditate dall' istanza contenente il database ripristinato). Devi applicare le autorizzazioni IAM appropriate al termine del ripristino.
  • Dati interni di eventuali flussi di modifiche in tempo reale.
  • Durata (TTL) definita da una politica di cancellazione delle righe. Devi riconfigurare questi criteri al termine del ripristino. Per ulteriori informazioni, consulta Backup e TTL.
  • Punti di suddivisione creati durante la suddivisione preliminare di un database. Per ulteriori informazioni, consulta la panoramica della suddivisione preliminare.

Se devi eseguire il ripristino da un backup in un'altra regione o in un altro progetto per motivi di conformità o continuità operativa, puoi copiare il backup in un' istanza in una regione o in un progetto separato, quindi eseguire il ripristino dal backup copiato.

Puoi utilizzare il ripristino da un backup nei seguenti modi:

Come funziona il ripristino del database da un backup

Quando ripristini un database Spanner, devi specificare un backup di origine e un nuovo database di destinazione. Non puoi eseguire il ripristino in un database esistente. Ripristina il database nello stesso progetto del backup. L' istanza di destinazione deve utilizzare la stessa configurazione di istanza dell'istanza di backup. L'istanza di destinazione ti consente di utilizzare una diversa capacità di calcolo rispetto all'istanza di origine.

Quando ripristini un database, tieni presente le seguenti regole di compatibilità per la versione di Spanner:

  • Spanner supporta il ripristino del database in un'istanza che utilizza la stessa versione o una versione di livello superiore rispetto all'istanza di backup.
  • Puoi ripristinare il database in un'istanza che utilizza una versione di livello inferiore. Tuttavia, l'operazione di ripristino non riesce se il database utilizza funzionalità non disponibili nella versione di livello inferiore.

Per ripristinare un backup in un'istanza con una configurazione di istanza diversa o in un progetto diverso, puoi prima copiare il backup nella regione o nel progetto di destinazione.

Ad esempio, se hai un backup in un'istanza che utilizza la configurazione us-west3, puoi ripristinare il backup in qualsiasi istanza del progetto che utilizza anche la configurazione us-west3. Tuttavia, per ripristinare il backup in un'istanza che utilizza la configurazione us-east1 o in un'istanza di un progetto diverso, devi prima copiare il backup in un'istanza nella regione o nel progetto di destinazione, quindi eseguire il ripristino dal backup copiato.

La procedura di ripristino è progettata per la disponibilità elevata. Puoi ripristinare il database a condizione che sia disponibile il quorum di maggioranza delle regioni e delle zone nell'istanza di destinazione.

Per ripristinare un backup abilitato con chiavi di crittografia gestite dal cliente (CMEK), sia la chiave sia la versione della chiave devono essere disponibili per Spanner. Per impostazione predefinita, il database ripristinato utilizza le stesse configurazioni di crittografia del backup. Puoi ignorare questo comportamento specificando una configurazione di crittografia diversa durante il ripristino del database. Per ulteriori informazioni, consulta Ripristino da un backup abilitato per CMEK.

Puoi ripristinare un database in una versione di livello inferiore solo se il database utilizza funzionalità disponibili in quella versione di livello inferiore. Ad esempio, se il database utilizza il partizionamento geografico, devi ripristinarlo nel database in un'istanza che utilizza la versione Enterprise Plus.

Ripristinare un backup in un'altra regione o in un altro progetto

Se devi ripristinare il backup in un'altra regione o in un altro progetto, prima, copia il backup nella regione o nel progetto scelto. Puoi ripristinare il backup copiato non appena la copia è terminata. Prima del ripristino, assicurati che l'istanza di destinazione abbia un numero sufficiente di nodi o unità di elaborazione di cui è stato eseguito il provisioning per supportare le dimensioni del database in base al limite di archiviazione di 10 TB per nodo. Ad esempio, sono necessari almeno 2 nodi per ripristinare un backup di 20 TB. Se hai copiato il backup in un altro progetto e vuoi ripristinarlo lì, assicurati che il progetto di destinazione abbia quote di nodi sufficienti per il ripristino. Il ripristino di un backup copiato funziona allo stesso modo di un ripristino normale.

Stati di ripristino

Un database ripristinato passa attraverso tre stati, monitorati da due operazioni a lunga esecuzione.

  • CREATING: Spanner inizia il ripristino creando un nuovo database e montando i file dal backup. Durante questo stato CREATING iniziale, il database ripristinato non è ancora pronto per l'uso. In genere, questo stato viene completato entro un'ora. Al termine dello stato CREATING, il database è pronto per l'uso.

    Per monitorare l'avanzamento di questo stato, puoi eseguire una query sull'operazione di ripristino a lunga esecuzione che Spanner rende disponibile durante questa procedura. Restituisce un RestoreDatabaseMetadata oggetto.

    Tieni presente le seguenti limitazioni relative allo stato CREATING:

    • Se esegui il ripristino in un'altra istanza, l'operazione di ripristino appartiene all'istanza contenente il database ripristinato, non all'istanza contenente il backup.
    • Spanner non ti consentirà di eliminare il backup durante il ripristino. Puoi eliminarlo al termine del ripristino e quando il database entra nello stato READY.
    • Un'istanza può avere al massimo dieci database nello stato CREATING a causa del ripristino dai backup. Non potrai ripristinare un altro backup nell'istanza finché uno dei dieci database ripristinati non passa allo stato READY_OPTIMIZING o READY.
  • READY_OPTIMIZING: dopo aver montato il backup, Spanner inizia a copiare i dati di backup nel nuovo database ottimizzandone le dimensioni archiviate. Il database è pronto per l'uso durante questa procedura. In genere, il completamento di questa fase del ripristino richiede alcune ore per i database di dimensioni inferiori a 100 TB.

    Sebbene tu possa utilizzare il database come di consueto durante READY_OPTIMIZING, si applicano le seguenti limitazioni:

    • Le latenze di lettura potrebbero essere leggermente superiori al solito.
    • Le metriche di archiviazione mostrano le dimensioni di il nuovo database, non del backup. Pertanto, con il trasferimento dei dati ancora in corso, le metriche di archiviazione di Spanner potrebbero mostrare risultati che non riflettono le dimensioni totali di tutti i dati.
    • Come per lo stato CREATING, Spanner non ti consentirà di eliminare il backup montato.

    Spanner rende disponibile un'altra operazione di ripristino a lunga esecuzione durante questo stato, questa volta restituendo un oggetto di metadati OptimizeRestoredDatabaseMetadata.

  • READY: al termine dell'operazione di copia e ottimizzazione, il database passa allo stato READY. Il database è stato ripristinato completamente e non fa più riferimento al backup né lo richiede.

Controllo degli accessi (IAM)

Il ruolo spanner.restoreAdmin ti concede l'autorizzazione per eseguire il ripristino da un backup. Per ulteriori informazioni, consulta Controllo degli accessi con IAM.

Anche i seguenti ruoli hanno accesso alle operazioni di ripristino di Spanner:

  • spanner.admin: ha accesso completo al ripristino. Questo ruolo ha accesso completo a tutte le risorse Spanner.
  • owner: ha accesso completo al ripristino.
  • editor: ha accesso completo al ripristino.
  • viewer: ha accesso alla visualizzazione del ripristino e delle operazioni di ripristino. Questo ruolo non può creare, aggiornare, eliminare o copiare un backup.

Prezzi

Il ripristino da un backup non prevede costi.

Passaggi successivi