Acerca de la copia de seguridad y el restablecimiento

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Descripción general

Las funciones de copia de seguridad y restablecimiento de Cloud Spanner te permiten crear copias de seguridad de bases de datos de Cloud Spanner a pedido y restablecerlas para brindar protección contra errores de operador y aplicación, lo que puede dañar los datos de forma lógica. Las copias de seguridad tienen alta disponibilidad, están encriptadas y se pueden conservar durante un año a partir de su creación. Si necesitas tiempos de retención más largos, te recomendamos exportar tu base de datos.

Puedes crear copias de seguridad y restablecer de las siguientes maneras:

Para la corrupción lógica de datos, 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. Para las instancias regionales, se almacena una copia de la copia de seguridad en cada una de las tres zonas de lectura y escritura. Para las instancias multirregionales, una copia se almacena 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 forma asíncrona, por lo que puede haber una demora entre el momento en que una copia de seguridad vence y el momento en que realmente se borra.

Elige entre la copia de seguridad y el restablecimiento, o la importación y exportación

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 ellos 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. 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 encriptado de propiedad que se diseñó 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 en cualquier instancia del proyecto con la misma configuración de instancias 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, de forma predeterminada, se conservan 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 según el almacenamiento que se use por unidad de tiempo. 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 la base de datos.
Hora de restablecimiento El restablecimiento ocurre en dos operaciones: restablecer y optimizar. La operación de restablecimiento ofrece un tiempo rápido hasta el primer byte porque 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 más alta 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 de la base de datos (incluidos el esquema y los índices secundarios) en el version_time de la copia de seguridad. Cualquier modificación en los datos o el esquema después de version_time no se incluirá en la copia de seguridad.

Las copias de seguridad incluyen todas las opciones de bases de datos que se configuran con el comando ALTER DATABASE SET OPTIONS, pero no incluyen las políticas de administración de identidades y accesos (IAM).

Las copias de seguridad también incluyen el esquema de las transmisiones de cambios de una base de datos, pero no los registros de cambios existentes. Los datos de transmisión de cambios deben transmitirse y consumirse de manera casi simultánea con los cambios que se describen. Por lo tanto, Spanner excluye estos datos de las copias de seguridad.

Encriptación

Las copias de seguridad de Spanner, como las bases de datos, se encriptan mediante la encriptación administrada por Google o por el cliente (CMEK). De forma predeterminada, una copia de seguridad usa la misma configuración de encriptación que su 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 para 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 la clave de KMS se rota. Para obtener más información, consulta Crea una copia de seguridad habilitada para 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 fecha 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 mediante 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 esta.

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 solo lectura y escritura en la instancia comienza a copiar los datos en paralelo. Si alguna zona no está disponible temporalmente, la copia de seguridad no estará completa hasta que la zona vuelva a estar en línea y finalice. Las copias de seguridad se pueden restablecer en cuanto se complete la operación. En el caso de las instancias multirregionales, todas las zonas de lectura y escritura y de solo lectura en todas las regiones deben completar sus réplicas de copia de seguridad antes de marcarlas como restablecibles.

Jerarquía de recursos

Las copias de seguridad son recursos en Cloud Spanner. Cada recurso de copia de seguridad se organiza 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 con el formato projects/<project>/instances/<instance>/backups/<backup>. Una copia de seguridad sigue existiendo incluso después de que se borra su base de datos de origen, pero no puede sobrevivir a su 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 desean borrar la instancia, les recomendamos restablecer la copia de seguridad y luego exportar la base de datos restablecida, antes de borrarla y la instancia.

Tiempo y rendimiento de las copias de seguridad

Cuando se realiza una copia de seguridad, Spanner crea un trabajo de copia de seguridad para copiar datos directamente desde la base de datos al almacenamiento de copia de seguridad y ajusta el tamaño de este 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, por lo que 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 Mostrar progreso de copia de seguridad.

Como punto de referencia general, la mayoría de las copias de seguridad tardan entre 1 y 4 horas. Algunas copias de seguridad pueden tardar más debido a su tamaño o porque hay una cola interna para los recursos. Si una copia de seguridad tarda más de lo habitual cuando no cambiaron otros factores, puede deberse a una demora en la programación de la tarea de copia de seguridad en una zona. A veces, este proceso puede tardar hasta 30 minutos. Te recomendamos que no canceles y reinicies la copia de seguridad, ya que es probable que encuentres la misma demora de programación con la nueva operación de copia de seguridad.

Cómo funciona el restablecimiento

