Descripción general de las copias de seguridad

La copia de seguridad de Spanner te permite crear copias de seguridad de las bases de datos de Spanner a pedido y restablecerlas para brindar protección contra errores del operador y de la aplicación que provocan una corrupción lógica de los datos. Las copias de seguridad tienen alta disponibilidad, están encriptadas y se pueden retener hasta por un año desde el momento en que se crean. Cuando creas una copia de seguridad, esta reside en la misma instancia, región y proyecto que su base de datos de origen. Si necesitas restablecer la copia de seguridad en una región o proyecto diferente por motivos de cumplimiento o continuidad empresarial, puedes copiar la copia de seguridad en una instancia en una región o proyecto diferente. Para conservar las copias de seguridad por más de un año, recomendamos exportar tu base de datos. Para brindar protección contra la corrupción lógica de datos, Spanner también ofrece la recuperación de un momento determinado. También puedes habilitar la protección contra la eliminación de bases de datos para evitar la eliminación accidental.

funciones clave

  • Coherencia de los datos: Las copias de seguridad son copias transaccionales y coherentes externamente de una base de datos de Spanner en el version_time de la copia de seguridad.

  • 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, la copia de seguridad se almacena en cada una de las tres zonas de lectura y escritura. En el caso de las instancias multirregionales, la copia de seguridad se almacena en todas las zonas que contienen una réplica de lectura y escritura o de solo lectura. Si necesitas almacenar la copia de seguridad de la base de datos en una región o un proyecto diferentes, puedes copiar la copia de seguridad completada de la instancia de origen a una instancia de destino ubicada en una región o proyecto diferente. Para obtener más información, consulta cómo copiar una copia de seguridad.

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

En la siguiente tabla, se describen varias estrategias de copia de seguridad, el enfoque recomendado a fin de implementar el plan y el tiempo máximo de retención para el enfoque sugerido.

Estrategia de copia de seguridad Enfoque recomendado Tiempo máximo de retención para el enfoque sugerido
Almacenar la copia de seguridad de una base de datos en la misma instancia, región y proyecto que su base de datos de origen Crea una copia de seguridad. 1 año
Almacenar la copia de seguridad de una base de datos en una instancia, región o proyecto diferente a partir de su base de datos de origen (es decir, una copia de seguridad entre regiones o entre proyectos) Crea una copia de seguridad y, luego, cópiala en una instancia en una región o proyecto diferente. 1 año
Almacena la copia de seguridad en Cloud Storage Exportar la base de datos a un bucket de Cloud Storage Para ver una comparación detallada entre la copia de seguridad y la exportación, consulta Elige entre crear una copia de seguridad y restablecer o importar y exportar. Ilimitado (se retendrá hasta la eliminación)
Recuperación de un momento determinado (PITR) Para recuperar datos de un momento determinado en el pasado, elige PITR. Puedes cambiar la base de datos version_retention_period de la configuración predeterminada de 1 hora a un máximo de 7 días. 7 días

Control de acceso con Identity and Access Management (IAM)

IAM te permite controlar el acceso a los recursos de Spanner, que incluyen las copias de seguridad. 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 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 copia de seguridad y base de datos, pero esto no se recomienda debido a la complejidad. Recuerda que las copias de seguridad no contienen metadatos de base de datos como las políticas de IAM, por lo que, cuando restablezcas una base de datos, esta heredará, en un principio, las políticas de su instancia superior.

En esta sección, se describen las funciones predefinidas que tienen acceso a copias de seguridad y restablecimientos.

Las siguientes funciones están diseñadas específicamente para la copia de seguridad:

  • spanner.backupAdmin: tiene acceso para crear, ver, actualizar, copiar y borrar copias de seguridad. Con esta función, también se 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.backupWriter: tiene acceso para crear y copiar copias de seguridad, pero no puede actualizarlas ni borrarlas. Esta función está diseñada para que la usen las secuencias de comandos que automaticen la creación de copias de seguridad.

Los siguientes roles también tienen acceso a las copias de seguridad de Spanner:

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

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

Cómo funciona la creación de copias de seguridad

Puedes crear una copia de seguridad de cualquier base de datos de 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 incluye 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). Cuando creas una copia de seguridad, esta reside en la misma instancia, región y proyecto que su base de datos de origen.

Puedes crear una copia de seguridad de las siguientes maneras:

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 del momento 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 la 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 el 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. La copia de seguridad recién creada reside en la misma instancia, región y proyecto que su base de datos de origen.

Para ayudar a garantizar la coherencia externa de la copia de seguridad, Spanner fija el contenido de la base de datos en create_time. 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 lectura y escritura y de solo lectura de la instancia comienza a copiar los datos en paralelo. Si alguna 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. En el caso de las instancias multirregionales, todas las zonas de lectura y escritura y de solo lectura de todas las regiones deben completar sus réplicas de copia de seguridad antes de que la copia de seguridad se marque como restablecible.

Las copias de seguridad también incluyen el esquema de los flujos de cambios de una base de datos, pero no los registros de cambios existentes. Los datos del flujo de cambios están diseñados para transmitirse y consumirse casi de forma simultánea con los cambios que describen. Por lo tanto, Spanner excluye estos datos de las copias de seguridad.

