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 momento del version_time del backup, incluse tutte le opzioni del database impostate con il comando ALTER DATABASE SET OPTIONS. Tuttavia, i seguenti elementi non sono inclusi nel database ripristinato:

  • Autorizzazioni IAM (ad eccezione di quelle ereditate dall'istanza contenente il database ripristinato). Devi applicare le autorizzazioni IAM appropriate al termine del ripristino.
  • Dati interni di tutti modifiche in tempo reale.
  • Durata (TTL) definita da un criterio di eliminazione delle righe. Devi riconfigurare queste norme al termine del ripristino. Per saperne di più, consulta Backup e TTL.
  • Punti di divisione creati durante la pre-divisione di un database. Per ulteriori informazioni, consulta la panoramica della pre-suddivisione.

Quando esegui il ripristino da un backup, il database ripristinato si trova nella stessa istanza, regione e progetto del backup di origine. Se devi eseguire il ripristino dal backup in una regione o un progetto diverso per motivi di conformità o continuità operativa, puoi copiare il backup in un'istanza in una regione o 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. Il database appena ripristinato deve trovarsi nello stesso progetto del backup e in un'istanza con la stessa configurazione dell'istanza e la stessa (o di livello superiore) edizione di Spanner del backup. Ad esempio, se un backup si trova in un'istanza configurata us-west3 e utilizza Enterprise Edition, può essere ripristinato in qualsiasi istanza del progetto configurata anch'essa us-west3 e che utilizza Enterprise Edition. Se ripristini un backup in un'istanza Enterprise Edition in un'istanza Standard Edition, il ripristino potrebbe non riuscire se il database utilizza funzionalità di Enterprise Edition. La capacità di calcolo delle istanze non deve essere la stessa.

La procedura di ripristino è progettata per l'alta disponibilità. Il database può essere ripristinato a condizione che sia disponibile la maggioranza delle regioni e delle zone nell'istanza.

Per ripristinare un backup abilitato per CMEK, sia la chiave che la versione della chiave devono essere disponibili per Spanner. Per impostazione predefinita, il database ripristinato utilizza le stesse configurazioni di crittografia del backup. Puoi sostituire questo comportamento specificando una configurazione di crittografia diversa durante il ripristino del database. Per maggiori informazioni, consulta Ripristinare da un backup abilitato per CMEK.

Ripristinare un backup in un'altra regione o 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. I backup copiati possono essere ripristinati non appena la copia termina. Puoi ripristinare il backup nell'istanza di destinazione (a condizione che utilizzi l'edizione come istanza di backup di origine) o in qualsiasi istanza con la stessa configurazione dell'istanza e la stessa edizione (o di livello superiore) dell'istanza di destinazione. Prima del ripristino, assicurati che l'istanza di destinazione disponga di nodi o unità di elaborazione di cui è stato eseguito il provisioning sufficienti per supportare le dimensioni del database in base al limite di archiviazione di 10 TB per nodo (ovvero, 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 disponga di quote di nodi sufficienti per il ripristino. Il ripristino di un backup copiato funziona allo stesso modo di un normale ripristino.

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 iniziale CREATING, il database ripristinato non è ancora pronto per l'uso. Questo stato in genere viene completato entro un'ora. Una volta completato lo stato CREATING, il tuo database è pronto per l'uso.

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

    Tieni presente i seguenti avvisi relativi allo stato CREATING:

    • Se esegui il ripristino in un'istanza diversa, 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 mentre è in corso il ripristino. Puoi eliminarlo dopo il completamento 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 che Spanner monta il backup, inizia a copiare i dati di backup nel nuovo database ottimizzando le dimensioni archiviate. Il database è pronto per l'uso durante questa procedura. Il completamento di questa fase del ripristino richiede in genere alcune ore per i database di dimensioni inferiori a 100 TB.

    Anche se puoi 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 del 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 la dimensione totale di tutti i tuoi 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 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 saperne di più, consulta Controllo dell'accesso 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 e alle operazioni di ripristino. Questo ruolo non può creare, aggiornare, eliminare o copiare un backup.

Prezzi

Il ripristino da un backup non comporta alcun costo.

Passaggi successivi