En esta página se explica cómo crear copias de seguridad de bases de datos de Spanner.
Para obtener más información sobre las copias de seguridad, consulta el artículo Introducción a las copias de seguridad. Puede crear copias de seguridad de las bases de datos de las siguientes formas:
- Con la Google Cloud consola.
- Usar Google Cloud CLI.
- Usar las bibliotecas de cliente.
- Mediante las APIs REST o RPC.
Antes de empezar
-
Para obtener los permisos que necesitas para crear copias de seguridad, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en la instancia:
-
Crear, ver, actualizar y eliminar copias de seguridad:
Administrador de copias de seguridad de Cloud Spanner (
roles/spanner.backupAdmin
) -
Crear y ver copias de seguridad:
Editor de copias de seguridad de Cloud Spanner (
roles/spanner.backupWriter
)
-
Crear, ver, actualizar y eliminar copias de seguridad:
Administrador de copias de seguridad de Cloud Spanner (
En los ejemplos de la CLI gcloud de esta página se dan por supuestos los siguientes aspectos:
- Ya has configurado la CLI de gcloud para usarla con Spanner. Si no has usado nunca la CLI de gcloud con Spanner, consulta el artículo Crear y consultar una base de datos con la CLI de gcloud.
Has configurado gcloud CLI con tu proyecto. Por ejemplo:
gcloud config set core/project PROJECT_ID
Crear una copia de seguridad
Cuando creas una copia de seguridad, Spanner crea un recurso de copia de seguridad y una operación de copia de seguridad de larga duración para monitorizar el progreso de la copia de seguridad. La copia de seguridad recién creada se encuentra en la misma instancia, región y proyecto que su base de datos de origen.
Debes especificar la siguiente información al crear una copia de seguridad:
- Un ID de base de datos de origen.
- Nombre del recurso de copia de seguridad.
- Una fecha de vencimiento (hasta 1 año después de la creación de la copia de seguridad).
También puedes especificar un versionTime
para la base de datos de origen, lo que te permite crear una copia de seguridad de la base de datos en un momento anterior.
El campo versionTime
se suele usar para sincronizar las copias de seguridad de varias bases de datos o para recuperar datos mediante la recuperación a un momento dado (PITR).
Si no se especifica versionTime
, se le asigna el valor createTime
de la copia de seguridad.
También puedes crear copias de seguridad con una frecuencia específica mediante una programación de copias de seguridad. Para obtener más información, consulta Crear y gestionar programaciones de copias de seguridad.
Consola
En la Google Cloud consola, ve a la página Instancias de Spanner.
Haz clic en la instancia que contiene la base de datos de la que quieras crear una copia de seguridad.
Haz clic en la base de datos.
En el panel de navegación, haz clic en Copia de seguridad o restauración.
En la pestaña Copias de seguridad, haz clic en Crear copia de seguridad.
Rellena el formulario y haz clic en Crear.
Para comprobar el progreso de una operación de copia de seguridad, consulta Comprobar el progreso de la operación.
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- INSTANCE_ID: el ID de la instancia de Spanner.
- DATABASE_ID: el ID de la base de datos de Spanner.
- BACKUP_NAME: nombre de la copia de seguridad de Spanner.
-
RETENTION_PERIOD: el periodo de conservación de la copia de seguridad creada. Por ejemplo, si quieres que la duración de la conservación sea de un día, puedes usar
86400s
. -
ENCRYPTION_TYPE:
el tipo de cifrado de la copia de seguridad creada.
Los valores válidos son
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
oCUSTOMER_MANAGED_ENCRYPTION
. Si usasCUSTOMER_MANAGED_ENCRYPTION
, debes especificar unkmsKeyName
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud spanner backups create BACKUP_NAME \ --instance=INSTANCE_ID \ --database=DATABASE_ID \ --retention-period=RETENTION_PERIOD \ --encryption-type=ENCRYPTION_TYPE \ --async
Windows (PowerShell)
gcloud spanner backups create BACKUP_NAME ` --instance=INSTANCE_ID ` --database=DATABASE_ID ` --retention-period=RETENTION_PERIOD ` --encryption-type=ENCRYPTION_TYPE ` --async
Windows (cmd.exe)
gcloud spanner backups create BACKUP_NAME ^ --instance=INSTANCE_ID ^ --database=DATABASE_ID ^ --retention-period=RETENTION_PERIOD ^ --encryption-type=ENCRYPTION_TYPE ^ --async
Deberías recibir una respuesta similar a la siguiente:
Create request issued for: BACKUP_NAME Check operation [projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME/operations/_auto_op_234567] for status.
A continuación, se incluyen algunas notas sobre el uso:
- Para definir la fecha de vencimiento de la copia de seguridad, especifica la marca
--retention-period
o--expiration-date
. Para obtener información sobre la sintaxis de las fechas, consultagcloud topic datetimes
. - El nombre de la copia de seguridad debe ser único en la instancia.
- El comando se devuelve inmediatamente debido a la marca
--async
. Sin la marca, el comando esperará a que se complete la operación de copia de seguridad. - Especifica la marca
--help
para obtener ayuda sobre cualquier comando.
Para comprobar el progreso de una operación de copia de seguridad, consulta Comprobar el progreso de la operación.
Bibliotecas de cliente
En el siguiente ejemplo de código se crea una copia de seguridad en un version_time
específico
y, a continuación, se espera a que se complete. Una vez completado, verifica que la copia de seguridad esté lista y obtiene información sobre ella, como su nombre, tamaño y hora de creación.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Siguientes pasos
Para obtener más información sobre las copias de seguridad, consulta el artículo Introducción a las copias de seguridad.
Para gestionar las copias de seguridad, consulta Gestionar copias de seguridad.