Cómo funciona la copia de seguridad

La función de copia de seguridad y restablecimiento de Spanner te permite copiar una copia de seguridad de la base de datos de Spanner de una instancia a otra en una región o proyecto diferente para proporcionar funciones adicionales de protección de datos y cumplimiento. La copia de seguridad copiada tiene las mismas funciones clave que la copia original. Además, puedes restablecer una copia de seguridad copiada en la misma instancia que la copia para admitir casos de uso de copias de seguridad y restablecimientos entre regiones y entre proyectos.

Casos de uso comunes entre regiones

Algunos casos de uso comunes entre regiones para copiar una copia de seguridad incluyen los siguientes:

  • Mantener una copia de seguridad en otra región para los requisitos regulatorios y de cumplimiento

    Por ejemplo, puedes copiar una copia de seguridad de tu base de datos en una instancia ubicada en una región que se encuentre a una distancia mínima de tus datos de producción para satisfacer los requisitos de cumplimiento.

  • Mantén una copia de seguridad en una región separada para la recuperación ante desastres y la continuidad empresarial.

    Por ejemplo, puedes copiar una base de datos de copia de seguridad en una instancia de destino con fines de recuperación ante desastres con un objetivo de tiempo de recuperación (RTO) distinto de cero y un objetivo de punto de recuperación (RPO). Luego, cuando sea necesario, puedes restablecer la base de datos a partir de la copia de seguridad copiada en la instancia de destino. (Si tu aplicación tiene requisitos de cero RTO y RPO cero, recomendamos la configuración multirregional de Spanner para los planes de recuperación ante desastres).

Casos de uso comunes entre proyectos

Algunos casos de uso comunes entre proyectos para copiar una copia de seguridad incluyen los siguientes:

  • Mantén una copia de seguridad en un proyecto separado para cumplir con los requisitos operativos, de seguridad o de cumplimiento.
  • Copiar y mover datos entre proyectos de desarrollo, prueba y producción

    Por ejemplo, si deseas mover datos del proyecto de producción a uno de prueba, puedes crear una copia de seguridad de los datos de producción y, luego, copiarla en el proyecto de prueba. Una vez completada la operación, puedes restablecer la copia de seguridad en una instancia del proyecto de prueba.

  • Mover tu base de datos de un proyecto a otro (ten en cuenta que puede haber un tiempo de inactividad durante la migración)

Puedes copiar una copia de seguridad en una instancia de destino en una región o proyecto diferente si especificas una copia de seguridad de origen, una de destino y una fecha de vencimiento de hasta un año a partir de la fecha de creación de la copia de seguridad de origen. Esto significa que el valor de expiration_date debe ser de al menos seis horas desde el momento en que se procesa la solicitud de copia actual y, como máximo, 366 días después de la copia de seguridad de origen create_time.

Al comienzo de la solicitud de copia de seguridad de copia, Spanner crea un recurso de copia de seguridad y una operación de copia de seguridad de larga duración para ayudar a realizar un seguimiento del progreso de la copia de seguridad. La copia de seguridad se copia en cada zona de lectura y escritura y de solo lectura en la instancia de destino. Si una zona no está disponible temporalmente, la copia de seguridad no se completa hasta que la zona vuelve a estar en línea. No puedes borrar la instancia de destino durante la copia. Para realizar un seguimiento del progreso y el estado de finalización de la operación de copia de seguridad, sigue los pasos que se indican en Mostrar el progreso de la copia de seguridad. Una vez que se completa la copia, puedes borrar la copia de seguridad de origen si ya no la necesitas. Una vez que se complete la copia, puedes usar operaciones como GetBackup, UpdateBackup y DeleteBackup con la copia de seguridad copiada.

Requisitos previos para iniciar la copia de una copia de seguridad

Si copias una copia de seguridad a una instancia en una región o proyecto diferente, primero debes configurar la instancia de destino. La instancia de destino es aquella donde reside la copia de la copia de seguridad. Puede tener un mínimo de 100 unidades de procesamiento y no es necesario que tengas la misma configuración de instancia que la instancia de origen (la que contiene la copia de seguridad de origen). Antes del restablecimiento, asegúrate de que la instancia de destino tenga suficientes nodos o unidades de procesamiento aprovisionadas para admitir el tamaño de la base de datos de acuerdo con el límite de almacenamiento de 4 TB por nodo (p.ej., necesitas al menos 2 nodos para restablecer una copia de seguridad de 8 TB). Para crear una instancia de destino nueva, consulta Crea y administra instancias.

Consideraciones adicionales

