Acerca de las copias de seguridad de Cloud SQL

En esta página, se describe cómo funcionan las copias de seguridad de tu instancia de Cloud SQL. Puedes realizar copias de seguridad en tu instancia principal.

Para obtener instrucciones paso a paso sobre cómo programar copias de seguridad o crearlas a pedido, consulta Crea y administra copias de seguridad automáticas y bajo demanda.

Para obtener una descripción general de cómo restablecer datos en una instancia a partir de la copia de seguridad, consulta la Descripción general del restablecimiento de una instancia.

¿Qué proporcionan las copias de seguridad?

Las copias de seguridad te ayudan a restablecer los datos perdidos en la instancia de Cloud SQL. Además, si una instancia tiene un problema, puedes restablecerla a un estado anterior mediante la copia de seguridad para reemplazarla. Habilita las copias de seguridad automáticas para cualquier instancia que contenga datos necesarios. Las copias de seguridad protegen los datos contra pérdidas o daños.

Es necesario habilitar las copias de seguridad automáticas y el registro binario para algunas operaciones, como la creación de clones y réplicas.

¿Cuánto cuestan las copias de seguridad?

De forma predeterminada, Cloud SQL retiene 7 copias de seguridad automáticas por cada instancia de Cloud SQL Enterprise y 15 copias de seguridad automáticas para cada instancia de Cloud SQL Enterprise Plus, además de las copias de seguridad según demanda. Puedes configurar la cantidad de copias de seguridad automáticas que se conservarán, de una a 365. Cobramos una tarifa más baja por el almacenamiento de copias de seguridad que por otros tipos de instancias.

Cloud SQL no realiza una copia de seguridad de una instancia si la detienes o borras. Si borras una instancia, los datos se conservarán solo durante 4 días. Para recuperar la instancia y sus datos, comunícate con la Asistencia de Google Cloud en el período de 4 días con toda la información de instancia requerida.

Consulta la página de precios para obtener más información.

Copias de seguridad y exportaciones

Cloud SQL administra las copias de seguridad según las políticas de retención, y se almacenan por separado de la instancia de Cloud SQL. Las copias de seguridad de Cloud SQL son diferentes de una exportación que se sube a Cloud Storage, ya que, en la exportación, administras el ciclo de vida. Las copias de seguridad abarcan toda la base de datos. Las exportaciones pueden seleccionar contenido específico.

Las operaciones de copia de seguridad y restablecimiento no se pueden usar para actualizar una base de datos a una versión posterior. Solo puedes restablecer de una copia de seguridad a una instancia con la misma versión de base de datos.

Para actualizar a una versión posterior, considera usar Database Migration Service o exportar y, luego, importar tu base de datos a una nueva instancia de Cloud SQL.

Acerca del tamaño de las copias de seguridad

Las copias de seguridad de Cloud SQL son incrementales. Solo contienen los datos que cambiaron después de que se realizó la copia de seguridad anterior. La copia de seguridad más antigua tiene un tamaño similar al de la base de datos, pero el tamaño de las copias de seguridad siguientes depende de la velocidad con la que cambian los datos. Cuando se borra la copia de seguridad más antigua, el tamaño de la copia de seguridad que le sigue en antigüedad aumenta a fin de que siempre exista una copia de seguridad completa.

Tipos de copias de seguridad

Cloud SQL realiza dos tipos de copias de seguridad:

Copias de seguridad a pedido

Puedes crear una copia de seguridad en cualquier momento. Esto podría ser útil si piensas realizar una operación riesgosa en tu base de datos o si necesitas una copia de seguridad y no quieres esperar al período asignado. Puedes crear copias de seguridad a pedido para cualquier instancia, ya sea que tengan o no habilitadas las copias de seguridad automáticas.

Las copias de seguridad a pedido no se borran de forma automática como sucede con las copias de seguridad automáticas. Estas persisten hasta que las borres o hasta que se borre su instancia. Como no se borran de forma automática, las copias de seguridad según demanda pueden tener un efecto a largo plazo en los cargos de facturación.

Copias de seguridad automáticas

Las copias de seguridad automáticas se realizan a diario, dentro de un período de 4 horas. La copia de seguridad se inicia durante el período asignado. De ser posible, programa las copias de seguridad en los momentos en que la instancia tiene poca actividad.

Te recomendamos que no borres ninguna copia de seguridad automática porque son necesarias para admitir la recuperación de un momento determinado.

