En esta página, se describe cómo crear copias de seguridad de instancias de Cloud SQL en una bóveda de copias de seguridad. El envío de copias de seguridad a una backup vault proporciona inmutabilidad y retención forzada.
En la consola de Google Cloud , puedes crear copias de seguridad de instancias de Cloud SQL en una backup vault aplicando planes de copias de seguridad. Puedes crear copias de seguridad de cualquiera de estas dos maneras. Ambos métodos te permiten almacenar tus copias de seguridad de forma segura en una bóveda de copias de seguridad, lo que proporciona una forma confiable de recuperar tus instancias de Cloud SQL en caso de pérdida de datos o de otros eventos inesperados.
- Copias de seguridad programadas Puedes crear copias de seguridad de las instancias de Cloud SQL automáticamente en intervalos específicos, como diarios, semanales, mensuales o anuales.
- Copias de seguridad a pedido Puedes crear copias de seguridad a pedido cuando lo necesites. Las copias de seguridad a pedido son útiles para crear copias de seguridad antes de realizar cambios significativos en tus bases de datos o para la protección de datos ad hoc.
Antes de comenzar
- Habilita la API del servicio Backup and DR en la ubicación de las instancias de Cloud SQL.
- Habilitar la API
- Crea una backup vault
- Crear un plan de creación de copias de seguridad
- Asigna roles y permisos de IAM al usuario de la copia de seguridad
- Otorga acceso al backup vault en el proyecto de Cloud SQL
- Configura Log Analytics en tu bucket para supervisar los trabajos de copia de seguridad de Backup and DR.
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 a pedido, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto de bóveda de copias de seguridad:
-
Usuario de copia de seguridad de Backup and DR (
roles/backupdr.backupUser
) -
Visualizador (
roles/viewer
)
Para obtener más información sobre cómo otorgar roles, consulta Administra 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 a pedido. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para configurar copias de seguridad programadas o ejecutar copias de seguridad a demanda:
-
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 o con otros roles predefinidos.
En la siguiente tabla, se enumeran los permisos dinámicos necesarios para cada llamada a la API:
Recurso | Acción que se realizará en el recurso | Permisos necesarios para cada llamada a la API | Proyecto en el que se debe asignar |
---|---|---|---|
Backup vault | Crea un BackupVault | backupdr.backupVaults.create | Proyecto del administrador |
Borra BackupVault | backupdr.backupVaults.delete | Proyecto del administrador | |
Actualiza BackupVault | backupdr.backupVaults.update | Proyecto del administrador | |
Enumera BackupVaults | backupdr.backupVaults.list | Proyecto del administrador | |
Obtén BackupVault | backupdr.backupVaults.get | Proyecto del administrador | |
Plan de creación de copias de seguridad | Crea un BackupPlan | backupdr.backupPlans.create | Proyecto del administrador |
Borra BackupPlan | backupdr.backupPlans.delete | Proyecto del administrador | |
Obtén BackupPlan | backupdr.backupPlans.get | Proyecto del administrador | |
Enumera los planes de copias de seguridad | backupdr.backupPlans.list | Proyecto del administrador | |
Asociaciones del plan de creación de copias de seguridad | Crea la asociación del plan de creación de copias de seguridad | cloudsql.instances.updateBackupDrConfig | Proyecto de carga de trabajo |
backupdr.backupPlanAssociations.createForCloudSqlInstance | Proyecto de carga de trabajo | ||
backupdr.backupPlans.useForCloudSqlInstance | Proyecto del administrador | ||
Borra la asociación del plan de copias de seguridad | backupdr.backupPlanAssociations.deleteForCloudSqlInstance | Proyecto de carga de trabajo | |
cloudsql.instances.updateBackupDrConfig | Proyecto de carga de trabajo | ||
Activa una copia de seguridad a pedido en la asociación del plan de creación de copias de seguridad | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance | Proyecto de carga de trabajo | |
Obtén la asociación del plan de copia de seguridad | backupdr.backupPlanAssociations.getForCloudSqlInstance | Proyecto de carga de trabajo | |
Enumera las asociaciones del plan de copias de seguridad | backupdr.backupPlanAssociations.list | Proyecto de carga de trabajo | |
Recupera asociaciones del plan de copia de seguridad | backupdr.backupPlanAssociations.fetchForCloudSqlInstance | Proyecto de carga de trabajo | |
Fuente de datos | Get DataSource | backupdr.bvdataSources.get | Proyecto del administrador |
Enumera DataSources | backupdr.backupPlanAssociations.list | Proyecto del administrador | |
Restablecimiento de PITR | backupdr.bvdataSources.useReadOnlyForCloudSqlInstance | Proyecto del administrador | |
Copias de seguridad | Obtener copia de seguridad | backupdr.bvbackups.get | Proyecto del administrador |
Enumera las copias de seguridad | backupdr.bvbackups.list | Proyecto del administrador | |
Borrar copia de seguridad | backupdr.bvbackups.delete | Proyecto del administrador | |
Restaurar copia de seguridad | backupdr.bvbackups.useReadOnlyForCloudSqlInstance | Proyecto del administrador | |
Referencias de fuentes de datos | Obtén la referencia de DataSource | backupdr.dataSourceReferences.getForCloudSqlInstance | Proyecto de carga de trabajo |
Recupera referencias de DataSource | backupdr.dataSourceReferences.fetchForCloudSqlInstance | Proyecto de carga de trabajo | |
Operaciones | Enumerar operaciones | backupdr.operations.list | Proyecto respectivo |
Operaciones Get | backupdr.operations.get | Proyecto respectivo |
Otorga acceso al backup vault 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 creó la bóveda de copias de seguridad, debes otorgar el rol de IAM de operador de Cloud SQL para Backup and DR (roles/backupdr.cloudSqlOperator
) al agente de servicio de la bóveda de copias de seguridad dentro del proyecto de Cloud SQL. Si el proyecto de la bóveda 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 de la bóveda de copias de seguridad dentro del proyecto de Cloud SQL.
Para crear una copia de seguridad de una instancia de Cloud SQL en el mismo proyecto en el que se creó el backup vault, no es necesario otorgar roles.
Para obtener información sobre cómo otorgar roles al agente de servicio de la bóveda de copias de seguridad en el proyecto del que deseas crear una copia de seguridad, consulta Otorga un rol al agente de servicio.
Configura una copia de seguridad programada
Sigue estas instrucciones para configurar una copia de seguridad programada para las instancias de Cloud SQL.
Console
En la consola de Google Cloud , 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, haz clic en Explorar. Elige la instancia de Cloud SQL de la que deseas crear una copia de seguridad y haz clic en Listo.
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
Reemplaza lo siguiente:
BACKUP_PLAN_ASSOCIATION_NAME
: Es el nombre de la asociación del plan de copia de seguridad.CSQL_REGION
: Es la región en la que se encuentran las instancias de Cloud SQL.CSQL_PROJECT_ID
: Es el nombre del proyecto en el que se encuentran las instancias de Cloud SQL.CSQL_INSTANCE_ID
: Es el ID de la instancia de Cloud SQL.PROJECT_ID
: Es el nombre del proyecto en el que existen planes de copia de seguridad.LOCATION
: Es la ubicación de la instancia.
Enumera las instancias para las que se programaron copias de seguridad
Sigue estas instrucciones para enumerar las instancias de Cloud SQL para las que se programaron copias de seguridad.
Console
En la consola de Google Cloud , ve a la página Copias de seguridad protegidas.
En la parte superior de la tabla, selecciona Filtrar tabla > Tipo de recurso. Selecciona Cloud SQL. Esto limita la visualización solo a las instancias de Cloud SQL que tienen planes de copias de seguridad aplicados y sus copias de seguridad almacenadas en una backup vault dentro de un proyecto.
gcloud
Enumera las instancias de Cloud SQL para las que se programaron copias de seguridad:
gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
--location=LOCATION \
--project=PROJECT_ID
Reemplaza lo siguiente:
- LOCATION: Es la ubicación de las copias de seguridad programadas.
- PROJECT_ID: Es el nombre del proyecto en el que se encuentran las instancias de Cloud SQL.
Crea una copia de seguridad según demanda
Puedes iniciar una copia de seguridad a pedido para una instancia de Cloud SQL con un plan de copias de seguridad. Para ello, activa la regla de copia de seguridad que elijas para que se ejecute de inmediato. Por lo general, las copias de seguridad bajo demanda capturan solo los datos que cambiaron desde la última copia de seguridad (incrementales).
Cuando creas una copia de seguridad a pedido, puedes elegir una regla del plan de copia de seguridad asociado a la instancia de Cloud SQL. Esta regla determina cuándo se borrará la copia de seguridad bajo demanda. Puedes verificar el estado del trabajo de copia de seguridad en la página Trabajos. Para obtener más información, consulta Supervisa los trabajos de copia de seguridad y restablecimiento en la consola de Google Cloud .
Sigue estas instrucciones para crear una copia de seguridad bajo demanda.
Console
En la consola de Google Cloud , ve a la página Copias de seguridad protegidas.
Ir a Copias de seguridad almacenadas en la vault
En la página Copias de seguridad en bóveda, solo se enumeran los recursos de datos que tienen planes de copias de seguridad aplicados y sus copias de seguridad almacenadas en una backup vault dentro de un proyecto.
Selecciona el recurso del que deseas crear una copia de seguridad. En el menú
o en la página de detalles del recurso, selecciona Crear copia de seguridad a pedido.En la ventana Crea una copia de seguridad según demanda, selecciona una regla de copia de seguridad para usar y haz clic en Crear.
Para ver el estado del trabajo de copia de seguridad a pedido, haz clic en Notificaciones.
gcloud
Crea una copia de seguridad según demanda. Inicia una copia de seguridad según demanda con una asociación de plan de copia de seguridad existente. Especifica un ID de regla para determinar el período de vencimiento de esta única copia de seguridad a pedido:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]
Reemplaza lo siguiente:
BACKUP_PLAN_ASSOCIATION_NAME: Es el nombre de la asociación del plan de copia de seguridad.
RULE_ID: Es el nombre de la regla de copia de seguridad que deseas asociar para ejecutar copias de seguridad a pedido.
PROJECT_ID: el nombre del proyecto.
LOCATION: Es la ubicación de las copias de seguridad programadas.
Cómo desproteger una instancia de Cloud SQL
Para quitar la protección de una instancia de Cloud SQL, debes quitar el plan de copia de seguridad aplicado a la instancia. Quitar un plan de copias de seguridad de una instancia de Cloud SQL no borra ninguna copia de seguridad creada mientras se usaba el plan. Aún puedes acceder a estas copias de seguridad existentes y administrarlas hasta que venzan.
Sigue estas instrucciones para desproteger una instancia de Cloud SQL.
Console
En la consola de Google Cloud , ve a la página Copias de seguridad protegidas.
Haz clic en el nombre de la base de datos de la que deseas quitar un plan de copias de seguridad.
Selecciona Quitar el plan de creación de copias de seguridad.
gcloud
Quita la protección de una instancia de Cloud SQL.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
Reemplaza lo siguiente:
- BACKUP_PLAN_ASSOCIATION_NAME: Es el nombre de la asociación del plan de copia de seguridad que deseas borrar.
- PROJECT_ID: el nombre del proyecto.
- LOCATION: Es la ubicación de la copia de seguridad programada.