Crea backup

Puoi creare un backup di qualsiasi database Spanner. Questi backup sono completi, nel senso che contengono tutti i dati nel database (inclusi lo schema e gli indici secondari) all'indirizzo version_time del backup. Eventuali modifiche ai dati o allo schema dopo version_time non sono incluse nel backup. I backup includono tutte le opzioni di database che sono impostate con il comando ALTER DATABASE SET OPTIONS, ma non includono i criteri Identity and Access Management (IAM). Quando crei un backup, questo si trova nella stessa istanza, regione e progetto del database di origine.

Puoi creare un backup nei seguenti modi:

Per una panoramica del backup e ripristino, vedi Informazioni su backup e ripristino.

Come funziona la creazione di un backup

Quando crei un backup, devi specificare un database di origine, un nome per la risorsa di backup e una data di scadenza (fino a 1 anno dalla data di creazione del backup). Facoltativamente, puoi specificare un elemento version_time, che consente di eseguire il backup del database in una data precedente. Il campo version_time viene in genere utilizzato per sincronizzare i backup di più database o per recuperare i dati utilizzando il recupero point-in-time. Se version_time non è specificato, viene impostato sul valore create_time del backup. Il sistema crea una risorsa di backup e un'operazione di backup a lunga esecuzione per monitorare lo stato di avanzamento del backup. Il backup appena creato si trova nello stesso istanza, nella stessa regione e nello stesso progetto del database di origine.

Per garantire la coerenza esterna del backup, Spanner blocca i contenuti del database su create_time. Questo impedisce al sistema di garbage collection di rimuovere i valori dei dati pertinenti per la durata dell'operazione di backup. Ogni zona di lettura/scrittura e di sola lettura dell'istanza inizierà a copiare i dati in parallelo. Se una zona è temporaneamente non disponibile, il backup non viene completato fino a quando la zona non torna online e termina. I backup sono ripristinabili al termine dell'operazione. Per le istanze multiregionali, tutte le zone di lettura-scrittura e di sola lettura in tutte le regioni devono completare le repliche di backup prima che il backup sia contrassegnato come ripristinabile.

I backup includono anche lo schema delle modifiche in tempo reale di un database, ma non eventuali record delle modifiche esistenti. I dati relativi alle modifiche in tempo reale devono essere trasmessi in uscita e consumati quasi contemporaneamente alle modifiche descritte. Pertanto, Spanner esclude questi dati dai backup.

Crittografia

I backup di Spanner, come i database, sono criptati con crittografia gestita da Google o dal cliente. Per impostazione predefinita, un backup utilizza la stessa configurazione di crittografia del database, ma puoi ignorare questo comportamento specificando una configurazione di crittografia diversa durante la creazione del backup. Se il backup è abilitato per CMEK, viene criptato utilizzando la versione primaria della chiave KMS al momento della creazione del backup. Una volta creato il backup, la chiave e la versione della chiave non possono essere modificate, anche se la chiave KMS viene ruotata. Per maggiori informazioni, consulta Creare un backup abilitato per CMEK.

Gerarchia delle risorse

I backup sono risorse in Spanner. Ogni risorsa di backup è organizzata sotto la stessa istanza del database di origine nella gerarchia delle risorse e ha un percorso della risorsa nel formato projects/<project>/instances/<instance>/backups/<backup>. Un backup continua a esistere anche dopo l'eliminazione del database di origine, ma non può durare più dell'istanza padre. Per impedire l'eliminazione accidentale dei backup, non puoi eliminare un'istanza Spanner se sono presenti backup. Se vuoi eliminare l'istanza, ti consigliamo di ripristinare il backup e poi esportare il database ripristinato prima di eliminare il backup e l'istanza.

Durata e prestazioni del backup

Durante l'esecuzione di un backup, Spanner crea un job di backup per copiare i dati direttamente dal database nello spazio di archiviazione di backup e regola le dimensioni di questo job in base alle dimensioni del database. Questo job di backup non utilizza risorse della CPU allocate all'istanza del database, perciò non influisce sulle prestazioni dell'istanza. Inoltre, il carico di calcolo sull'istanza del database non influisce sulla velocità dell'operazione di backup. Per monitorare l'avanzamento e il completamento di un'operazione di backup, consulta Mostrare l'avanzamento del backup.

Come punto di riferimento generale, la maggior parte dei backup richiede da 1 a 4 ore. Alcuni backup potrebbero richiedere più tempo a causa delle loro dimensioni o perché è presente un coda interno per le risorse. Se un backup sta richiedendo più tempo del solito e non sono cambiati altri fattori, potrebbe essere dovuto a un ritardo nella pianificazione dell'attività di backup in una zona. A volte questa operazione può richiedere fino a 30 minuti. Ti consigliamo di non annullare e riavviare il backup, poiché è probabile che la nuova operazione di backup subisca lo stesso ritardo nella pianificazione.

Controllo degli accessi (IAM)

I ruoli spanner.backupAdmin e spanner.backupWriter ti consentono di creare un backup. Con uno di questi ruoli, puoi richiamare una richiesta di creazione di backup sull'istanza. Per maggiori informazioni, consulta Controllo dell'accesso con IAM.

Prezzi

I costi ti vengono addebitati in base alla quantità di spazio di archiviazione utilizzato dai backup per unità di tempo. La fatturazione inizia una volta completata l'operazione di creazione del backup e continuerà fino a quando il backup non sarà stato eliminato. Un backup completato viene fatturato per un minimo di 24 ore. Se crei un backup e poi lo elimini un minuto dopo il suo completamento, ti verranno comunque addebitate 24 ore.

Passaggi successivi