Cuando restableces una base de datos de Spanner, 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 instancias que la copia de seguridad. Por ejemplo, si una copia de seguridad está en una instancia configurada en us-west3, se puede restablecer en cualquier instancia del proyecto que también esté configurado en us-west3. La capacidad de procesamiento de las instancias no necesita ser 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, incluidas todas las opciones de base de datos que se establecieron con el comando ALTER DATABASE SET OPTIONS, y todas las configuraciones de transmisión de cambios. No tendrá permisos de IAM (excepto los heredados de la instancia que contiene la base de datos restablecida) y deberás aplicar los permisos de IAM adecuados después de que se complete el restablecimiento. No incluirá los datos internos de ningún flujo de cambios.

El proceso de restablecimiento está diseñado para alta disponibilidad. La base de datos se puede restablecer, siempre que esté disponible la mayoría de quórum de las regiones y zonas de la instancia.

A fin de restablecer una copia de seguridad habilitada para CMEK, la clave y su versión deben estar disponibles para Spanner. De forma predeterminada, la base de datos restablecida 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 restablezcas la base de datos. Para obtener más información, consulta Restablece desde una copia de seguridad habilitada para CMEK.

Una base de datos restaurada pasa por tres estados, seguidos de dos operaciones de larga duración.

  • CREATING: Spanner comienza el restablecimiento mediante la creación de una base de datos nueva y la activación de archivos a partir de la copia de seguridad. Este proceso suele tardar unos diez minutos. Durante este estado inicial CREATING, la base de datos restablecida aún no está lista para usarse.

    Para realizar un seguimiento del progreso de este estado, puedes consultar la operación de restablecimiento de larga duración que Spanner pone a disposición durante este proceso. Muestra un objeto RestoreDatabaseMetadata.

    Ten en cuenta las siguientes advertencias sobre el estado CREATING:

    • Si restableces a una instancia diferente, la operación de restablecimiento pertenece a la instancia que contiene la base de datos restablecida, no a la instancia que contiene la copia de seguridad.
    • Spanner no te permitirá borrar la copia de seguridad mientras se restablece. Puedes borrarlo una vez que finalice el restablecimiento y la base de datos pase al estado READY.
    • Una instancia puede tener como máximo una base de datos en el estado CREATING debido a un restablecimiento de la copia de seguridad. No podrás restablecer otra copia de seguridad en la instancia hasta que la base de datos restablecida pase al estado READY_OPTIMIZING o READY, como se describe a continuación.
  • READY_OPTIMIZING: Después de que Spanner activa la copia de seguridad, comienza a copiar los datos en la nueva base de datos mientras optimiza el tamaño almacenado. Tu base de datos está lista para usar durante este proceso. Según la cantidad de datos involucrados, esta fase del restablecimiento podría tardar días en completarse.

    Si bien puedes usar tu base de datos como de costumbre durante READY_OPTIMIZING, se aplican las siguientes advertencias:

    • Las latencias de lectura pueden ser un poco más altas de lo normal.
    • Las métricas de almacenamiento muestran el tamaño de la base de datos nueva, no la copia de seguridad. Por lo tanto, con la transferencia de datos aún en curso, las métricas de almacenamiento de Spanner pueden mostrar resultados que no reflejan el tamaño total de todos los datos.
    • Al igual que con el estado CREATING, Spanner no te permitirá borrar la copia de seguridad activada.

    Spanner pone a disposición otra operación de restablecimiento de larga duración durante este estado, pero esta vez muestra un objeto de metadatos OptimizeRestoredDatabaseMetadata.

  • READY: Una vez que se completa la operación de copiar y optimizar, la base de datos pasa al estado READY. La base de datos se restauró completamente y ya no hace referencia a la copia de seguridad ni la requiere.

Facturación

Se te cobrará en función de la cantidad de almacenamiento que usen tus copias de seguridad por unidad de tiempo. La facturación comenzará una vez que se complete la operación de copia de seguridad y continuará hasta que se haya borrado. No se aplican cargos por restablecer desde una copia de seguridad.

Las copias de seguridad se almacenan y facturan por separado. El almacenamiento de copia 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 con 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, funciones y permisos, consulta Descripción general de IAM para obtener una introducción.

Los recursos de copia de seguridad se organizan en instancias dentro de 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 más detallado, las políticas de IAM también se pueden aplicar a nivel de la copia de seguridad y 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 tanto, cuando restableces una base de datos, la base de datos hereda en primer lugar las políticas de su instancia superior.

En esta sección, se describen las funciones predefinidas que tienen acceso a las copias 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 a partir de 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 para crear copias de seguridad y restablecer datos. 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 las copias de seguridad, las operaciones de copia de seguridad y las 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.