Descripción general de las copias de seguridad

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

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, para cada instancia, Cloud SQL retiene siete copias de seguridad automáticas además de todas las copias de seguridad según demanda. Puedes configurar la cantidad de copias de seguridad automáticas que se conservarán. Cobramos una tarifa más baja por el almacenamiento de copias de seguridad que por otros tipos de instancias. 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 usan un período de copia de seguridad de 4 horas. La copia de seguridad se inicia durante el período asignado. De ser posible, programa las copias de seguridad para los momentos en que la instancia tenga la menor cantidad de actividad.

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. Las copias de seguridad automáticas se detienen si la instancia se detuvo durante más de 36 horas. 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.

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.

Consulta la sección sobre cómo configurar una ubicación personalizada para las copias de seguridad y la sección sobre cómo visualizar las ubicaciones de las 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 y se puede establecer de uno a siete. El valor predeterminado para ambos es siete.

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.

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. Google Cloud Console 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.
No puedes hacer una copia de seguridad después de borrar una instancia. El período de gracia para borrar definitivamente instancias de Cloud SQL es de cuatro días, con la excepción de las réplicas de lectura, que se borran de forma inmediata y definitiva. Durante este tiempo, la asistencia al cliente puede recrear la instancia. Una vez que las instancias se borran definitivamente, no es posible la recuperación de datos.

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 desde 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. Solo se conservan siete copias de seguridad. Las copias de seguridad se descartan con frecuencia debido al costo y la ocupación de tamaño que implica conservarlas. 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 ese tipo de copias de seguridad no se borra de la misma manera en que lo hacen las 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 y se muestra un mensaje Unknown error. Es posible que se haya agotado el tiempo de espera de la operación de copia de seguridad.

Hay dos marcas que influyen en la creación de la copia de seguridad: checkpoint_timeout y checkpoint_completion_target. Al comienzo de la copia de seguridad, se ejecuta un punto de control slow y se multiplica checkpoint_completion_target por checkpoint_timeout.

Por ejemplo, 900 sec * 0.9 sec = 810 sec = 13.5 min.

Por este motivo, se agota el tiempo de espera. Cuando se disminuye el valor de checkpoint_completion_target, se soluciona el problema en este caso.

Se produjo un error en la copia de seguridad automática y no recibiste ninguna notificación por correo electrónico. No se admiten notificaciones para los errores de copias de seguridad.

Cuando falla una copia de seguridad automática, aparece un mensaje Operation error en la página Details de la instancia de Cloud SQL.

Puedes encontrar el estado de una copia de seguridad a través de los comandos de la API de REST o de gcloud. Por ejemplo, primero enumera las copias de seguridad de una instancia y, luego, describe una copia de seguridad específica por su ID:


gcloud sql backups list \
--project=PROJECT_ID \
--instance=INSTANCE_ID
   

gcloud sql backups describe BACKUP-ID \
--instance=INSTANCE_ID
    
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 la 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?