Restablece una instancia de Compute Engine desde una bóveda de copias de seguridad

En esta página, se explica cómo restablecer una instancia de Compute Engine desde una backup vault en la consola de Google Cloud .

Antes de comenzar

  • Otorga el rol de IAM de Operador de Compute Engine de Backup and DR (roles/backupdr.computeEngineOperator) al agente de servicio de backup vault de la vault en el proyecto de destino en el que se realiza la restauración.

  • Si usas una VPC compartida, otorga el rol de IAM de usuario de red de Compute (roles/compute.networkUser) para el agente de servicio de la bóveda de copias de seguridad de la bóveda en el proyecto host de la VPC.

  • Otorga los siguientes roles de IAM al usuario que realiza la restauración en el proyecto de la backup vault.

    • Usuario de restablecimiento de Backup and DR (roles/backupdr.restoreUser) para la backup vault y el proyecto de destino.
    • Visualizador de Compute (roles/compute.viewer) solo para el destino.

    Estos roles predefinidos contienen los permisos necesarios para acceder a la bóveda de copias de seguridad en el proyecto de Compute Engine. Para obtener 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 restablecer una instancia con Google Cloud CLI o la API, el usuario debe tener los siguientes permisos:

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

Permisos adicionales para la consola de Google Cloud

Cuando se restablece una instancia con la consola de Google Cloud , el usuario necesita los permisos de la CLI y los siguientes permisos. Estos permisos adicionales son necesarios para que la consola enumere y muestre los recursos necesarios de Compute Engine para su selección 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 otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Restablece una instancia de Compute Engine

Sigue estas instrucciones para restablecer una instancia de Compute Engine.

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

    Aquí se enumeran todas las instancias de Compute Engine con copias de seguridad almacenadas en vault.

  2. Haz clic en el ícono de acción para seleccionar la acción Restaurar. En la página de restauración, se muestran las siguientes opciones de restauración que puedes seleccionar:

    • Selecciona un nombre de recurso.
    • Selecciona una Fecha de creación de la copia de seguridad.
    • Selecciona el nombre del proyecto en el que deseas restablecer la VM.
  3. Haz clic en Continuar.

    • Aparecerá la siguiente página Crea una nueva instancia de VM a partir de una copia de seguridad, en la que las propiedades de la VM se completarán previamente según las propiedades de la VM de origen. Puedes modificar las propiedades para crear una VM nueva, por ejemplo, cambiar la selección de Región o Tipo de máquina.
  4. Haz clic en Crear para crear una VM nueva a partir de la copia de seguridad seleccionada.

gcloud

  1. Si aún no lo hiciste, otorga el rol de IAM de operador de Compute Engine de Backup and DR (roles/backupdr.computeEngineOperator) al agente de servicio de backup vault en el proyecto de recuperación en el que se recupera la VM.

  2. Para obtener la cuenta de servicio de la backup vault, usa el siguiente comando.

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

    Reemplaza lo siguiente:

    • BACKUPVAULT_NAME: Es el nombre de la backup vault desde la que deseas restablecer los datos.
    • REGION: Es la región de la backup vault.
  3. Antes de restablecer una instancia de Compute Engine, usa los siguientes comandos para obtener el ID de la fuente de datos y el ID de la copia de seguridad requerida.

    1. Cómo encontrar el ID de la fuente de datos

        gcloud backup-dr data-sources list \
        --project=PROJECT \
        --location=REGION \
        --backup-vault=BACKUPVAULT_NAME \
        "--filter=dataSourceGcpResource.computeInstanceDatasourceProperties.name:(DATA_SOURCE)" \
        "--format=get(name)")
      
    2. Enumera las copias de seguridad existentes de la fuente de datos para encontrar el BACKUP_ID correcto.

        gcloud backup-dr backups list \
        --location=REGION \
        --backup-vault=BACKUPVAULT_NAME \
        --data-source=DATA_SOURCE \
        "--format=yaml(backupType,computeInstanceBackupProperties.sourceInstance,consistencyTime,enforcedRetentionEndTime,expireTime,name)"
      
  4. Para restablecer una instancia de Compute Engine, usa los siguientes comandos.

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

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=REGION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • Restablece una VM en el mismo proyecto que el proyecto de carga de trabajo con la URL completa del recurso de la 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
      
    • Restablece 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=REGION \
        --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
      

      Reemplaza lo siguiente:

      • PROJECT: Es el nombre del proyecto de la backup vault.
      • REGION: Es la ubicación de la backup vault.
      • BACKUPVAULT_NAME: Es el nombre de la backup vault desde la que deseas restablecer los datos.
      • DATA_SOURCE: Es el nombre de la fuente de datos desde la que deseas restablecer los datos.
      • NAME: Es el nombre de la VM restablecida.
      • TARGET_ZONE: Es la región en la que se restablece la VM.
      • TARGET_PROJECT: Es el proyecto en el que se restablece la VM.
      • NETWORK: Es el URI de red de la VM.
      • SUBNET: Es el URI de la subred de la VM.
      • SERVICE_ACCOUNT: Es la cuenta de servicio de la VM restaurada.
      • SCOPE: Es el alcance 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 Backup and DR.

Restablece desde una backup vault habilitada para CMEK

Cuando restableces una copia de seguridad desde una backup vault habilitada para CMEK, la encriptación del recurso restablecido depende de la encriptación de la fuente:

  • Si el recurso de origen estaba protegido por CMEK: El recurso restablecido usa de forma predeterminada la misma clave de CMEK que el origen. Por ejemplo:
    • Un disco persistente de Compute Engine encriptado con la clave K1 se restablece en un disco encriptado con K1.
    • Si una VM tiene varios discos, cada disco de la VM restablecida hereda la encriptación de su disco de origen correspondiente (los discos encriptados con CMEK permanecen encriptados con sus claves originales, y los discos encriptados administrados por Google permanecen administrados por Google).
  • Si el recurso de origen usó la encriptación administrada por Google: El recurso restablecido usa de forma predeterminada la encriptación administrada por Google.

Puedes anular este comportamiento predeterminado cuando restablezcas discos persistentes o instancias de Compute Engine con la API o Google Cloud CLI. Por ejemplo, puedes restablecer una copia de seguridad de un recurso protegido por CMEK en un recurso nuevo que use la encriptación administrada por Google o en un recurso nuevo protegido por una clave de CMEK diferente. Para restablecer un recurso protegido por una clave de CMEK nueva, asegúrate de que el agente de servicio pertinente (p.ej., el agente de servicio de Compute Engine) del proyecto de destino tenga permiso de roles/cloudkms.cryptoKeyEncrypterDecrypter en la nueva clave de destino.

Si la clave de Cloud Key Management Service que protege la carga de trabajo de origen no está disponible durante una operación de restablecimiento, el restablecimiento falla de forma predeterminada. En este caso, debes usar la API o Google Cloud CLI para anular el parámetro de configuración de encriptación. Para ello, especifica una nueva clave de CMEK o cambia el tipo de encriptación a la encriptación administrada por Google para el recurso restablecido.

Si la versión de la clave de Cloud Key Management Service que se usó para encriptar los datos en la bóveda de copias de seguridad está inhabilitada o destruida, no podrás realizar la restauración desde esa copia de seguridad.

La guía de Compute Engine de Backup and DR