Durante el período establecido para la copia de seguridad, las copias de seguridad automáticas se realizan todos los días que la instancia se ejecuta. Se realiza una copia de seguridad automática adicional después de que se detiene la instancia para proteger todos los cambios antes de que se detenga. Se conservan hasta las siete copias de seguridad más recientes, de forma predeterminada. Puedes configurar la cantidad de copias de seguridad automáticas que se conservarán, de una a 365. Los valores de los registros las retenciones de las copias de seguridad y de las transacciones se pueden cambiar desde la configuración predeterminada. Obtenga más información.

¿Dónde se almacenan las copias de seguridad?

Se incluyen las siguientes ubicaciones para las copias de seguridad:

Ubicaciones predeterminadas de copias de seguridad

Si no especificas una ubicación de almacenamiento, tus copias de seguridad se almacenarán en la multirregión que está geográficamente más cerca de la ubicación de tu instancia de Cloud SQL. Por ejemplo, si tu instancia de Cloud SQL está en us-central1, tus copias de seguridad se almacenan en la multirregión us de forma predeterminada. Sin embargo, una ubicación predeterminada como australia-southeast1 está fuera de una multirregión. La multirregión más cercana es asia.

Ubicaciones personalizadas de copias de seguridad

Cloud SQL te permite seleccionar una ubicación personalizada para los datos de una copia de seguridad. Esto es útil si la organización necesita cumplir con las regulaciones de residencia de datos que requieren que mantengas las copias de seguridad dentro de un límite geográfico específico. Si la organización tiene este tipo de requisito, es probable que use una política de la organización de restricción de ubicación de recursos. Con esta política, cuando intentas usar una ubicación geográfica que no cumple con la política, verás una alerta en la página Copias de seguridad. Si ves esta alerta, debes cambiar la ubicación de copia de seguridad a una ubicación que permita la política.

Cuando selecciones una ubicación personalizada para una copia de seguridad, ten en cuenta lo siguiente:

  • Costo: Un clúster en tu instancia puede estar en una región de menor costo que las demás.
  • Proximidad a tu servidor de aplicaciones: Te recomendamos almacenar la copia de seguridad lo más cerca posible de la aplicación de entrega.
  • Uso del almacenamiento: Necesitas suficiente espacio de almacenamiento para conservar tu copia de seguridad a medida que aumenta su tamaño. Según tu carga de trabajo, es posible que tengas clústeres de diferentes tamaños o con diferentes usos de discos. Debes tener en cuenta estos factores cuando elijas un clúster.

Si deseas obtener una lista completa de los valores regionales válidos, consulta la página Ubicaciones de las instancias. Si deseas obtener una lista completa de los valores multirregionales, consulta Ubicaciones multirregionales.

Si quieres obtener más información sobre la configuración de las ubicaciones para las copias de seguridad y la visualización de las ubicaciones de las copias de seguridad realizadas para una instancia, consulta Configura una ubicación personalizada para las copias de seguridad y Visualiza las ubicaciones de copias de seguridad.

Retención de registros de copias de seguridad automáticas y de transacciones

Las copias de seguridad automáticas se usan para restablecer instancias de Cloud SQL. Se usa una combinación de copias de seguridad automáticas y registros de transacciones para realizar una recuperación de un momento determinado.

Las copias de seguridad automáticas se pueden conservar hasta por un año si se configura el período de retención, mientras que las copias de seguridad a pedido persisten hasta que borres las copias de seguridad o hasta que se borre la instancia.

Si bien los registros de transacciones se cuentan en días, no se garantiza que las copias de seguridad automáticas se realicen durante uno o más días exactos. Se usan diferentes unidades para estas configuraciones de retención. La retención automática de copias de seguridad es un recuento y se puede establecer desde una copia de seguridad hasta 365.

La retención del registro de transacciones se expresa en días. Para las instancias de Cloud SQL Enterprise Plus, el rango es de 1 a 35 días, con un valor predeterminado de 14 días. Para las instancias de Cloud SQL Enterprise, el rango es de 1 a 7 días, con un valor predeterminado de 7 días. Para las instancias de edición de Cloud SQL Enterprise Plus y de Cloud SQL Enterprise, la configuración de retención de registros de transacciones debe ser menor que la configuración de retención de copias de seguridad.

Los límites inferiores son útiles para las instancias de prueba, ya que los registros y las copias de seguridad se borran más rápido. En el caso de los registros de transacciones, el tamaño del disco no aumenta tanto con los límites inferiores. Usar valores más altos para la retención de copias de seguridad automáticas te permite restablecer desde puntos anteriores más antiguos.

