Copia de seguridad y restablecimiento

Descripción general

La función de Copia de seguridad y restablecimiento de Cloud Spanner te permite crear copias de seguridad de las bases de datos de Cloud Spanner a pedido y restablecerlas a fin de proporcionar protección contra los errores de los operadores y las aplicaciones que generan daños lógicos en los datos. Las copias de seguridad tienen alta disponibilidad, están encriptadas y se pueden conservar durante un año hasta desde el momento en que se crean. Si necesitas tiempos de retención más largos, te recomendamos exportar tu base de datos.

Puedes usar una Copia de seguridad y restablecimiento de las siguientes maneras:

Para una corrupción de datos lógica, Cloud Spanner también ofrece recuperación de un momento determinado.

Características clave

  • Coherencia de los datos: Las copias de seguridad una copia con coherencia externa de una base de datos de Cloud Spanner en la copia de seguridad version_time.

  • Replicación: Las copias de seguridad residen en la misma instancia que su base de datos de origen y se replican en las mismas ubicaciones geográficas. En el caso de las instancias regionales, se almacena una copia de la copia de seguridad en cada una de las tres zonas de lectura y escritura. En el caso de las instancias multirregional, se almacena una copia en todas las zonas que contienen una réplica de lectura y escritura o de solo lectura.

  • Vencimiento automático: todas las copias de seguridad tienen una fecha de vencimiento especificada por el usuario que determina cuándo se borrará de forma automática. Cloud Spanner borra las copias de seguridad vencidas de manera asíncrona, por lo que puede haber un lapso de tiempo entre el momento en el que se vence una copia de seguridad y el momento en que se borra.

Elige entre Copia de seguridad y restablecimiento o Importar y Exportar

Las funciones Importar y Exportar de Cloud Spanner entregan casos de uso similares a los de Copia de seguridad y restablecimiento. En la siguiente tabla, se describen las similitudes y diferencias entre ellas para ayudarte a decidir cuál usar.

Copia de seguridad y restablecimientoImportación y exportación
Coherencia de los datos Las copias de seguridad y las bases de datos exportadas son coherentes de forma transaccional y externa.
Impacto en el rendimiento Las copias de seguridad no afectan el rendimiento de una instancia. Cloud Spanner realiza copias de seguridad con trabajos dedicados que no se basan en los recursos del servidor de una instancia. La exportación se ejecuta como una tarea de prioridad media para minimizar el impacto en el rendimiento de la base de datos. Para obtener más información, consulta Prioridad de tareas.
Formato de almacenamiento Usa un formato propietario y encriptado diseñado para un restablecimiento rápido. Es compatible con los formatos de archivo CSV y Avro.
Portabilidad Las copias de seguridad residen en la misma instancia que su base de datos de origen y no se pueden mover.

Puedes restablecer una base de datos a cualquier instancia del proyecto que tenga la misma configuración de instancia que la copia de seguridad.
Las bases de datos exportadas residen en Google Cloud Storage y los datos se pueden migrar a cualquier sistema compatible con CSV o Avro.
Retención Las copias de seguridad se pueden conservar hasta por 1 año. Las bases de datos exportadas se almacenan en Cloud Storage, donde, según la configuración predeterminada, se retienen hasta que se borran. Puedes personalizar las políticas de ciclo de vida y de retención.
Facturación Las copias de seguridad se facturan a tu proyecto de Cloud Spanner en función del almacenamiento que se usa por tiempo de unidad. Para obtener más detalles, consulta la sección Facturación. La facturación para la importación y exportación es más complicada debido a su uso de Google Cloud Storage y Dataflow. Para obtener más información, consulta Precios de importación y exportación de bases de datos.
Hora de restablecimiento El restablecimiento ocurre en dos operaciones: restablecimiento y optimización. La operación de restablecimiento ofrece un tiempo de primera generación rápido, ya que la base de datos activa directamente la copia de seguridad sin copiar los datos. Una vez que se completa la operación de restablecimiento, la base de datos está lista para usarse, aunque la latencia de lectura puede ser un poco mayor mientras se optimiza. Para obtener más información, consulta Cómo funciona el restablecimiento. La importación es más lenta. Debe esperar a que todos los datos se escriban en la base de datos.

Cómo funciona la copia de seguridad

Contenido

Los usuarios pueden crear una copia de seguridad de cualquier base de datos de Cloud Spanner. Estas copias de seguridad están completas, en el sentido de que contienen todos los datos en la base de datos (incluidos el esquema y los índices secundarios) en el version_time de la copia de seguridad. Las modificaciones que realices en los datos o el esquema después de version_time no se incluirán en la copia de seguridad. Las copias de seguridad no contienen metadatos de base de datos, como las políticas de administración de identidades y accesos (IAM).

Encriptación

