Restaurar uma instância do Compute Engine de um cofre de backup

Esta página ajuda você a restaurar uma instância do Compute Engine de um backup vault no Google Cloud console.

Antes de começar

  • Conceda o papel do IAM de operador de Backup e DR do Compute Engine (roles/backupdr.computeEngineOperator) ao agente de serviço do backup vault no projeto de destino em que a restauração está sendo realizada.

  • Conceda o papel do IAM de usuário da rede do Compute (roles/compute.networkUser) ao agente de serviço do backup vault no projeto host da VPC se você estiver usando a VPC compartilhada.

  • Conceda os seguintes papéis do IAM ao usuário que realiza a restauração no projeto do backup vault.

    • Usuário de Backup e DR (roles/backupdr.restoreUser) para o backup vault e o projeto de destino.
    • Visualizador do Compute (roles/compute.viewer) apenas para o destino.

    Esses papéis predefinidos contêm as permissões necessárias para acessar o backup vault no projeto do Compute Engine. Para permissões específicas, consulte a lista a seguir.

    • 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 uma instância usando a CLI do Google Cloud ou a API, um usuário precisa ter as seguintes permissões:

    • backupdr.bvbackups.restore no recurso de backup.
    • backupdr.compute.restoreFromBackupVault no projeto de destino em que a instância será restaurada.

Permissões extras para o Google Cloud console do

Ao restaurar uma instância usando o Google Cloud console, o usuário precisa das permissões da CLI e das seguintes permissões. Essas permissões extras são necessárias para que o console liste e mostre os recursos necessários do Compute Engine para seleção na interface do usuário:

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

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Restaurar uma instância do Compute Engine

Use as instruções a seguir para restaurar uma instância do Compute Engine.

Console

  1. Noconsole, acesse a página Backups armazenados. Google Cloud

    Acessar backups armazenados

    Todas as instâncias do Compute Engine com backups armazenados são listadas aqui.

  2. Clique no ícone de ação para selecionar a ação Restaurar. A página Restaurar é exibida, em que você seleciona as seguintes opções de restauração:

    • Selecione um nome do recurso.
    • Selecione um horário de criação do backup.
    • Selecione o nome do projeto em que você quer restaurar a VM.
  3. Clique em Continuar.

    • A próxima página Criar uma nova instância de VM usando um backup aparece, em que as propriedades da VM são preenchidas automaticamente com base nas propriedades da VM de origem. É possível modificar as propriedades para criar uma nova VM. Por exemplo, mude a seleção de Região ou Tipo de máquina.
  4. Clique em Criar para criar uma nova VM com base no backup selecionado.

gcloud

  1. Se ainda não tiver sido concedido, conceda o papel do IAM de Backup e DR do Compute Engine (roles/backupdr.computeEngineOperator) ao agente de serviço do backup vault no projeto de recuperação em que a VM está sendo recuperada.

  2. Para acessar a conta de serviço do backup vault, use o comando a seguir.

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

    Substitua:

    • BACKUPVAULT_NAME: o nome do backup vault de que você quer restaurar os dados.
    • REGION: a região do backup vault.
  3. Antes de restaurar uma instância do Compute Engine, use os comandos a seguir para acessar o ID da fonte de dados e o ID do backup necessário.

    1. Encontrar o ID da fonte de dados

        gcloud backup-dr data-sources list \
        --project=PROJECT \
        --location=REGION \
        --backup-vault=BACKUPVAULT_NAME \
        "--filter=dataSourceGcpResource.computeInstanceDatasourceProperties.name:(DATA_SOURCE)" \
        "--format=get(name)")
      
    2. Liste os backups atuais da fonte de dados para encontrar o BACKUP_ID correto.

        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 restaurar uma instância do Compute Engine, use os comandos a seguir.

    • Restaurar uma VM no mesmo projeto que o projeto da carga de trabalho com o ID de backup.

        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
      
    • Restaurar uma VM no mesmo projeto que o projeto da carga de trabalho com o URL completo do recurso de backup.

        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 uma instância do Compute Engine com configuração de rede e conta de serviço personalizada.

        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
      

      Substitua:

      • PROJECT: o nome do projeto do backup vault.
      • REGION: o local do backup vault.
      • BACKUPVAULT_NAME: o nome do backup vault de que você quer restaurar os dados.
      • DATA_SOURCE: o nome da fonte de dados de que você quer restaurar os dados.
      • NAME: o nome da VM restaurada.
      • TARGET_ZONE: a região em que a VM é restaurada.
      • TARGET_PROJECT: o projeto em que a VM é restaurada.
      • NETWORK: o URI de rede da VM.
      • SUBNET: o URI de sub-rede da VM.
      • SERVICE_ACCOUNT: a conta de serviço da VM restaurada.
      • SCOPE: o escopo de autorização da conta de serviço.

Para substituir outras propriedades da VM, consulte Visão geral dos comandos da CLI do Google Cloud do serviço de backup e DR.

Como restaurar de um backup vault ativado para CMEK

Ao restaurar um backup de um backup vault ativado para CMEK, a criptografia do recurso restaurado depende da criptografia da origem:

  • Se o recurso de origem foi protegido por CMEK:o recurso restaurado usa a mesma chave CMEK da origem por padrão. Por exemplo:
    • Um disco permanente do Compute Engine criptografado com a chave K1 é restaurado para um disco criptografado com K1.
    • Se uma VM tiver vários discos, cada disco na VM restaurada vai herdar a criptografia do disco de origem correspondente (os discos criptografados com CMEK permanecem criptografados com as chaves originais, e os discos criptografados gerenciados pelo Google permanecem gerenciados pelo Google).
  • Se o recurso de origem usou a criptografia gerenciada pelo Google:o recurso restaurado usa a criptografia gerenciada pelo Google por padrão.

É possível substituir esse comportamento padrão ao restaurar discos permanentes ou instâncias do Compute Engine usando a API ou a Google Cloud CLI. Por exemplo, é possível restaurar um backup de um recurso protegido por CMEK para um novo recurso que usa a criptografia gerenciada pelo Google ou para um novo recurso protegido por uma chave CMEK diferente. Para restaurar um recurso protegido por uma nova chave CMEK, verifique se o agente de serviço relevante (por exemplo, o agente de serviço do Compute Engine) para o projeto de destino tem a permissão roles/cloudkms.cryptoKeyEncrypterDecrypter na nova chave de destino.

Se a chave do Cloud Key Management Service que protege a carga de trabalho de origem não estiver disponível durante uma operação de restauração, a restauração vai falhar por padrão. Nesse caso, use a API ou a Google Cloud CLI para substituir a configuração de criptografia especificando uma nova chave CMEK ou mudando o tipo de criptografia para a criptografia gerenciada pelo Google para o recurso restaurado.

Se a versão da chave do Cloud Key Management Service usada para criptografar dados no backup vault estiver desativada ou destruída, não será possível restaurar o backup.

O guia de backup e DR do Compute Engine