Los registros se borran definitivamente una vez al día, no de forma continua. Cuando la cantidad de días de retención de registros es la misma que la cantidad de copias de seguridad, se puede provocar una retención de registros insuficiente. Por ejemplo, establecer la retención de registros en siete días y la retención de copias de seguridad a siete copias de seguridad implica que se conservarán entre seis y siete días de registros.

Recomendamos configurar la cantidad de copias de seguridad en un día más que los días de retención de registros para garantizar un mínimo de días específicos de retención.

La actividad de escritura alta en la base de datos puede generar un gran volumen de registros de transacciones, que puede consumir un gran espacio en el disco y provocar un aumento en el disco para el aumento automático de las instancias habilitadas. Recomendamos que dimensiones el almacenamiento de la instancia para dar cuenta de la retención de registros de transacciones.

Consulta Configura la retención de las copias de seguridad automáticas.

Consulta Configura la retención del registro de transacciones.

¿Puedo exportar una copia de seguridad?

No, no puedes exportar una copia de seguridad. Solo puedes exportar datos de instancias. Consulta la página sobre cómo exportar datos desde Cloud SQL.

Acerca del usuario de copia de seguridad especial

Cloud SQL crea un usuario de base de datos especial, cloudsqladmin, para cada instancia y genera una contraseña única específica de instancia para él. Cloud SQL accede como el usuario cloudsqladmin para realizar copias de seguridad automáticas.

¿Cómo afectan las copias de seguridad a las operaciones de instancia?

Las operaciones de escritura y otras operaciones no se ven afectadas por las operaciones de copia de seguridad.

Límites de frecuencia de las copias de seguridad

Cloud SQL limita la frecuencia de las operaciones de copias de seguridad en el disco de datos. Puedes tener un máximo de cinco operaciones de copias de seguridad cada 50 minutos por instancia y por proyecto. Si una operación de copia de seguridad falla, no se considera en esta cuota. Si alcanzas el límite, la operación falla con un mensaje de error que te indica cuándo puedes volver a intentarlo.

Veamos cómo Cloud SQL aplica el límite de frecuencia para las copias de seguridad.

Cloud SQL usa tokens de un bucket para determinar cuántas operaciones de copias de seguridad están disponibles a la vez. Cada instancia tiene un bucket. Hay un máximo de cinco tokens en el bucket que puedes usar para operaciones de copias de seguridad. Cada 10 minutos, se agrega un token nuevo al bucket. Si el bucket está lleno, el token se desborda.

Cada vez que emites una operación de copia de seguridad, se otorga un token al bucket. Si la operación se realiza correctamente, el token se quita del bucket. Si falla, el token se muestra en el bucket. En el siguiente diagrama, se puede ver cómo funciona:

Cómo funcionan los tokens

Verificaciones de integridad de copias de seguridad y datos

Cloud SQL realiza verificaciones de integridad de la base de datos en segundo plano de forma automática para identificar cualquier problema potencial de integridad de los datos. Estas verificaciones se realizan como procesos sin conexión mediante el restablecimiento de una muestra de copias de seguridad iniciadas por el cliente o de recuperación.

Copias de seguridad de recuperación

Después de borrar una instancia, Cloud SQL borra todas las copias de seguridad. Para evitar la eliminación accidental de instancias, Cloud SQL retiene las copias de seguridad de una instancia durante cuatro días. Para recuperar una instancia borrada, comunícate con Atención al cliente de Google Cloud en un plazo de cuatro días.

Cloud SQL retiene al menos una última copia de seguridad diaria de cada instancia activa. Como resultado, si no hay buenas copias de seguridad disponibles, puedes usar la copia de seguridad diaria para recuperar tu instancia si te comunicas con Atención al cliente de Google Cloud.

Tablas que no están registradas

Las tablas que no están registradas se limpiarán de forma automática durante el restablecimiento de la copia de seguridad.

Soluciona problemas

Problema Soluciona problemas
No puedes ver el estado de la operación actual. La consola de Google Cloud solo informa si la operación se realizó de forma correcta o si falló. No está diseñado para mostrar advertencias ni otras actualizaciones.

Ejecuta el comando gcloud sql operations list para enumerar todas las operaciones de la instancia de Cloud SQL determinada.

Quieres averiguar quién inició una operación de copia de seguridad bajo demanda. La interfaz de usuario no muestra el usuario que inició una operación.

Busca en los registros y filtra por texto para encontrar al usuario. Es posible que debas usar registros de auditoría para obtener información privada. Los archivos de registro relevantes incluyen lo siguiente:

  • cloudsql.googleapis.com/postgres.log
  • Si Registros de auditoría de Cloud está habilitado y tienes los permisos necesarios para verlo, es posible que cloudaudit.googleapis.com/activity también esté disponible.
