Restablece una instancia de Cloud SQL desde una bóveda de copias de seguridad

En este documento, se muestra cómo restablecer una instancia de Cloud SQL desde una backup vault con la Google Cloud consola de o gcloud CLI. Se describe cómo restablecer una instancia nueva o existente, reemplazar una instancia de origen o realizar una recuperación de un momento determinado (PITR).

Para obtener más información sobre las capacidades conceptuales del servicio Backup and DR, consulta Descripción general del servicio Backup and DR. Si primero deseas crear una copia de seguridad de tus bases de datos, consulta Crea copias de seguridad de instancias de Cloud SQL en una backup vault.

Recuperación ante desastres y resiliencia

El servicio Backup and DR proporciona opciones de recuperación ante desastres para tus instancias de Cloud SQL. Las copias de seguridad almacenadas en una backup vault son independientes del ciclo de vida y el proyecto de la instancia de origen.

  • Borrado de proyectos: Puedes restablecer copias de seguridad incluso si se borró el proyecto de carga de trabajo original que contiene la instancia de origen de Cloud SQL. Esto se debe a que los permisos de desencriptación necesarios para las copias de seguridad encriptadas con CMEK se otorgan al agente de servicio de Backup and DR dentro del proyecto de la backup vault, no del proyecto de carga de trabajo. Esto garantiza que tus copias de seguridad sigan siendo accesibles y restablecibles siempre que la backup vault y la clave de Cloud Key Management Service estén intactas y el agente de servicio tenga permisos.

  • Destinos de restablecimiento flexibles: Puedes restablecer una instancia nueva en el mismo proyecto o en uno diferente, lo que proporciona flexibilidad en situaciones de recuperación.

Antes de comenzar

Antes de restablecer una instancia de Cloud SQL desde una backup vault, asegúrate de tener los roles necesarios.

Para obtener los permisos que necesitas para restablecer una instancia de Cloud SQL desde una backup vault, pídele a tu administrador que te otorgue los siguientes roles de IAM:

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 restablecer una instancia de Cloud SQL desde una backup vault. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para restablecer una instancia de Cloud SQL desde una backup vault:

  • Para crear el destino de restablecimiento: cloudsql.instances.restore
  • Para leer la copia de seguridad desde la backup vault: backupdr.bvbackups.useReadOnlyForCloudSqlInstance

También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.

Restablece una instancia de Cloud SQL desde la copia de seguridad más reciente

Usa las siguientes instrucciones para restablecer una instancia de Cloud SQL:

Console

  1. En la consola de Google Cloud , ve a la página Copias de seguridad almacenadas en vault.

    Ir a Copias de seguridad almacenadas en vault

    En la página Copias de seguridad almacenadas en vault , 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 ese proyecto.

  2. Selecciona la copia de seguridad que deseas restablecer. Ya sea desde la página de detalles de la copia de seguridad para la copia de seguridad, o desde el menú, selecciona Restablecer.

    En la página Restablecer , se muestra dónde seleccionas las siguientes opciones de restablecimiento:

    • El Tipo de recurso se completa previamente con Cloud SQL.

    • En Nombre del recurso, selecciona la instancia de Cloud SQL que deseas restablecer.

    • Cuando haces clic en Copia de seguridad, se abre un panel que muestra todas las copias de seguridad disponibles. Selecciona la copia de seguridad específica que deseas restablecer.

    • En Elige el destino de restablecimiento, selecciona el proyecto en el que deseas restablecer la instancia de Cloud SQL.

  3. Haz clic en Continuar.

  4. Cuando se te solicite Elegir destino de restablecimiento, selecciona una de las siguientes opciones:

    • Restablecer a una instancia nueva: Crea una instancia nueva en función de la configuración almacenada en tu copia de seguridad. Puedes personalizar la instancia después de que se complete el restablecimiento. Proporciona un ID de instancia nuevo con letras minúsculas, números y guiones. Comienza con una letra.
    • Reemplazar una instancia existente: Selecciona una instancia existente para reemplazarla de la lista de instancias disponibles.

    • Reemplazar la instancia de origen: Reemplaza tu instancia actual. Se reemplazarán todos los datos actuales de la instancia seleccionada, incluidos los registros anteriores de recuperación de un momento determinado. Los datos reemplazados no se pueden recuperar más tarde. No se recomienda para su uso en producción.

gcloud

  1. Busca la fuente de datos que contiene la copia de seguridad que deseas restablecer. Puedes encontrar la fuente de datos desde un proyecto de instancia de Cloud SQL o un proyecto de backup vault:

    • Desde el proyecto de instancia de Cloud SQL: Usa data-source-reference

      gcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \
      --location=LOCATION \
      --project=CSQL_INSTANCE_PROJECT_ID \
      --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \
      --format="table(RESOURCE_NAME,DATA_SOURCE)"
      

      Reemplaza lo siguiente:

      • LOCATION: Es la ubicación de la backup vault.

      • CSQL_INSTANCE_ID: Es el nombre de la base de datos de la instancia de Cloud SQL.

      • CSQL_INSTANCE_PROJECT_ID: Es el proyecto que contiene la instancia de Cloud SQL.

    • Desde un proyecto de backup vault: Usa data-source

      gcloud backup-dr data-sources list \
      --location=LOCATION \
      --project=BACKUP_VAULT_PROJECT_ID \
      --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \
      --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"
      

      Reemplaza lo siguiente:

      • LOCATION: Es la ubicación de la backup vault.

      • CSQL_INSTANCE_ID: Es el nombre de la instancia de Cloud SQL.

      • CSQL_INSTANCE_PROJECT_ID: Es el proyecto que contiene la instancia de Cloud SQL.

      • BACKUP_VAULT_PROJECT_ID: Es el proyecto que contiene la backup vault.

  2. Enumera y selecciona la copia de seguridad que deseas restablecer. Para ello, enumera todas las copias de seguridad en la fuente de datos con el comando gcloud backup-dr backups list.

    gcloud backup-dr backups list --data-source=DATA_SOURCE \
    --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"
    
  3. Restablece una instancia de Cloud SQL con el comando gcloud sql backups restore:

    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=RESTORE_INSTANCE \
    --project=RESTORE_PROJECT
    --region=RESTORE_REGION
    

    Reemplaza lo siguiente:

    • BACKUP_NAME: Es el nombre de la backup vault desde la que deseas restablecer los datos.

    • RESTORE_INSTANCE: Es el nombre de la instancia de Cloud SQL de destino.

    • RESTORE_PROJECT: Es el proyecto en el que deseas restablecer la instancia de Cloud SQL.

    • RESTORE_REGION: Es la región en la que deseas restablecer una instancia de Cloud SQL nueva. Esto es opcional para las copias de seguridad regionales. No lo uses cuando restablezcas una instancia existente.

  4. Opcional: Para anular otras propiedades, consulta Descripción general de los comandos de gcloud CLI del servicio de Backup and DR.

Restablece una instancia de Cloud SQL a un momento determinado diferente

Usa las siguientes instrucciones para restablecer una instancia de Cloud SQL a un momento determinado. Cuando restableces a un momento determinado, creas un clon de Cloud SQL.

  1. En la Google Cloud consola de, ve a la página Copias de seguridad almacenadas en vault.

    Ir a Copias de seguridad almacenadas en vault

  2. En la parte superior de la tabla, selecciona Filtrar tabla y, luego, haz clic en 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.

  3. Haz clic en Restablecer desde un momento determinado. Se abrirá la página Crea un clon de Cloud SQL.

  4. Sigue los procedimientos que se indican en Realiza PITR con la backup vault.

¿Qué sigue?

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.