Las consideraciones adicionales incluyen lo siguiente:

  • Cuando copias una copia de seguridad de una instancia de origen a una de destino, la copia de seguridad copiada existe independientemente de la copia de seguridad de origen. Una vez que se completa la operación de copia, se crea una copia de seguridad en la instancia de origen y otra en la de destino. Si ya no necesitas la copia de seguridad en la instancia de origen, puedes borrarla.
  • Cuando copias una copia de seguridad en una instancia regional, los datos de la copia de seguridad se copian en cada una de las tres zonas de lectura y escritura en la instancia de destino.
  • Cuando copias una copia de seguridad en una instancia multirregional, los datos de la copia de seguridad se copian en cada zona de la instancia que contiene una réplica de lectura y escritura o de solo lectura.
  • Puedes copiar varias copias de seguridad al mismo tiempo.
  • Puedes actualizar o borrar la copia de seguridad de destino mientras se realiza un proceso de copia. Si borras la copia de seguridad de destino, la operación de copia en curso se cancelará.
  • Puedes restablecer una copia de seguridad en la instancia de origen mientras hay una operación de copia en curso.
  • Puedes cancelar una operación de copia antes de que se complete.

Durante el proceso de copia, no se permiten las siguientes operaciones:

  • No puedes borrar la copia de seguridad de origen mientras hay una operación de copia en curso.
  • No puedes iniciar una copia nueva o un restablecimiento en la copia de seguridad de destino copiada mientras la copia aún está en curso. Una vez completada, una copia se puede volver a copiar o restablecer.

Dónde se almacenan las copias de seguridad de Spanner

Las copias de seguridad son recursos en 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 a recursos con el formato projects/<project>/instances/<instance>/backups/<backup>. Una copia de seguridad sigue existiendo incluso después de que se haya borrado 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 Spanner si hay copias de seguridad. Si quieres borrar la instancia, te recomendamos que restablezcas la copia de seguridad y, luego, exportes la base de datos restablecida antes de borrar la copia de seguridad y la instancia.

Encriptación

Las copias de seguridad de Spanner, como las bases de datos, se encriptan mediante encriptación administrada por Google o por el cliente. 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 que se crea 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 con CMEK habilitadas.

De forma predeterminada, una copia de seguridad copiada usa la misma configuración de encriptación, ya sea administrada por Google o administrada por el cliente (CMEK), que la encriptación de la copia de seguridad de origen. Puedes anular este comportamiento si especificas una configuración de encriptación diferente cuando copias la copia de seguridad. Si deseas que la copia de seguridad copiada se encripte con CMEK cuando se copie entre regiones, especifica la clave de KMS correspondiente a la región de destino.

Rendimiento

En esta sección, se describe el rendimiento óptimo de las copias de seguridad en Spanner.

Rendimiento de las copias de seguridad

Cuando se realiza una copia de seguridad, Spanner crea un trabajo de copia de seguridad para copiar los 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 la finalización de una operación de copia de seguridad, consulta Muestra el progreso de la copia de seguridad.

Por lo 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 a que hay una cola interna para los recursos. Si una copia de seguridad tarda más de lo habitual cuando no cambiaron otros factores, es posible que se deba 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 ni reinicies la copia de seguridad, ya que es probable que encuentres el mismo retraso en la programación con la nueva operación de copia de seguridad.

Rendimiento cuando se copia una copia de seguridad

El tiempo que lleva copiar una copia de seguridad depende de factores como el tamaño de la copia de seguridad de origen y la región de destino elegida para la copia de seguridad. Por lo general, la mayoría de las copias se completan en un plazo de 1 a 4 horas. Algunas copias pueden tardar más tiempo según el tamaño de la copia de seguridad y la región de destino. Copiar una copia de seguridad no afecta el rendimiento en la instancia o base de datos de origen. Puedes realizar varias copias simultáneas de la copia de seguridad de origen en instancias en diferentes regiones sin ningún problema de rendimiento.

Precios

Se te factura en función de la cantidad de almacenamiento que usan tus copias de seguridad por unidad de tiempo. La facturación comienza una vez que se completa la operación de copia de seguridad y continúa hasta que se borra. Las copias de seguridad completas se facturan por 24 horas como mínimo. Si creas una copia de seguridad y la borras un minuto después de que finalice, se te facturarán 24 horas.

Una copia de una copia de seguridad está sujeta a los mismos costos de almacenamiento que una copia de seguridad original. Si creas una copia entre dos instancias que ocupan diferentes regiones, se aplican los costos de transferencia de datos salientes.

Por ejemplo, si copias tu base de datos de la configuración de instancia multirregional de origen nam7 a la configuración de instancia multirregional de destino nam-eur-asia3, se aplican los siguientes cargos:

  • Sin cargo por la región us-central1 superpuesta
  • Sin cargo para la región testigo us-central2
  • Los cargos por transferencia de datos intercontinental se aplican dos veces: una vez por cada continente nuevo (Europa y Asia).
  • El cargo de transferencia de datos entre regiones dentro del mismo continente se aplica una vez para us-east1
  • El cargo por transferencia de datos entre regiones dentro del mismo continente se aplica una vez en Europa

Spanner optimiza el proceso de copia para minimizar la cantidad de transferencias entre regiones. Esto ayuda a minimizar los costos de transferencia de datos y proporciona una experiencia de copia de seguridad rápida.

Las copias de seguridad se almacenan y facturan por separado. El almacenamiento de la 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. Para obtener más información, también consulta Métricas de uso de almacenamiento.

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

¿Qué sigue?