Rilevante per la versione Standard di Cloud Firestore e la versione Enterprise di Cloud Firestore. |
Questa pagina descrive come utilizzare la funzionalità di backup pianificati di Cloud Firestore con compatibilità MongoDB. Utilizza i backup per proteggere i dati dal danneggiamento a livello di applicazione o dall'eliminazione accidentale.
I backup consentono di configurare pianificazioni di backup per eseguire backup giornalieri o settimanali del database specificato. Puoi quindi utilizzare questi backup per ripristinare i dati in un nuovo database.
Informazioni sui backup
Un backup è una copia coerente del database in un determinato momento. Il backup contiene tutte le configurazioni di dati e indici in quel momento.
Un backup non contiene policy Time to Live del database. Un backup si trova nella stessa posizione del database di origine.I backup hanno un periodo di conservazione configurabile e vengono archiviati fino alla scadenza del periodo di conservazione o fino a quando non li elimini. L'eliminazione del database di origine non comporta l'eliminazione automatica dei backup correlati.
Cloud Firestore archivia i metadati relativi ai backup e alle pianificazioni di backup associati a un database. Cloud Firestore conserva questi metadati fino a quando tutti i backup del database scadono o vengono eliminati.
La creazione o la conservazione dei backup non influisce sul rendimento delle letture o scritture nel database live.
Costi
Quando utilizzi i backup, ti viene addebitato quanto segue:
- La quantità di spazio di archiviazione utilizzata da ogni backup.
- Per un'operazione di ripristino, ti verranno addebitati costi in base alle dimensioni del backup.
Per ulteriori dettagli e tariffe esatte, consulta la pagina Prezzi.
Prima di iniziare
Questa funzionalità richiede il piano tariffario Blaze.Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i backup e le pianificazioni di backup, chiedi all'amministratore di concederti uno o più dei seguenti ruoli Identity and Access Management:
roles/datastore.owner
: Accesso completo al database Cloud Firestoreroles/datastore.backupsAdmin
: accesso in lettura e scrittura ai backuproles/datastore.backupsViewer
: accesso in lettura ai backuproles/datastore.backupSchedulesAdmin
: Accesso in lettura e scrittura alle pianificazioni dei backuproles/datastore.backupSchedulesViewer
: Accesso in lettura alle pianificazioni di backuproles/datastore.restoreAdmin
: autorizzazioni per avviare le operazioni di ripristino
Creare e gestire pianificazioni di backup
Gli esempi riportati di seguito mostrano come configurare una pianificazione di backup. Per ogni database, puoi configurare fino a una pianificazione di backup giornaliera e fino a una pianificazione di backup settimanale. Non puoi configurare più pianificazioni di backup settimanali per giorni diversi della settimana.
Non puoi configurare l'ora esatta del backup. I backup vengono eseguiti ogni giorno in orari diversi. Per le pianificazioni dei backup settimanali, puoi configurare il giorno della settimana in cui eseguire un backup.
Crea una pianificazione dei backup
Utilizza uno dei seguenti strumenti per creare una pianificazione dei backup.
Crea una pianificazione dei backup giornaliera
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Fai clic su Modifica per modificare le impostazioni di disaster recovery.
- Seleziona la casella di controllo Giornaliero, imposta il periodo di conservazione e poi fai clic su Salva.
Interfaccia a riga di comando di Firebase
Per creare una pianificazione del backup per un database, utilizza il comandofirebase firestore:databases:backups:schedules
.
Per creare una pianificazione dei backup giornaliera, imposta il flag --recurrence
su DAILY
:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'DAILY' \ --retention RETENTION_PERIOD
Sostituisci quanto segue:
- DATABASE_ID: l'ID del database di cui eseguire il backup. Imposta su
'(default)'
per il database predefinito. - RETENTION_PERIOD: imposta questo valore fino a 14 settimane (
14w
).
Terraform
Per creare una pianificazione dei backup giornaliera, crea una risorsagoogle_firestore_backup_schedule
.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Sostituisci quanto segue:
- PROJECT_ID: l'ID del progetto.
- DATABASE_ID: l'ID del database di cui eseguire il backup. Imposta su
'(default)'
per il database predefinito.
Puoi anche utilizzare un riferimento alla risorsa per una risorsa Terraform di tipo - RETENTION_PERIOD_SECONDS: imposta questo valore in secondi, seguito da "s". Il valore massimo è
8467200s
(14 settimane).
google_firestore_database
.
Crea una pianificazione dei backup settimanale
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Fai clic su Modifica per modificare le impostazioni di disaster recovery.
- Seleziona la casella di controllo Settimanale, seleziona un giorno per il backup, imposta il periodo di conservazione e poi fai clic su Salva.
Interfaccia a riga di comando di Firebase
Per creare una pianificazione dei backup settimanale, imposta il flag--recurrence
su WEEKLY
:
firebase firestore:backups:schedules:create \ --database 'DATABASE_ID' \ --recurrence 'WEEKLY' \ --retention RETENTION_PERIOD --day-of-week DAY
- DATABASE_ID: l'ID del database di cui eseguire il backup. Imposta su
'(default)'
per il database predefinito. - RETENTION_PERIOD: imposta questo valore fino a 14 settimane (
14w
). - DAY: il giorno della settimana in cui eseguire il backup. Imposta uno dei seguenti valori:
SUNDAY
per domenicaMONDAY
per lunedìTUESDAY
per martedìWEDNESDAY
per mercoledìTHURSDAY
per giovedìFRIDAY
per venerdìSATURDAY
per sabato
Terraform
Per creare una pianificazione dei backup settimanale, crea una risorsagoogle_firestore_backup_schedule
.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Sostituisci quanto segue:
- PROJECT_ID: l'ID del progetto.
- DATABASE_ID: l'ID del database di cui eseguire il backup. Imposta su
'(default)'
per il database predefinito.
Puoi anche utilizzare un riferimento alla risorsa per una risorsa Terraform di tipo - RETENTION_PERIOD_SECONDS: imposta questo valore in secondi, seguito da "s". Il valore massimo è
8467200s
(14 settimane). - DAY: il giorno della settimana in cui eseguire il backup. Imposta uno dei seguenti valori:
SUNDAY
per domenicaMONDAY
per lunedìTUESDAY
per martedìWEDNESDAY
per mercoledìTHURSDAY
per giovedìFRIDAY
per venerdìSATURDAY
per sabato
google_firestore_database
.
Elenco delle pianificazioni di backup
Per elencare tutte le pianificazioni di backup per un database, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Viene visualizzata la pagina Disaster recovery. Questa pagina descrive le pianificazioni di backup ed elenca i backup disponibili.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:schedules:list
.
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'
per il database predefinito.
Descrivi la pianificazione del backup
Per recuperare informazioni su una pianificazione dei backup, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Viene visualizzata la pagina Disaster recovery. Questa pagina descrive le pianificazioni di backup ed elenca i backup disponibili.
gcloud
Utilizza il comandogcloud firestore backups schedules describe
:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: l'ID del database di cui eseguire il backup. Imposta su
'(default)'
per il database predefinito. - BACKUP_SCHEDULE_ID: l'ID di una pianificazione di backup. Puoi visualizzare l'ID di ogni pianificazione di backup quando elenco tutte le pianificazioni di backup.
Aggiorna una pianificazione dei backup
Per aggiornare il periodo di conservazione di una pianificazione dei backup, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni.
- Fai clic su Modifica per modificare le impostazioni di disaster recovery.
- Modifica le impostazioni della pianificazione del backup e poi fai clic su Salva.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:schedules:update
:
firebase firestore:backups:schedules:update \ BACKUP_SCHEDULE \ --retention RETENTION_PERIOD
- BACKUP_SCHEDULE: il nome completo della risorsa di una pianificazione di backup. Puoi visualizzare il nome di ogni pianificazione di backup quando elenco tutte le pianificazioni di backup.
- RETENTION_PERIOD: imposta questo valore fino a 14 settimane (
14w
).
Puoi aggiornare il periodo di conservazione di una pianificazione di backup, ma non la ricorrenza. Se hai bisogno di una pianificazione di backup con una ricorrenza diversa, elimina la vecchia pianificazione di backup se non è più necessaria e creane una nuova con la ricorrenza desiderata.
Eliminare una pianificazione del backup
Per eliminare una pianificazione di backup, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Fai clic su Modifica per modificare le impostazioni di disaster recovery.
- Modifica le impostazioni della pianificazione del backup e poi fai clic su Salva.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:schedules:delete
:
firebase firestore:backups:schedules:delete \ BACKUP_SCHEDULE
- BACKUP_SCHEDULE: il nome completo della risorsa di una pianificazione di backup. Puoi visualizzare il nome di ogni pianificazione di backup quando elenco tutte le pianificazioni di backup.
Tieni presente che l'eliminazione di una pianificazione del backup non comporta l'eliminazione dei backup già creati da questa pianificazione. Puoi attendere la scadenza dopo il periodo di conservazione oppure per eliminare manualmente un backup, consulta Elimina il backup.
Gestisci backup
Elenco dei backup
Per elencare i backup disponibili, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Fai clic su Modifica per modificare le impostazioni di disaster recovery.
- Modifica le impostazioni della pianificazione del backup e poi fai clic su Salva.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:list
:
firebase firestore:backups:list
--location
:
firebase firestore:backups:list \ --location=LOCATION
LOCATION
con il nome di una località Cloud Firestore con compatibilità MongoDB.
Descrivere un backup
Per visualizzare i dettagli di un backup, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup.
- Viene visualizzata la pagina Disaster recovery. Questa pagina descrive le pianificazioni di backup ed elenca i backup disponibili.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:get
:
firebase firestore:backups:get BACKUP
- BACKUP: Il nome completo della risorsa di un backup. Puoi visualizzare il nome di ogni backup quando elenco tutti i backup.
Elimina backup
Per eliminare un backup, utilizza uno dei seguenti metodi.
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup. Viene visualizzata la pagina Disaster recovery. Questa pagina descrive le pianificazioni di backup ed elenca i backup disponibili.
- Nella tabella Backup, individua la riga di un backup e nella colonna Azioni, fai clic su Mostra altro( ). Fai clic su Elimina.
- Conferma l'azione utilizzando il campo di testo e fai clic su Elimina.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:backups:delete
:
firebase firestore:backups:delete \ BACKUP
- BACKUP: Il nome completo della risorsa di un backup. Puoi visualizzare il nome di ogni backup quando elenca tutti i backup.
Ripristinare i dati da un backup del database
Un'operazione di ripristino scrive i dati di un backup in un nuovo database Cloud Firestore con compatibilità MongoDB.
Per avviare un'operazione di ripristino, utilizza uno dei seguenti metodi:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Database.
- Nell'elenco dei database, individua la riga del database. Nella colonna Backup pianificati, fai clic su Visualizza backup o Modifica impostazioni, a seconda che esista o meno una pianificazione del backup. Viene visualizzata la pagina Disaster recovery. Questa pagina descrive le pianificazioni di backup ed elenca i backup disponibili.
- Nella tabella Backup, trova la riga di un backup e nella colonna Azioni, fai clic su Mostra altro(Cloud Shell. ). Fai clic su Ripristina con
-
Si apre il riquadro Cloud Shell con un comando gcloud CLI per il ripristino dal backup selezionato. Sostituisci ID_OF_NEW_DATABASE con un ID per il database ed esegui il comando.
L'esecuzione del comando restituisce una risposta con ulteriori informazioni sull'operazione. Il database viene visualizzato a breve nell'elenco dei database. L'operazione di ripristino richiederà un po' di tempo e deve essere completata prima che il database sia accessibile.
Interfaccia a riga di comando di Firebase
Utilizza il comandofirebase firestore:databases:restore
:
firebase firestore:databases:restore \ --backup 'BACKUP' \ --database 'DATABASE_ID'
- BACKUP: Il nome completo della risorsa di un backup. Puoi visualizzare il nome di ogni backup quando elenco tutti i backup.
- DATABASE_ID: un ID database per il nuovo database. Non puoi utilizzare un ID database già in uso.
Cosa fare dopo il ripristino
Al termine del ripristino, devi:
Verifica che al nuovo database siano applicati controlli IAM appropriati.
Se in precedenza hai utilizzato le norme TTL, applicale di nuovo al nuovo database. Le norme TTL non sono incluse nei backup e non vengono riapplicate automaticamente ai database ripristinati.