Las copias de seguridad de Cloud Spanner, como las bases de datos, se pueden proteger con CMEK o la encriptación administrada por Google. De forma predeterminada, una copia de seguridad usa la misma configuración de encriptación que la base de datos, pero puedes anular este comportamiento si especificas una configuración de encriptación diferente cuando creas la copia de seguridad. Si la copia de seguridad está habilitada con CMEK, se encripta con la versión principal de la clave de KMS en el momento de la creación de la copia de seguridad. Una vez creada la copia de seguridad, su clave y versión de clave no se pueden modificar, incluso si se rota la clave de KMS. Para obtener más información, consulta Crea una copia de seguridad habilitada con CMEK.

Proceso de creación

Cuando creas una copia de seguridad, debes especificar una base de datos de origen, un nombre para el recurso de copia de seguridad y una fecha de vencimiento (hasta 1 año a partir de la hora de creación de la copia de seguridad). De manera opcional, también puedes especificar un version_time, que te permite crear una copia de seguridad de tu base de datos en un momento anterior. Por lo general, el campo version_time se usa para sincronizar las copias de seguridad de varias bases de datos o recuperar datos con la recuperación de un momento determinado. Si no se especifica version_time, se establece en create_time de la copia de seguridad. El sistema crea un recurso de copia de seguridad y una operación de copia de seguridad de larga duración para realizar un seguimiento del progreso de la copia de seguridad.

Para garantizar la coherencia externa de la copia de seguridad, Cloud Spanner fija el contenido de la base de datos en el momento de la creación. Esto evita que el sistema de recolección de elementos no utilizados quite los valores de datos relevantes mientras dure la operación de copia de seguridad. Luego, cada zona de la instancia comienza a copiar los datos en paralelo. Si una zona no está disponible temporalmente, la copia de seguridad no se completará hasta que vuelva a estar en línea y finalice. Las copias de seguridad se pueden restablecer en cuanto se completa la operación.

Jerarquía de recursos

Las copias de seguridad son recursos en Cloud Spanner. Cada recurso de copia de seguridad está organizado en la misma instancia que su base de datos de origen en la jerarquía de recursos y tiene una ruta de acceso de recursos en el formato projects/<project>/instances/<instance>/backups/<backup>. Una copia de seguridad continúa existiendo incluso después de que se borra la base de datos de origen, pero no puede sobrevivir a la instancia superior. Para evitar la eliminación accidental de copias de seguridad, no puedes borrar una instancia de Cloud Spanner si hay copias de seguridad. Para los usuarios que quieran borrar la instancia, recomendamos restablecer la copia de seguridad y, luego, exportar la base de datos restablecida antes de borrar la copia de seguridad y la instancia.

Tiempo y rendimiento de las copias de seguridad

Cuando se realiza una copia de seguridad, Cloud Spanner crea un trabajo de copia de seguridad para copiar los datos directamente de la base de datos al almacenamiento de copia de seguridad y ajusta el tamaño del trabajo según el tamaño de la base de datos. Este trabajo de copia de seguridad no usa recursos de CPU asignados a la instancia de la base de datos y, por lo tanto, no afecta el rendimiento de la instancia. Además, la carga de procesamiento en la instancia de la base de datos no afecta la velocidad de la operación de copia de seguridad.

Para realizar un seguimiento del progreso y completar una operación de copia de seguridad, consulta Cómo mostrar el progreso de la copia de seguridad.

Si una copia de seguridad está tardando más de lo normal cuando no se han modificado otros factores, puede deberse a un retraso en la programación de la tarea de copia de seguridad en una zona. A veces, esto puede tardar hasta 30 minutos. Te recomendamos que no canceles ni reinicies la copia de seguridad, ya que es probable que también experimentes el mismo retraso de programación con la copia de seguridad nueva.

Cómo funciona el restablecimiento

Cuando restablezcas datos, debes especificar una copia de seguridad de origen y una base de datos de destino nueva. No puedes restablecer a una base de datos existente. La base de datos nueva debe estar en el mismo proyecto que la copia de seguridad y en una instancia con la misma configuración de instancia que la copia de seguridad. Por ejemplo, si una copia de seguridad se encuentra en una instancia configurada con us-west3, se puede restablecer en cualquier instancia del proyecto que también esté configurada en us-west3. No es necesario que la capacidad de procesamiento de las instancias sea la misma. La base de datos restablecida tendrá todos los datos y el esquema de la base de datos original en el create_time de la copia de seguridad. No tendrá ningún permiso de IAM (excepto los heredados de la instancia que contiene la base de datos restablecida), y los usuarios deben aplicar los permisos de IAM adecuados después de que se complete el restablecimiento. El proceso de restablecimiento está diseñado para una alta disponibilidad, ya que la base de datos se puede restablecer siempre que el quórum de la mayoría de las regiones y zonas de la instancia esté disponible.

Para restablecer una copia de seguridad habilitada con CMEK, la clave y la versión de clave deben estar disponibles en Cloud Spanner. La base de datos restablecida, de forma predeterminada, usa la misma configuración de encriptación que la copia de seguridad. Puedes anular este comportamiento si especificas una configuración de encriptación diferente cuando restableces la base de datos. Para obtener más información, consulta restablece desde una copia de seguridad habilitada para CMEK.