Después de borrar una instancia, no puedes realizar una copia de seguridad de ella.

Una vez que una instancia se borra definitivamente, no es posible la recuperación de datos. Sin embargo, si se restablece la instancia, también se restablecen sus copias de seguridad. Para obtener más información sobre cómo recuperar una instancia borrada, consulta Copias de seguridad de recuperación.

Si realizaste una operación de exportación, puedes crear una instancia nueva y, luego, realizar una operación de importación para volver a crear la base de datos. Las exportaciones se escriben en Cloud Storage y las importaciones se leen desde allí.

La copia de seguridad automática se interrumpe durante muchas horas y no se puede cancelar. Las copias de seguridad pueden llevar mucho tiempo según el tamaño de la base de datos.

Si en verdad necesitas cancelar la operación, puedes pedirle a la asistencia al cliente que realice una operación de force restart para la instancia.

Una operación de restablecimiento puede fallar cuando uno o más usuarios a los que se hace referencia en el archivo de volcado de SQL no existen. Antes de restablecer un archivo de volcado de SQL, todos los usuarios de la base de datos que poseen objetos o que recibieron permisos sobre los objetos en la base de datos de volcado deben existir en la base de datos de destino. Si este no es el caso, la operación de restablecimiento no puede volver a crear los objetos con la propiedad o los permisos originales.

Crea los usuarios de la base de datos antes de restablecer el archivo de volcado de SQL.

En la actualidad, puedes conservar las copias de seguridad automáticas durante siete días, pero quieres aumentar esa cantidad de días a treinta o más. Puedes configurar la cantidad de copias de seguridad automáticas que se conservarán, de 1 a 365. Las copias de seguridad automáticas se reducen con regularidad según el valor de retención configurado. Por desgracia, esto significa que solo puedes restablecer instancias a partir de las copias de seguridad automáticas que ves en la actualidad.

Si deseas conservar las copias de seguridad de forma indefinida, puedes crear una copia de seguridad a pedido, ya que no se borran de la misma manera que las copias de seguridad automáticas. Las copias de seguridad bajo demanda permanecen de forma indefinida. Es decir, permanecen hasta que se borran o se borra la instancia a la que pertenecen. Debido a que ese tipo de copia de seguridad no se borra de forma automática, es posible que afecte la facturación.

Se produjo un error en la copia de seguridad automática y no recibiste ninguna notificación por correo electrónico. Para que Cloud SQL te notifique sobre el estado de la copia de seguridad, configura una alerta basada en registros.
Una instancia falla varias veces porque cambia entre los estados de falla y de restablecimiento de la copia de seguridad. Los intentos para conectarse y usar la base de datos después del restablecimiento fallan.
  • Es posible que haya demasiadas conexiones activas. Cuando hay demasiadas conexiones, es posible que ocurran errores en medio de una conexión en la que no hay parámetros de configuración de autovacuum para descartar las conexiones inactivas.
  • Puede generarse un ciclo si cualquier código personalizado usa una lógica de reintento que no se detiene después de algunas fallas.
  • Es posible que haya demasiado tráfico. Usa la agrupación de conexiones y otras prácticas recomendadas para la conectividad.

Solución:

  1. Verifica que la base de datos esté configurada para autovacuum.
  2. Comprueba si hay alguna lógica de reintento de conexiones configurada en el código personalizado.
  3. Disminuye el tráfico hasta que se recupere la base de datos y, luego, vuelve a aumentarlo con lentitud.
Detectas que faltan datos durante una operación de copia de seguridad o de restablecimiento. Las tablas se crearon como no registradas. Por ejemplo:

CREATE UNLOGGED TABLE ....

Estas tablas no se incluyen en un restablecimiento desde una copia de seguridad:

  • El contenido de las tablas que no están registradas no sobrevive a la conmutación por error en una instancia de HA.
  • Las tablas que no están registradas no superarán las fallas de postgres.
  • Las tablas que no están registradas no se replicarán en réplicas de lectura.
  • Las tablas que no están registradas se limpiarán de forma automática durante el restablecimiento de la copia de seguridad.

La solución es evitar usar tablas que no están registradas si deseas restablecer esas tablas a través de una copia de seguridad. Si realizas el restablecimiento desde una base de datos que ya tiene tablas no registradas, puedes volcar la base de datos a un archivo y volver a cargar los datos después de modificar el archivo volcado en ALTER TABLE a SET LOGGED en esas tablas.

¿Qué sigue?