Las copias de seguridad te permiten configurar programaciones para crear copias de seguridad diarias o semanales de la base de datos especificada. Después, puedes usar estas copias de seguridad para restaurar datos en una nueva base de datos.
Información sobre las copias de seguridad
Una copia de seguridad es una copia coherente de la base de datos en un momento determinado. La copia de seguridad contiene todos los datos y las configuraciones de índice en ese momento. Las copias de seguridad no contienen políticas de tiempo de vida de bases de datos. Las copias de seguridad se encuentran en la misma ubicación que la base de datos de origen.
Las copias de seguridad tienen un periodo de conservación configurable y se almacenan hasta que este periodo caduca o hasta que las eliminas. Si eliminas la base de datos de origen, no se eliminarán automáticamente las copias de seguridad relacionadas.
Firestore almacena metadatos relacionados con las copias de seguridad y las programaciones de copias de seguridad de una base de datos. Firestore conserva estos metadatos hasta que caducan o se eliminan todas las copias de seguridad de la base de datos.
Crear o conservar copias de seguridad no afecta al rendimiento de las lecturas o escrituras en tu base de datos activa.
Costes
Cuando utilizas copias de seguridad, se te cobra por lo siguiente:
- El espacio de almacenamiento que ocupa cada copia de seguridad.
- En el caso de las operaciones de restauración, se te cobra en función del tamaño de la copia de seguridad.
Para obtener más información y las tarifas exactas, consulta la página Precios.
Antes de empezar
Comprueba que la facturación esté habilitada en tu Google Cloud proyecto. Consulta cómo comprobar si la facturación está habilitada en un proyecto.Roles obligatorios
Para obtener los permisos que necesitas para gestionar copias de seguridad y programaciones de copias de seguridad, pide a tu administrador que te conceda uno o varios de los siguientes roles de gestión de identidades y accesos:
roles/datastore.owner
: acceso completo a la base de datos de Firestoreroles/datastore.backupsAdmin
: acceso de lectura y escritura a las copias de seguridadroles/datastore.backupsViewer
: acceso de lectura a las copias de seguridadroles/datastore.backupSchedulesAdmin
: acceso de lectura y escritura a las programaciones de copias de seguridadroles/datastore.backupSchedulesViewer
: acceso de lectura a las programaciones de copias de seguridadroles/datastore.restoreAdmin
: permisos para iniciar operaciones de restauración
Crear y gestionar programaciones de copias de seguridad
En los ejemplos que se muestran a continuación se indica cómo configurar una programación de copias de seguridad. En cada base de datos, puedes configurar hasta una programación de copias de seguridad diarias y hasta una programación de copias de seguridad semanales. No puedes configurar varias programaciones de copias de seguridad semanales para diferentes días de la semana.
No puedes configurar la hora exacta del día en que se realiza la copia de seguridad. Las copias de seguridad se realizan a diferentes horas cada día. En el caso de las programaciones de copias de seguridad semanales, puedes configurar el día de la semana en el que se hará la copia.
Crear una programación de copias de seguridad
Usa una de las siguientes herramientas para crear una programación de copias de seguridad.
Crear una programación de copias de seguridad diarias
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Haz clic en Editar para editar la configuración de recuperación ante desastres.
- Marca la casilla Diario, define el periodo de conservación y haz clic en Guardar.
gcloud
Para crear una programación de copias de seguridad de una base de datos, usa el comandogcloud firestore backups schedules create
.
Para crear una programación de copias de seguridad diarias, asigna el valor daily
al indicador --recurrence
:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=daily \ --retention=RETENTION_PERIOD
Haz los cambios siguientes:
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada. - RETENTION_PERIOD: asigna un valor de hasta 14 semanas (
14w
).
Terraform
Para crear una programación de copias de seguridad diarias, crea un recursogoogle_firestore_backup_schedule
.
resource "google_firestore_backup_schedule" "daily-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS daily_recurrence {} }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto.
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada.
También puedes usar una referencia de recurso a un recurso de Terraform de tipo - RETENTION_PERIOD_SECONDS: asigna un valor en segundos seguido de "s". El valor máximo es
8467200s
(14 semanas).
google_firestore_database
.
Crear una programación de copias de seguridad semanal
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Haz clic en Editar para editar la configuración de recuperación ante desastres.
- Marca la casilla Semanal, selecciona un día de la semana, define el periodo de conservación y haz clic en Guardar.
gcloud
Para crear una programación de copias de seguridad semanales, asigna el valor--recurrence
a la marca weekly
:
gcloud firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=weekly \ --retention=RETENTION_PERIOD \ --day-of-week=DAY
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada. - RETENTION_PERIOD: asigna un valor de hasta 14 semanas (
14w
). - DAY: el día de la semana en el que se hará la copia de seguridad. Se debe configurar como uno de los siguientes valores:
SUN
para el domingoMON
para el lunesTUE
para el martesWED
para el miércolesTHU
para el juevesFRI
para el viernesSAT
para el sábado
Terraform
Para crear una programación de copias de seguridad semanales, crea un recursogoogle_firestore_backup_schedule
.
resource "google_firestore_backup_schedule" "weekly-backup" { project = PROJECT_ID database = DATABASE_ID retention = RETENTION_PERIOD_SECONDS weekly_recurrence { day = DAY } }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto.
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada.
También puedes usar una referencia de recurso a un recurso de Terraform de tipo - RETENTION_PERIOD_SECONDS: asigna un valor en segundos seguido de "s". El valor máximo es
8467200s
(14 semanas). - DAY: el día de la semana en el que se hará la copia de seguridad. Se debe configurar como uno de los siguientes valores:
SUNDAY
para el domingoMONDAY
para el lunesTUESDAY
para el martesWEDNESDAY
para el miércolesTHURSDAY
para el juevesFRIDAY
para el viernesSATURDAY
para el sábado
google_firestore_database
.
Mostrar las programaciones de copias de seguridad
Para obtener una lista de todas las programaciones de copias de seguridad de una base de datos, utiliza uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Se abrirá la página Recuperación tras desastres. En esta página se describen las programaciones de copias de seguridad y se enumeran las copias de seguridad disponibles.
gcloud
Usa el comandogcloud firestore backups schedules list
.
gcloud firestore backups schedules list \ --database='DATABASE_ID'
'(default)'
para la base de datos predeterminada.
Describe la programación de la copia de seguridad
Para obtener información sobre una programación de copias de seguridad, utiliza uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Se abrirá la página Recuperación tras desastres. En esta página se describen las programaciones de copias de seguridad y se enumeran las copias de seguridad disponibles.
gcloud
Usa el comandogcloud firestore backups schedules describe
:
gcloud firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada. - BACKUP_SCHEDULE_ID: ID de una programación de copias de seguridad. Puedes ver el ID de cada programación de copias de seguridad cuando muestras todas las programaciones de copias de seguridad.
Actualizar una programación de copias de seguridad
Para actualizar el periodo de conservación de una programación de copias de seguridad, utilice uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración.
- Haz clic en Editar para editar la configuración de recuperación ante desastres.
- Edita los ajustes de la programación de copias de seguridad y haz clic en Guardar.
gcloud
Usa el comandogcloud firestore backups schedules update
:
gcloud firestore backups schedules update \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID \ --retention=RETENTION_PERIOD
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada. - BACKUP_SCHEDULE_ID: ID de una programación de copias de seguridad. Puedes ver el ID de cada programación de copias de seguridad cuando muestras todas las programaciones de copias de seguridad.
- RETENTION_PERIOD: asigna un valor de hasta 14 semanas (
14w
).
Puedes actualizar el periodo de conservación de una programación de copias de seguridad, pero no su periodicidad. Si necesitas una programación de copias de seguridad con otra periodicidad, elimina la antigua si ya no la necesitas y crea una nueva con la periodicidad que quieras.
Eliminar una programación de copias de seguridad
Para eliminar una programación de copias de seguridad, utilice uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Haz clic en Editar para editar la configuración de recuperación ante desastres.
- Edita los ajustes de la programación de copias de seguridad y haz clic en Guardar.
gcloud
Usa el comandogcloud firestore backups schedules delete
:
gcloud firestore backups schedules delete \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
- DATABASE_ID: ID de la base de datos de la que se va a crear una copia de seguridad. Se define como
'(default)'
para la base de datos predeterminada. - BACKUP_SCHEDULE_ID: ID de una programación de copias de seguridad. Puedes ver el ID de cada programación de copias de seguridad cuando muestras todas las programaciones de copias de seguridad.
Ten en cuenta que, al eliminar una programación de copias de seguridad, no se eliminarán las copias de seguridad que ya se hayan creado con esta programación. Puedes esperar a que caduquen una vez que haya transcurrido el periodo de conservación o eliminar una copia de seguridad manualmente.
Administrar copias de seguridad
Mostrar copias de seguridad
Para ver una lista de las copias de seguridad disponibles, utiliza uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Haz clic en Editar para editar la configuración de recuperación ante desastres.
- Edita los ajustes de la programación de copias de seguridad y haz clic en Guardar.
gcloud
Usa el comandogcloud firestore backups list
:
gcloud firestore backups list \ --format="table(name, database, state)"
--format="table(name, database, state)"
da formato a la salida para que sea más legible.
Para mostrar solo las copias de seguridad de una ubicación específica, usa la marca --location
:
gcloud firestore backups list \ --location=LOCATION \ --format="table(name, database, state)"
LOCATION
por el nombre de una ubicación del modo Datastore.
Describir una copia de seguridad
Para ver los detalles de una copia de seguridad, utiliza uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad.
- Se abrirá la página Recuperación tras desastres. En esta página se describen las programaciones de copias de seguridad y se enumeran las copias de seguridad disponibles.
gcloud
Usa el comandogcloud firestore backups describe
:
gcloud firestore backups describe \ --location=LOCATION \ --backup=BACKUP_ID
- LOCATION: la ubicación de la base de datos.
- BACKUP_ID: el ID de una copia de seguridad. Puedes ver el ID de cada copia de seguridad cuando consultas todas las copias de seguridad.
Eliminar copia de seguridad
Para eliminar una copia de seguridad, utiliza uno de los siguientes métodos.
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad. Se abrirá la página Recuperación tras desastres. En esta página se describen las programaciones de copias de seguridad y se enumeran las copias de seguridad disponibles.
- En la tabla Copias de seguridad, busca la fila de una copia de seguridad y, en la columna Acciones, haz clic en Ver más( ). Haz clic en Eliminar.
- Confirma la acción en el campo de texto y haz clic en Eliminar.
gcloud
Usa el comandogcloud firestore backups delete
:
gcloud firestore backups delete \ --location=LOCATION \ --backup=BACKUP_ID
- LOCATION: la ubicación de la base de datos.
- BACKUP_ID: el ID de una copia de seguridad. Puedes ver el ID de cada copia de seguridad cuando consultas todas las copias de seguridad.
Restaurar datos a partir de una copia de seguridad de una base de datos
Una operación de restauración escribe los datos de una copia de seguridad en una nueva base de datos en modo Datastore.
Para iniciar una operación de restauración, utilice uno de los siguientes métodos:
Google Cloud consola
En la Google Cloud consola, ve a la página Bases de datos.
- En la lista de bases de datos, busque la fila de la base de datos. En la columna Copias de seguridad programadas, haz clic en Ver copias de seguridad o en Editar configuración, según si hay una programación de copias de seguridad. Se abrirá la página Recuperación tras desastres. En esta página se describen las programaciones de copias de seguridad y se enumeran las copias de seguridad disponibles.
- En la tabla Copias de seguridad, busca la fila de una copia de seguridad y, en la columna Acciones, haz clic en Ver más( ). Haz clic en Restaurar con Cloud Shell.
-
Se abre el panel de Cloud Shell con un comando de gcloud CLI para restaurar la copia de seguridad seleccionada. Sustituye ID_OF_NEW_DATABASE por un ID de la base de datos y ejecuta el comando.
Al ejecutar el comando, se devuelve una respuesta con más información sobre la operación. La base de datos aparecerá pronto en tu lista de bases de datos. La operación de restauración tardará un tiempo y debe completarse antes de que se pueda acceder a la base de datos.
gcloud
Usa el comandogcloud firestore databases restore
:
gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID \ --tags=[KEY=VALUE]'
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la ubicación de la copia de seguridad de la base de datos y la ubicación de la nueva base de datos creada para los datos restaurados.
- BACKUP_ID: el ID de una copia de seguridad. Puedes ver el ID de cada copia de seguridad cuando muestres todas las copias de seguridad.
- DATABASE_ID: ID de la nueva base de datos. No puedes usar un ID de base de datos que ya esté en uso.
- [KEY=VALUE]: lista opcional de pares de etiquetas CLAVE=VALOR que se van a vincular. Por ejemplo:
--tags=123/environment=production,123/costCenter=marketing
--tags=tagKeys/333=tagValues/444
metadata
, name
y response
:
metadata: '@type': type.googleapis.com/google.firestore.admin.v1.RestoreDatabaseMetadata backup: projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID database: projects/PROJECT_ID/databases/DATABASE_ID operationState: PROCESSING progressPercentage: completedWork: '20' estimatedWork: '100' startTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID/operations/operation_uuid response: '@type': type.googleapis.com/google.firestore.admin.v1.Database createTime: '2023-12-06T14:20:17.398325Z' name: projects/PROJECT_ID/databases/DATABASE_ID ...
metadata
incluye un componente progressPercentage
, que detalla el progreso estimado de la restauración hasta el momento, y un operationState
que especifica el estado general de la restauración.
Para volver a obtener esta información, usa gcloud firestore operations list
:
gcloud firestore operations list --database=DATABASE_ID
name
de la salida descrita anteriormente, con gcloud firestore operations describe
:
gcloud firestore operations describe OPERATION_NAME