Es importante comprender que una base de datos restablecida realiza una transición entre tres States a las que se les realiza un seguimiento mediante dos operaciones.

  • Estado CREATING: cuando inicias un restablecimiento, el sistema crea una base de datos nueva y una operación de base de datos de larga duración con RestoreDatabaseMetadata. para hacer un seguimiento del progreso de la restauración. La base de datos nueva comienza y permanece en el estado CREATING, lo que significa que no está lista para usarse hasta que se completa la operación de restablecimiento. A fin de proporcionar tiempos de restablecimiento rápidos (generalmente, menos de 10 minutos), la operación de restablecimiento activa los archivos en la copia de seguridad sin copiarlos en la base de datos.

  • Estado READY_OPTIMIZING: una vez que se completa la operación de restablecimiento, la base de datos pasa al estado READY_OPTIMIZING. En este estado, está lista para usarse, pero puedes experimentar latencias de lectura ligeramente más altas mientras la base de datos lee los datos de la copia de seguridad. Cualquier intento de borrar la copia de seguridad fallará mientras esté en uso para la optimización o el restablecimiento de la base de datos.

    Cuando se complete la operación de restablecimiento, obtendrá otra operación de base de datos de larga duración con OptimizeRestoredDatabaseMetadata para realizar un seguimiento del progreso de la optimización. La operación de optimización copia los datos de la copia de seguridad en la base de datos. Si deseas acelerar el proceso de optimización, puedes aumentar la capacidad de procesamiento de la instancia.

  • Estado READY: una vez que se completa la operación de optimización, la base de datos pasa al estado READY. En este punto, la base de datos restablecida tiene un buen rendimiento y ya no hace referencia a la copia de seguridad.

Una instancia puede tener, como máximo, una base de datos en el estado de restablecimiento CREATING. No podrás restablecer otra copia de seguridad de la instancia hasta que la base de datos restablecida pase al estado READY_OPTIMIZING o READY.

Facturación

Se te factura según la cantidad de almacenamiento que usen tus copias de seguridad por tiempo de unidad. La facturación comienza una vez que se completa la operación de copia de seguridad y continúa hasta que se haya borrado la copia de seguridad. No se aplican cargos por restablecer datos desde una copia de seguridad.

Las copias de seguridad se almacenan y facturan por separado. El almacenamiento de las copias de seguridad no afecta la facturación del almacenamiento de la base de datos ni los límites de almacenamiento de la base de datos.

Una copia de seguridad completa se factura por un mínimo de 24 horas. Si creas una copia de seguridad y la borras un minuto después de que termine, se te facturará durante 24 horas.

Para obtener más información sobre los costos de las copias de seguridad, consulta la página Precios de Cloud Spanner.

Control de acceso (IAM)

IAM te permite controlar el acceso a los recursos de Cloud Spanner, que incluyen copias de seguridad y bases de datos restablecidas. Si eres nuevo en IAM, las funciones y los permisos, consulta Descripción general de IAM para obtener una introducción.

Los recursos de copia de seguridad se organizan en instancias en la jerarquía de recursos de Cloud Spanner. Recomendamos aplicar políticas de IAM a nivel de proyecto o de instancia. Si necesitas un control detallado más detallado, las políticas de IAM también se pueden aplicar a nivel de la copia de seguridad y de la base de datos, pero esto no se recomienda debido a la complejidad. Recuerda que las copias de seguridad no contienen metadatos de la base de datos, como las políticas de IAM, por lo que, cuando restableces una base de datos, esta primero hereda las políticas de la instancia superior.

En esta sección, se describen las funciones predefinidas que tienen acceso a la copia de seguridad y el restablecimiento.

Las siguientes funciones están diseñadas específicamente para las copias de seguridad y restablecimiento:

  • spanner.backupAdmin: Tiene acceso para crear, ver, actualizar y borrar copias de seguridad. Esta función también puede ver y administrar la política de IAM de una copia de seguridad. Mediante esta función no se puede restablecer una base de datos desde una copia de seguridad.
  • spanner.restoreAdmin: Tiene acceso para restablecer bases de datos de las copias de seguridad. Si necesitas restablecer una copia de seguridad en una instancia diferente, aplica esta función a nivel de proyecto o en ambas instancias. No se pueden crear copias de seguridad mediante esta función.
  • spanner.backupWriter: Tiene acceso para crear copias de seguridad, pero no puede actualizarlas ni borrarlas. Esta función está diseñada para que la usen las secuencias de comandos que automatizan la creación de copias de seguridad.

Las siguientes funciones también tienen acceso a la copia de seguridad y restablecimiento:

  • spanner.admin: Tiene acceso completo a las funciones de copia de seguridad y restablecimiento. Esta función tiene acceso completo a todos los recursos de Cloud Spanner.
  • owner: tiene acceso completo a la copia de seguridad y restablecimiento
  • editor: tiene acceso completo a la copia de seguridad y restablecimiento
  • viewer: Tiene acceso para ver copias de seguridad, operaciones de copia de seguridad y operaciones de restablecimiento. Esta función no puede crear, actualizar, borrar ni restablecer una copia de seguridad.

Para obtener más información, consulta IAM de Cloud Spanner.