En esta página se describe cómo crear copias de seguridad de instancias de Cloud SQL en un almacén de copias de seguridad. Al enviar copias de seguridad a un depósito de copias de seguridad, se consigue la inmutabilidad y la conservación obligatoria.
En la Google Cloud consola, puedes crear copias de seguridad de instancias de Cloud SQL en un archivo de copias de seguridad aplicando planes de copias de seguridad. Puedes crear copias de seguridad de dos formas. Ambos métodos te permiten almacenar tus copias de seguridad de forma segura en un archivo de copias de seguridad, lo que te proporciona una forma fiable de recuperar tus instancias de Cloud SQL en caso de pérdida de datos u otros eventos inesperados.
- Copias de seguridad programadas. Puedes crear copias de seguridad de las instancias de Cloud SQL automáticamente a intervalos específicos, como diarios, semanales, mensuales o anuales.
- Copias de seguridad bajo demanda. Puedes crear copias de seguridad bajo demanda siempre que lo necesites. Las copias de seguridad bajo demanda son útiles para crear copias de seguridad antes de hacer cambios significativos en tus bases de datos o para proteger los datos de forma puntual.
Antes de empezar
- Habilita la API del servicio de copia de seguridad y recuperación tras fallos en la ubicación de las instancias de Cloud SQL.
- Activar la API
- Crear un almacén de copias de seguridad
- Crear un plan de copia de seguridad
- Asignar roles y permisos de IAM al usuario de la copia de seguridad
- Conceder acceso al almacén de copias de seguridad en el proyecto de Cloud SQL
- Configura Log Analytics en tu cubo para monitorizar las tareas de copia de seguridad y recuperación ante desastres.
Roles y permisos de IAM para el usuario de la copia de seguridad
Para obtener los permisos que necesitas para configurar copias de seguridad programadas o ejecutar copias de seguridad bajo demanda, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto de bóveda de copias de seguridad:
-
Usuario de copia de seguridad de Backup y DR (
roles/backupdr.backupUser
) -
Lector (
roles/viewer
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para configurar copias de seguridad programadas o ejecutar copias de seguridad bajo demanda. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para configurar copias de seguridad programadas o ejecutar copias de seguridad bajo demanda, se necesitan los siguientes permisos:
-
backupdr.backupPlans.list
-
backupdr.backupPlanAssociations.createForCloudSqlInstance
-
backupdr.backupPlanAssociations.fetchForCloudSqlInstance
-
backupdr.backupPlanAssociations.list
-
backupdr.backupPlanAssociations.getForCloudSqlInstance
-
backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
-
backupdr.backupPlanAssociations.deleteForCloudSqlInstance
-
backupdr.backupPlans.useForCloudSqlInstance
-
backupdr.locations.list
-
backupdr.operations.get
-
cloudasset.assets.searchAllResources
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
En la siguiente tabla se indican los permisos dinámicos necesarios para cada llamada a la API:
Recurso | Acción que se va a realizar en el recurso | Permisos necesarios para cada llamada a la API | Proyecto al que se debe asignar |
---|---|---|---|
Depósito de copias de seguridad | Create BackupVault | backupdr.backupVaults.create | Proyecto de administrador |
Eliminar BackupVault | backupdr.backupVaults.delete | Proyecto de administrador | |
Update BackupVault | backupdr.backupVaults.update | Proyecto de administrador | |
List BackupVaults | backupdr.backupVaults.list | Proyecto de administrador | |
Get BackupVault | backupdr.backupVaults.get | Proyecto de administrador | |
Plan de copia de seguridad | Crear BackupPlan | backupdr.backupPlans.create | Proyecto de administrador |
Eliminar BackupPlan | backupdr.backupPlans.delete | Proyecto de administrador | |
Get BackupPlan | backupdr.backupPlans.get | Proyecto de administrador | |
List Backup Plans | backupdr.backupPlans.list | Proyecto de administrador | |
Asociaciones de planes de copias de seguridad | Crear asociación de plan de copia de seguridad | cloudsql.instances.updateBackupDrConfig | Proyecto de carga de trabajo |
backupdr.backupPlanAssociations.createForCloudSqlInstance | Proyecto de carga de trabajo | ||
backupdr.backupPlans.useForCloudSqlInstance | Proyecto de administrador | ||
Eliminar asociación de plan de copias de seguridad | backupdr.backupPlanAssociations.deleteForCloudSqlInstance | Proyecto de carga de trabajo | |
cloudsql.instances.updateBackupDrConfig | Proyecto de carga de trabajo | ||
Activar una copia de seguridad a petición en la asociación de planes de copias de seguridad | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance | Proyecto de carga de trabajo | |
Get Backup Plan Association | backupdr.backupPlanAssociations.getForCloudSqlInstance | Proyecto de carga de trabajo | |
List Backup Plan Associations | backupdr.backupPlanAssociations.list | Proyecto de carga de trabajo | |
Obtener asociaciones de planes de copias de seguridad | backupdr.backupPlanAssociations.fetchForCloudSqlInstance | Proyecto de carga de trabajo | |
Fuente de datos | Get DataSource | backupdr.bvdataSources.get | Proyecto de administrador |
Mostrar DataSources | backupdr.backupPlanAssociations.list | Proyecto de administrador | |
Restauración de PITR | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance | Proyecto de administrador | |
Copias de seguridad | Obtener copia de seguridad | backupdr.bvbackups.get | Proyecto de administrador |
Mostrar copias de seguridad | backupdr.bvbackups.list | Proyecto de administrador | |
Eliminar copia de seguridad | backupdr.bvbackups.delete | Proyecto de administrador | |
Restaurar copia de seguridad | backupdr.bvbackups.useReadOnlyForCloudSqlInstance | Proyecto de administrador | |
Referencias de fuentes de datos | Obtener referencia de DataSource | backupdr.dataSourceReferences.getForCloudSqlInstance | Proyecto de carga de trabajo |
Obtener referencias de DataSource | backupdr.dataSourceReferences.fetchForCloudSqlInstance | Proyecto de carga de trabajo | |
Operaciones | Mostrar operaciones | backupdr.operations.list | Proyecto correspondiente |
Obtener operaciones | backupdr.operations.get | Proyecto correspondiente |
Conceder acceso al vault de copias de seguridad en el proyecto de Cloud SQL
Para crear una copia de seguridad de una instancia de Cloud SQL en un proyecto diferente de aquel en el que se ha creado el vault de copias de seguridad, debes asignar el rol de gestión de identidades y accesos (IAM) de operador de copias de seguridad y recuperación tras desastres de Cloud SQL (roles/backupdr.cloudSqlOperator
) al agente de servicio del vault de copias de seguridad en el proyecto de Cloud SQL. Si el proyecto del almacén de copias de seguridad en el que se almacenarán las copias de seguridad es diferente del proyecto de Cloud SQL, asigna el rol al agente de servicio del almacén de copias de seguridad en el proyecto de Cloud SQL.
Para crear una copia de seguridad de una instancia de Cloud SQL en el mismo proyecto en el que se ha creado el almacén de copias de seguridad, no es necesario asignar ningún rol.
Para obtener información sobre cómo asignar roles al agente de servicio del almacén de copias de seguridad en el proyecto del que quieras crear una copia de seguridad, consulta Asignar un rol al agente de servicio.
Configurar una copia de seguridad programada
Sigue estas instrucciones para configurar una copia de seguridad programada para instancias de Cloud SQL.
Consola
En la Google Cloud consola, ve a la página Copias de seguridad protegidas.
Haz clic en Programar copia de seguridad.
En la lista Tipo de recurso, selecciona Cloud SQL.
En la lista Proyecto, selecciona un proyecto en el que se encuentre la instancia de Cloud SQL.
En la lista Región, selecciona la región en la que se encuentran tus instancias.
En la lista Recursos, haga clic en Examinar. Elige la instancia de Cloud SQL de la que quieras crear una copia de seguridad y haz clic en Hecho.
Haz clic en Continuar.
En la lista Plan de copia de seguridad, haz clic en Seleccionar.
Elige un plan de copias de seguridad con el que quieras proteger las instancias de Cloud SQL.
Haz clic en Listo.
Revisa los detalles de la copia de seguridad y haz clic en Programar.
gcloud
Configura una copia de seguridad programada.
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=CSQL_REGION \ --project=CSQL_PROJECT_ID \ --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \ --resource-type=sqladmin.googleapis.com/Instance \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
Haz los cambios siguientes:
BACKUP_PLAN_ASSOCIATION_NAME
: el nombre de la asociación del plan de copia de seguridad.CSQL_REGION
: la región en la que se encuentran las instancias de Cloud SQL.CSQL_PROJECT_ID
: el nombre del proyecto en el que se encuentran las instancias de Cloud SQL.CSQL_INSTANCE_ID
: el ID de la instancia de Cloud SQL.PROJECT_ID
: el nombre del proyecto en el que se encuentran los planes de copia de seguridad.LOCATION
: la ubicación de la instancia.
Lista de instancias para las que se han programado copias de seguridad
Sigue estas instrucciones para enumerar las instancias de Cloud SQL para las que se han programado copias de seguridad.
Consola
En la Google Cloud consola, ve a la página Copias de seguridad protegidas.
En la parte superior de la tabla, seleccione Filtrar tabla > Tipo de recurso. Seleccione Cloud SQL. De esta forma, solo se muestran las instancias de Cloud SQL que tienen planes de copias de seguridad aplicados y cuyas copias de seguridad se almacenan en un almacén de copias de seguridad de un proyecto.
gcloud
Lista de instancias de Cloud SQL para las que se han programado copias de seguridad:
gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
--location=LOCATION \
--project=PROJECT_ID
Haz los cambios siguientes:
- LOCATION: la ubicación de las copias de seguridad programadas.
- PROJECT_ID: el nombre del proyecto en el que se encuentran las instancias de Cloud SQL.
Crear una copia de seguridad bajo demanda
Puedes iniciar una copia de seguridad bajo demanda de una instancia de Cloud SQL con un plan de copias de seguridad activando la regla de copia de seguridad que quieras para que se ejecute inmediatamente. Las copias de seguridad bajo demanda suelen capturar solo los datos que han cambiado desde la última copia de seguridad (incrementales).
Cuando creas una copia de seguridad bajo demanda, puedes elegir una regla del plan de copias de seguridad asociado a la instancia de Cloud SQL. Esta regla determina cuándo se elimina la copia de seguridad bajo demanda. Puedes consultar el estado de la tarea de copia de seguridad en la página Tareas. Para obtener más información, consulte Monitorizar tareas de copia de seguridad y restauración en la consola de Google Cloud .
Sigue estas instrucciones para crear una copia de seguridad bajo demanda.
Consola
En la Google Cloud consola, ve a la página Copias de seguridad protegidas.
Ir a Copias de seguridad protegidas
En la página Copias de seguridad en Vault solo se muestran los recursos de datos a los que se les han aplicado planes de copias de seguridad y cuyas copias de seguridad se han almacenado en un Vault de copias de seguridad de un proyecto.
Selecciona el recurso del que quieras crear una copia de seguridad. En el menú
o en la página de detalles del recurso, selecciona Crear copia de seguridad bajo demanda.En la ventana Crear una copia de seguridad bajo demanda, selecciona una regla de copia de seguridad que quieras usar y haz clic en Crear.
Para ver el estado del trabajo de copia de seguridad bajo demanda, haz clic en Notificaciones.
gcloud
Crea una copia de seguridad bajo demanda. Inicia una copia de seguridad bajo demanda mediante una asociación de planes de copias de seguridad. Especifica un ID de regla para determinar el periodo de vencimiento de esta copia de seguridad única y bajo demanda:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]
Haz los cambios siguientes:
BACKUP_PLAN_ASSOCIATION_NAME: el nombre de la asociación del plan de copia de seguridad.
RULE_ID: el nombre de la regla de copia de seguridad que quieras asociar para ejecutar copias de seguridad bajo demanda.
PROJECT_ID: el nombre del proyecto.
LOCATION: la ubicación de las copias de seguridad programadas.
Desproteger una instancia de Cloud SQL
Para desproteger una instancia de Cloud SQL, elimina el plan de copias de seguridad aplicado a la instancia. Si quitas un plan de copias de seguridad de una instancia de Cloud SQL, no se eliminarán las copias de seguridad creadas mientras el plan estaba en uso. Puedes seguir accediendo a estas copias de seguridad y gestionándolas hasta que caduquen.
Sigue estas instrucciones para desproteger una instancia de Cloud SQL.
Consola
En la Google Cloud consola, ve a la página Copias de seguridad protegidas.
Haga clic en el nombre de la base de datos de la que quiera quitar un plan de copia de seguridad.
Selecciona Eliminar plan de copias de seguridad.
gcloud
Desproteger una instancia de Cloud SQL.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
Haz los cambios siguientes:
- BACKUP_PLAN_ASSOCIATION_NAME: el nombre de la asociación del plan de copia de seguridad que quieras eliminar.
- PROJECT_ID: el nombre del proyecto.
- LOCATION: la ubicación de la copia de seguridad programada.