En esta página, se describe cómo usar la función de copias de seguridad programadas del modo Datastore. Usa las copias de seguridad para proteger tus datos contra la corrupción de datos a nivel de la aplicación o la eliminación accidental de datos.
Las copias de seguridad te permiten configurar programaciones para crear copias de seguridad diarias o semanales de la base de datos especificada. Puedes usar estas copias de seguridad para restablecer los datos en una base de datos nueva.
Acerca de 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 todas las configuraciones de índices y datos en ese momento. Una copia de seguridad no contiene las políticas de tiempo de actividad de la base de datos. Una copia de seguridad se encuentra en la misma ubicación que la base de datos de origen.
Las copias de seguridad tienen un período de retención configurable y se almacenan hasta que vence el período de retención o hasta que borres la copia de seguridad. Si borras la base de datos de origen, no se borrarán automáticamente las copias de seguridad relacionadas.
Firestore almacena metadatos relacionados con las copias de seguridad y los programas de copias de seguridad de una base de datos. Firestore conserva estos metadatos hasta que todas las copias de seguridad de la base de datos se venzan o se borren.
La creación o retención de copias de seguridad no afecta el rendimiento de las lecturas o escrituras en tu base de datos activa.
Costos
Cuando usas copias de seguridad, se te cobra por lo siguiente:
- La cantidad de almacenamiento que usa cada copia de seguridad.
- Para una operación de restablecimiento, se te cobra según el tamaño de la copia de seguridad.
Para obtener más detalles y conocer las tarifas exactas, consulta la página Precios.
Antes de comenzar
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.Funciones obligatorias
Para obtener los permisos que necesitas para administrar las copias de seguridad y los programas de copias de seguridad, pídele a tu administrador que te otorgue uno o más de los siguientes roles de Identity and Access Management:
roles/datastore.owner
: Acceso completo a la base de datos de FirestoreLos siguientes roles también están disponibles, pero no se pueden ver en la consola de Google Cloud. Usa Google Cloud CLI para asignar estos roles:
roles/datastore.backupsAdmin
: Tiene acceso de lectura y escritura a las copias de seguridad.roles/datastore.backupsViewer
: Tiene acceso de lectura a las copias de seguridad.roles/datastore.backupSchedulesAdmin
: Tiene acceso de lectura y escritura a las programaciones de copias de seguridad.roles/datastore.backupSchedulesViewer
: Tiene acceso de lectura a las programaciones de copias de seguridad.roles/datastore.restoreAdmin
: Tiene permisos para iniciar operaciones de restablecimiento.
Crea y administra programas de copias de seguridad
En los siguientes ejemplos, se muestra cómo configurar un programa de copia de seguridad. Para cada base de datos, puedes configurar hasta una programación de copia de seguridad diaria y hasta una programación de copia de seguridad semanal. No puedes configurar múltiples programaciones de copias de seguridad semanales para diferentes días de la semana.
No puedes configurar la hora exacta del día de la copia de seguridad. Las copias de seguridad se realizan en diferentes momentos de cada día. Para las programaciones de copias de seguridad semanales, puedes configurar el día de la semana para realizar una copia de seguridad.
Crea una programación de copia de seguridad
Si quieres crear una programación de copia de seguridad para una base de datos, usa el comando gcloud alpha firestore backups schedules create
.
Crea un programa de copias de seguridad diarias
Para crear una programación de copia de seguridad diaria, establece la marca --recurrence
en daily
:
gcloud alpha firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=daily \ --retention=RETENTION_PERIOD
Reemplaza lo siguiente:
DATABASE_ID
: El ID de la base de datos de la que se creará una copia de seguridad. Configúralo en(default)
para la base de datos predeterminada.RETENTION_PERIOD
: Establece un valor de hasta 14 semanas (14w
).
Crea una programación de copia de seguridad semanal
Para crear una programación de copia de seguridad semanal, establece la marca --recurrence
en weekly
:
gcloud alpha firestore backups schedules create \ --database='DATABASE_ID' \ --recurrence=weekly \ --retention=RETENTION_PERIOD \ --day-of-week=DAY
Reemplaza lo siguiente:
DATABASE_ID
: El ID de la base de datos de la que se creará una copia de seguridad. Configúralo en(default)
para la base de datos predeterminada.RETENTION_PERIOD
: Establece un valor de hasta 14 semanas (14w
).DAY
: El día de la semana para realizar la copia de seguridad. Configúralo con 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
Enumera programaciones de copias de seguridad
Para enumerar todas las programaciones de copias de seguridad de una base de datos, usa el comando gcloud alpha firestore backups schedules list
.
Este comando devuelve información sobre todas las programaciones de copias de seguridad.
gcloud alpha firestore backups schedules list \ --database='DATABASE_ID'
Reemplaza DATABASE_ID
por el ID de la base de datos. Usa (default)
para la base de datos predeterminada.
Describir una programación de copia de seguridad
Para recuperar información sobre una programación de copia de seguridad, usa el comando gcloud alpha firestore backups schedules describe
:
gcloud alpha firestore backups schedules describe \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
Reemplaza lo siguiente:
DATABASE_ID
: El ID de la base de datos de la que se creará una copia de seguridad. Configúralo en(default)
para la base de datos predeterminada.BACKUP_SCHEDULE_ID
: El ID de una programación de copia de seguridad. Puedes ver el ID de cada programación de copia de seguridad cuando enumeras todas las programaciones de copias de seguridad.
Actualiza una programación de copia de seguridad
Para actualizar el período de retención de una programación de copia de seguridad, usa el comando gcloud alpha firestore backups schedules update
:
gcloud alpha firestore backups schedules update \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID --retention=RETENTION_PERIOD
Reemplaza lo siguiente:
DATABASE_ID
: El ID de la base de datos de la que se creará una copia de seguridad. Configúralo en(default)
para la base de datos predeterminada.BACKUP_SCHEDULE_ID
: El ID de una programación de copia de seguridad. Puedes ver el ID en cada programación de copia de seguridad cuando enumeras todas las programaciones de copias de seguridad.RETENTION_PERIOD
: Establece un valor de hasta 14 semanas (14w
).
Borra una programación de copia de seguridad
Para borrar una programación de copia de seguridad, usa el comando gcloud alpha firestore backups schedules delete
:
gcloud alpha firestore backups schedules delete \ --database='DATABASE_ID' \ --backup-schedule=BACKUP_SCHEDULE_ID
Reemplaza lo siguiente:
DATABASE_ID
: El ID de la base de datos de la que se creará una copia de seguridad. Configúralo en(default)
para la base de datos predeterminada.BACKUP_SCHEDULE_ID
: El ID de una programación de copia de seguridad. Puedes ver el ID de cada programación de copia de seguridad cuando enumeras todas las programaciones de copias de seguridad.
Ten en cuenta que si borras una programación de copias de seguridad, no se borrarán las copias de seguridad que ya haya creado esta programación. Puedes esperar a que venzan después del período de retención o borrar una copia de seguridad de forma manual, consulta borra la copia de seguridad.
Administrar copias de seguridad
Mostrar una lista de las copias de seguridad
Para enumerar las copias de seguridad disponibles, usa el comando gcloud alpha firestore backups list
:
gcloud alpha firestore backups list \ --format="table(name, database, state)"
La marca --format="table(name, database, state)"
da formato al resultado en un formato más legible.
Para enumerar solo las copias de seguridad de una ubicación específica, usa la marca --location
:
gcloud alpha firestore backups list \ --location=LOCATION \ --format="table(name, database, state)"
Reemplaza LOCATION
por el nombre de una ubicación en modo Datastore.
Describe una copia de seguridad
Para ver los detalles de una copia de seguridad, usa el comando gcloud alpha firestore backups describe
:
gcloud alpha firestore backups describe \ --location=LOCATION \ --backup=BACKUP_ID
LOCATION
: Es 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 enumeras todas las copias de seguridad.
Borrar copia de seguridad
Para borrar una copia de seguridad, usa el
comando gcloud alpha firestore backups delete
:
gcloud alpha firestore backups delete \ --location=LOCATION \ --backup=BACKUP_ID
LOCATION
: Es 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 enumeras todas las copias de seguridad.
Restablece datos a partir de una copia de seguridad de una base de datos
Una operación de restablecimiento escribe los datos de una copia de seguridad en una nueva base de datos en modo Datastore. Para iniciar una operación de restablecimiento, usa el comando gcloud alpha firestore databases restore
:
gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
PROJECT_ID
: ID del proyectoLOCATION
: Es la ubicación de la copia de seguridad de la base de datos y la ubicación de la base de datos nueva creada para los datos restablecidos.BACKUP_ID
: El ID de una copia de seguridad Puedes ver el ID de cada copia de seguridad cuando enumeras todas las copias de seguridad.DATABASE_ID
: Un ID de la base de datos para la base de datos nueva. No puedes usar un ID de base de datos que ya esté en uso. El modo de base de datos coincidirá con el de la copia de seguridad.
El resultado incluirá los componentes 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 ...
El campo metadata
incluye un componente progressPercentage
, que detalla el progreso estimado del restablecimiento hasta ahora, y un operationState
que especifica el estado general del restablecimiento.
Para volver a recuperar esta información, usa gcloud firestore operations list
:
gcloud firestore operations list --database=DATABASE_ID
O bien, usando el campo name
del resultado descrito antes, con gcloud firestore operations describe
:
gcloud firestore operations describe OPERATION_NAME