Restaurar una instancia de Compute Engine desde un almacén de copias de seguridad

En esta página se explica cómo restaurar una instancia de Compute Engine desde un almacén de copias de seguridad en la consola de Google Cloud .

Antes de empezar

  • Asigna el rol de gestión de identidades y accesos de operador de Compute Engine de Backup y DR (roles/backupdr.computeEngineOperator) a la cuenta de servicio del agente del servicio de depósito de copias de seguridad del depósito en el proyecto de destino en el que se está realizando la restauración.

  • Si utilizas una VPC compartida, concede el rol de usuario de red de Compute (roles/compute.networkUser) de gestión de identidades y accesos a la cuenta de servicio del agente de bóveda de copia de seguridad de la bóveda en el proyecto del host de la VPC.

  • Concede los siguientes roles de gestión de identidades y accesos al usuario que realice la restauración en el proyecto del vault de copias de seguridad.

    • Usuario de restauración de copia de seguridad y recuperación tras desastres (roles/backupdr.restoreUser) tanto para el vault de copia de seguridad como para el proyecto de destino.
    • Lector de Compute (roles/compute.viewer) solo para el objetivo.

    Estos roles predefinidos contienen los permisos necesarios para acceder al almacén de copias de seguridad del proyecto de Compute Engine. Para ver los permisos específicos, consulta la siguiente lista.

    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get

    Para restaurar una instancia con la CLI de Google Cloud o la API, un usuario debe tener los siguientes permisos:

    • backupdr.bvbackups.restore en el recurso de copia de seguridad.
    • backupdr.compute.restoreFromBackupVault en el proyecto de destino donde se restaurará la instancia.

Permisos adicionales para la consola Google Cloud

Cuando se restaura una instancia mediante la consola Google Cloud , el usuario necesita los permisos de la CLI y los siguientes permisos. Estos permisos adicionales son necesarios para que la consola pueda mostrar los recursos de Compute Engine necesarios para seleccionarlos en la interfaz de usuario:

  • compute.acceleratorTypes.list
  • compute.disks.list
  • compute.machineTypes.list
  • compute.projects.get
  • compute.regions.list
  • compute.zones.list

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

Restaurar una instancia de Compute Engine

Sigue estas instrucciones para restaurar una instancia de Compute Engine.

Consola

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

    Ir a Copias de seguridad protegidas

    Aquí se muestran todas las instancias de Compute Engine con copias de seguridad protegidas.

  2. Haga clic en el icono de acción para seleccionar la acción Restaurar. En la página Restaurar, puede seleccionar las siguientes opciones de restauración:

    • Selecciona un Nombre del recurso.
    • Selecciona una Hora de creación de la copia de seguridad.
    • Selecciona el Nombre del proyecto en el que quieras restaurar la VM.
  3. Haz clic en Continuar.

    • Aparecerá la página Crear una instancia de VM a partir de una copia de seguridad, donde las propiedades de la VM se rellenarán automáticamente en función de las propiedades de la VM de origen. Puede modificar las propiedades para crear una VM. Por ejemplo, puede cambiar la selección de Región o Tipo de máquina.
  4. Haga clic en Crear para crear una máquina virtual a partir de la copia de seguridad seleccionada.

gcloud

  1. Si aún no lo ha hecho, conceda el rol de gestión de identidades y accesos de operador de Compute Engine de Backup y DR (roles/backupdr.computeEngineOperator) al agente de servicio del depósito de copias de seguridad en el proyecto de recuperación en el que se está recuperando la VM.

  2. Para obtener la cuenta de servicio del archivo de recuperación, usa el siguiente comando.

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME
      --location=LOCATION
    

    Haz los cambios siguientes:

    • BACKUPVAULT_NAME: el nombre del almacén de copias de seguridad del que quieras restaurar los datos.
    • LOCATION: la ubicación del depósito de copias de seguridad.
  3. Para restaurar una instancia de Compute Engine, usa los siguientes comandos.

    • Restaura una VM en el mismo proyecto que el proyecto de carga de trabajo con el ID de copia de seguridad.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • Restaura una VM en el mismo proyecto que el proyecto de carga de trabajo con la URL completa del recurso de copia de seguridad.

        gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • Restaurar una instancia de Compute Engine con una cuenta de servicio y una configuración de red personalizadas.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT \
        --network-interface=network=NETWORK,subnet=SUBNET \
        --service-account=SERVICE_ACCOUNT \
        --scopes=SCOPE
      

      Haz los cambios siguientes:

      • PROJECT: el nombre del proyecto del depósito de copias de seguridad.
      • LOCATION: la ubicación del depósito de copias de seguridad.
      • BACKUPVAULT_NAME: el nombre del almacén de copias de seguridad del que quieras restaurar los datos.
      • DATA_SOURCE: el nombre de la fuente de datos de la que quieres restaurar los datos.
      • NAME: el nombre de la VM restaurada.
      • TARGET_ZONE: la región en la que se restaura la VM.
      • TARGET_PROJECT: el proyecto en el que se restaura la VM.
      • NETWORK: el URI de red de la VM.
      • SUBNET: el URI de la subred de la VM.
      • SERVICE_ACCOUNT: la cuenta de servicio de la VM restaurada.
      • SCOPE: el ámbito de autorización de la cuenta de servicio.

Para anular otras propiedades de la VM, consulta Descripción general de los comandos de Google Cloud CLI del servicio de copia de seguridad y recuperación tras desastres.

Restaurar desde un depósito de copias de seguridad habilitado para CMEK

Cuando restauras una copia de seguridad de un almacén de copias de seguridad habilitado para CMEK, el cifrado del recurso restaurado depende del cifrado del origen:

  • Si el recurso de origen estaba protegido por CMEK: el recurso restaurado usará de forma predeterminada la misma clave CMEK que el origen. Por ejemplo:
    • Un disco persistente de Compute Engine cifrado con la clave K1 se restaura en un disco cifrado con K1.
    • Si una VM tiene varios discos, cada disco de la VM restaurada hereda el cifrado de su disco de origen correspondiente (los discos cifrados con CMEK siguen cifrados con sus claves originales y los discos cifrados gestionados por Google siguen gestionados por Google).
  • Si el recurso de origen usaba el cifrado gestionado por Google: el recurso restaurado usará de forma predeterminada el cifrado gestionado por Google.

Puedes anular este comportamiento predeterminado al restaurar discos persistentes o instancias de Compute Engine mediante la API o la CLI de Google Cloud. Por ejemplo, puedes restaurar una copia de seguridad de un recurso protegido con una CMEK en un recurso nuevo que use el cifrado gestionado por Google o en un recurso nuevo protegido con otra clave CMEK. Para restaurar un recurso protegido por una nueva clave CMEK, asegúrate de que el agente de servicio correspondiente (por ejemplo, Agente de servicio de Compute Engine) del proyecto de destino tiene permiso roles/cloudkms.cryptoKeyEncrypterDecrypter en la nueva clave de destino.

Si la clave del servicio de gestión de claves de Cloud que protege la carga de trabajo de origen no está disponible durante una operación de restauración, la restauración falla de forma predeterminada. En este caso, debes usar la API o la CLI de Google Cloud para anular el ajuste de cifrado. Para ello, especifica una nueva clave CMEK o cambia el tipo de cifrado a cifrado gestionado por Google para el recurso restaurado.

Si la versión de la clave de Cloud Key Management Service que se ha utilizado para encriptar los datos del almacén de copias de seguridad se inhabilita o destruye, no podrás restaurar la copia de seguridad.

Guía de Compute Engine de Backup y DR