Backup automatici

Gli utenti del piano Blaze possono configurare Firebase Realtime Database per i backup automatici, una funzionalità self-service che consente di eseguire backup giornalieri dei dati dell'applicazione del database e di Security Rules in formato JSON in un bucket Cloud Storage.

Configurazione

  1. Nella console Firebase, vai a Database e spazio di archiviazione > Realtime Database.

  2. Nella scheda Backup, utilizza il flusso di lavoro della console per configurare i backup automatici.

Per risparmiare sui costi di archiviazione, abilitiamo la compressione Gzip per impostazione predefinita e puoi scegliere di abilitare una policy del ciclo di vita di 30 giorni sul tuo bucket per eliminare automaticamente i backup più vecchi di 30 giorni.

Puoi visualizzare lo stato e l'attività di backup direttamente nella console Firebase, dove puoi anche avviare un backup manuale. Questo può essere utile per acquisire snapshot temporizzati specifici o come azione di sicurezza prima di apportare modifiche al codice.

Una volta configurato, verrà creato un nuovo bucket Cloud Storage con l'autorizzazione WRITER per Firebase. Non devi archiviare in questo bucket dati a cui non vuoi che Firebase abbia accesso. Firebase non avrà accesso aggiuntivo agli altri bucket Cloud Storage o ad altre aree di Google Cloud.

Ripristino dai backup

Per ripristinare Firebase da un backup, scarica prima il file da Cloud Storage sul disco locale. Per farlo, fai clic sul nome file nella sezione dell'attività di backup o dall'interfaccia del bucket Cloud Storage. Se il file è compresso con Gzip, prima decomprimilo.

Hai due opzioni per importare i dati:

  • Opzione 1: utilizza la console Firebase.

    1. Vai a Database e archiviazione > Realtime Database > scheda Dati.

    2. Fai clic su Importa JSON e seleziona il file JSON dei dati dell'applicazione.

  • Opzione 2: invia una richiesta CURL dalla riga di comando.

    1. Recupera un secret da Firebase, che puoi ottenere dalla scheda Database e spazio di archiviazione > Realtime Database > Impostazioni.

    2. Inserisci quanto segue nel terminale, sostituendo i campi DATABASE_NAME e SECRET con i tuoi valori:

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

Se hai difficoltà a ripristinare un backup da un database molto grande, contatta l'assistenza Firebase.

Programmazione

Il backup del database viene assegnato a un'ora specifica ogni giorno per garantire un carico uniforme e la massima disponibilità per tutti i clienti che eseguono il backup. Questo backup pianificato verrà eseguito indipendentemente dal fatto che tu esegua o meno backup manuali nel corso della giornata.

Denominazione dei file

I file trasferiti nel tuo bucket Cloud Storage verranno contrassegnati con un timestamp (standard ISO 8601) e utilizzeranno le seguenti convenzioni di denominazione:

  • Dati del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Regole del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Se Gzip è abilitato, ai nomi file verrà aggiunto il suffisso .gz. Puoi trovare facilmente i backup di una data o un'ora specifica utilizzando la ricerca per prefisso Cloud Storage.

Compressione con Gzip

Per impostazione predefinita, i file di backup vengono compressi utilizzando la compressione Gzip per risparmiare sui costi di archiviazione e ridurre i tempi di trasferimento. Le dimensioni del file compresso variano in base alle caratteristiche dei dati del database, ma i database tipici possono ridursi a un terzo delle dimensioni originali, consentendoti di risparmiare sui costi di archiviazione e di ridurre il tempo di caricamento dei backup.

Per decomprimere i file JSON compressi con Gzip, esegui un comando dalla riga di comando utilizzando il file binario gunzip, fornito per impostazione predefinita per OS-X e la maggior parte delle distribuzioni Linux.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

Ciclo di vita di 30 giorni per Storage

Offriamo un'opzione di configurazione facile da usare che attiva un criterio di ciclo di vita degli oggetti predefinito di 30 giorni per il tuo bucket Cloud Storage. Se l'opzione è attiva, i file nel tuo bucket verranno eliminati automaticamente dopo 30 giorni. In questo modo, puoi ridurre i backup precedenti indesiderati, risparmiare sui costi di archiviazione e mantenere pulita la directory del bucket. Se inserisci altri file nel bucket dei backup automatici, anche questi verranno eliminati con la stessa policy.

Costi

La funzionalità dei backup può essere attivata per i progetti con il piano Blaze senza costi aggiuntivi. Tuttavia, ti verranno addebitate le tariffe standard per i file di backup inseriti nel bucket Cloud Storage. Puoi attivare la compressione Gzip e il ciclo di vita di 30 giorni dello spazio di archiviazione per ridurre i costi di archiviazione.