Esta página ajuda você a restaurar uma instância do Compute Engine de um backup vault no console do Google Cloud , que pode segmentar uma nova instância do Compute Engine ou um novo Persistent Disk. Para restaurar seletivamente um disco individual para um novo Persistent Disk, consulte Fazer uma restauração seletiva de disco de um backup de instância do Compute Engine.
Funções exigidas
Para receber as permissões necessárias para restaurar uma instância do Compute Engine de um backup vault, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, no projeto de destino, no agente de serviço do Backup e DR e no projeto host da VPC:
-
Restaure uma instância do Compute Engine:
- Usuário de Backup e DR (
roles/backupdr.restoreUser) - Leitor do Compute (
roles/compute.viewer)
- Usuário de Backup e DR (
-
Conceda papéis ao agente de serviço:
Operador de Backup e DR do Compute Engine (
roles/backupdr.computeEngineOperator) -
Use uma VPC compartilhada (opcional):
Usuário da rede do Compute (
roles/compute.networkUser) -
Realize uma operação de restauração seletiva de disco com base em um backup de instância do Compute Engine:
Operador de disco do Backup e DR (
roles/backupdr.diskOperator)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para restaurar uma instância do Compute Engine de um backup vault. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para restaurar uma instância do Compute Engine de um backup vault:
-
Restaure uma instância do Compute Engine:
-
backupdr.bvbackups.restore -
backupdr.compute.restoreFromBackupVault -
backupdr.backupVaults.get -
backupdr.backupVaults.list -
backupdr.bvbackups.list -
backupdr.bvdataSources.get -
backupdr.bvdataSources.list -
backupdr.bvbackups.get
-
-
Restaurar uma instância do Compute Engine usando o console Google Cloud (permissões adicionais):
-
compute.acceleratorTypes.list -
compute.disks.list -
compute.machineTypes.list -
compute.projects.get -
compute.regions.list -
compute.zones.list
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
restaurar uma instância do Compute Engine
Use as instruções a seguir para restaurar uma instância do Compute Engine.
Console
No console Google Cloud , acesse a página Backups em cofre.
Todas as instâncias do Compute Engine com backups protegidos são listadas aqui.
Clique no ícone de ação para selecionar a opção Restaurar. A página de restauração mostra onde 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 Escopo da restauração, que pode ser a instância inteira do Compute Engine ou um disco individual. Para restaurar um disco individual, consulte Fazer uma restauração seletiva de disco com base em um backup de instância do Compute Engine.
- Selecione o Nome do projeto em que você quer restaurar a VM.
Clique em Proceed.
A página Criar uma instância do Compute Engine com base em um backup aparece, com as propriedades da instância do Compute Engine pré-preenchidas com base nas propriedades da instância de origem. É possível modificar as propriedades para criar uma nova instância do Compute Engine. Por exemplo, mude a seleção de Região ou Tipo de máquina.
Clique em Criar para criar uma VM com base no backup selecionado.
gcloud
Use o comando
gcloud backup-dr backup-vaults describepara acessar a conta de serviço do backup vault:gcloud backup-dr backup-vaults describe BACKUP_VAULT_NAME / --location=REGION_NAME
Substitua:
BACKUP_VAULT_NAME: o nome do cofre de backup de que você quer restaurar os dados.
REGION_NAME: a região do cofre de backup.
Antes de restaurar uma instância do Compute Engine, use os comandos a seguir para receber o ID da fonte de dados e o ID do backup necessário:
Encontre o ID da fonte de dados usando o comando
gcloud backup-dr data-sources list:gcloud backup-dr data-sources list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --backup-vault=BACKUP_VAULT_NAME \ "--filter=dataSourceGcpResource.computeInstanceDatasourceProperties.name:(DATA_SOURCE)" \ "--format=get(name)"
Liste os backups atuais da fonte de dados para encontrar o
BACKUP_IDcorreto usando o comandogcloud backup-dr backups list:gcloud backup-dr backups list \ --location=REGION_NAME \ --backup-vault=BACKUP_VAULT_NAME \ --data-source=DATA_SOURCE \ "--format=yaml(backupType,computeInstanceBackupProperties.sourceInstance,consistencyTime,enforcedRetentionEndTime,expireTime,name)"
Para restaurar uma instância do Compute Engine, use os seguintes comandos:
Restaure uma instância do Compute Engine no mesmo projeto que o projeto de carga de trabalho com o ID do backup usando o comando
gcloud backup-dr backups restore compute:gcloud backup-dr backups restore compute test-backup-id \ --project=PROJECT_NAME --location=REGION_NAME \ --backup-vault=BACKUP_VAULT_NAME --data-source=DATA_SOURCE\ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT
Recupere uma instância do Compute Engine no mesmo projeto que o projeto de carga de trabalho com o URL completo do recurso de backup usando o comando
gcloud backup-dr backups restore compute projects: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
Restaure uma instância do Compute Engine com conta de serviço e configuração de rede personalizadas usando o comando
gcloud backup-dr backups restore compute: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 backup vault do projeto.
REGION: o local do backup vault.
BACKUPVAULT_NAME: o nome do cofre de backup 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 instância restaurada do Compute Engine.
TARGET_ZONE: a região em que a instância do Compute Engine é restaurada.
TARGET_PROJECT: o projeto em que a instância do Compute Engine é restaurada.
NETWORK: o URI de rede da instância do Compute Engine.
SUBNET: o URI da sub-rede da instância do Compute Engine.
SERVICE_ACCOUNT: a conta de serviço da instância restaurada do Compute Engine.
SCOPE: o escopo de autorização da conta de serviço.
Restaure um disco do Compute Engine usando o comando
gcloud backup-dr backups restore disk. Para instruções detalhadas sobre como restaurar um disco individual de um backup de instância do Compute Engine, consulte Realizar uma restauração seletiva de disco de um backup de instância do Compute Engine.gcloud backup-dr backups restore disk BACKUP_NAME \ --name=DISK_NAME \ --target-project=TARGET_PROJECT_NAME \ [--source-instance-boot-disk | --source-instance-disk-device-name=DEVICE_NAME] \ [--target-zone=TARGET_ZONE_NAME | --target-region=TARGET_REGION_NAME --replica-zones=ZONE_NAME] \ [DISK_OVERRIDE_FLAGS...] \ [--async]
Para substituir outras propriedades da instância do Compute Engine, consulte os comandos da visão geral do serviço de backup e DR da CLI gcloud.
Limitações de restauração para backups seletivos de disco
Ao restaurar uma instância do Compute Engine de um backup criado usando o backup seletivo de disco, somente os discos protegidos no momento do backup são restaurados e anexados à nova instância de máquina virtual (VM).
No console do Google Cloud , a seção de resumo destaca os discos protegidos incluídos no backup (por exemplo, Protected disks: 2 out of 3).
Para evitar falhas de inicialização ao restaurar VMs com discos excluídos, configure
a configuração de inicialização da VM de origem para ignorar discos ausentes (por exemplo, adicionando a opção de montagem nofail em /etc/fstab). Para mais informações sobre essa limitação do Compute Engine, consulte Limitações e avisos da restauração de discos permanentes.
Restaurar um backup de um backup vault ativado para CMEK
O processamento de criptografia para restaurações de um cofre de backup ativado para CMEK depende de você estar restaurando toda a instância do Compute Engine ou um disco individual.
Processamento de CMEK para restaurações completas de instâncias do Compute Engine
Quando você restaura uma instância inteira do Compute Engine de um backup armazenado em um backup vault habilitado para CMEK, o backup em si é protegido pela CMEK do vault. Por padrão, os discos na instância restaurada do Compute Engine mantêm as configurações de criptografia originais, gerenciadas pelo Google ou as CMEKs originais. As permissões necessárias para acessar a CMEK do cofre são concedidas ao agente de serviço do Backup e DR, conforme descrito em Conceitos de CMEK.
Processamento de CMEK para restaurações de disco individuais
Quando você escolhe o escopo de restauração Disco individual para restaurar um único disco de um backup de instância do Compute Engine, o seguinte comportamento ocorre:
Comportamento padrão: o novo disco criado com base no backup tenta usar a mesma chave de criptografia do disco de origem da instância original do Compute Engine.
Se o disco de origem usou a criptografia gerenciada pelo Google, o disco restaurado também usará essa criptografia.
Se o disco de origem usou uma CMEK específica, o disco restaurado tentará usar a mesma CMEK.
Indisponibilidade da chave: se a CMEK original usada pelo disco de origem não estiver acessível no projeto ou na região de destino, por exemplo, devido à exclusão da chave, a mudanças de permissão ou restauração entre regiões, a operação de restauração vai falhar, a menos que você substitua as configurações de criptografia.
Substituição das configurações de criptografia:é possível mudar as configurações de criptografia do disco restaurado durante o processo de restauração usando as seguintes instruções:
Console
Na seção Propriedades do disco de destino do assistente de restauração, é possível modificar as configurações de Criptografia usando uma das seguintes opções:
Selecione outra chave de criptografia gerenciada pelo cliente (CMEK).
Mude para a criptografia gerenciada pelo Google.
gcloud
Ao usar o comando
gcloud backup-dr backups restore diskcom as flags--source-instance-boot-diskou--source-instance-disk-device-name:- Para especificar uma CMEK diferente para o disco restaurado, use a flag
--kms-key:
--kms-key=projects/MY-KEY-PROJECT/locations/us-central1/keyRings/MY-RING/cryptoKeys/MY-NEW-KEY- Para forçar o disco restaurado a usar a criptografia gerenciada pelo Google,
use a flag
--clear-encryption-key.
- Para especificar uma CMEK diferente para o disco restaurado, use a flag
Permissões para substituições de CMEK:
Se você substituir a criptografia para usar uma CMEK nova ou diferente, verifique se o agente de serviço do Compute Engine do projeto de destino tem a função
Cloud KMS CryptoKey Encrypter/Decrypter(roles/cloudkms.cryptoKeyEncrypterDecrypter) na chave do KMS especificada. O formato da conta do agente de serviço é:service-TARGET_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com.Essa permissão é necessária para que o Compute Engine crie o novo disco criptografado com a chave escolhida.
Consulte Restaurar um Persistent Disk de um backup vault para mais detalhes sobre operações de restauração de disco e uso de flags.
Restaurar um backup de um backup vault ativado para CMEK
Quando você restaura um backup de um backup vault habilitado para CMEK, a criptografia do recurso restaurado depende da criptografia da origem:
- Se o recurso de origem estava protegido por CMEK:o recurso restaurado
usa por padrão a mesma chave CMEK da origem. Por exemplo:
- Um disco permanente do Compute Engine criptografado com a chave
K1é restaurado para um disco criptografado comK1. - Se uma VM tiver vários discos, cada um deles 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 continuam sendo gerenciados pelo Google.
- Um disco permanente do Compute Engine criptografado com a chave
- 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 CLI gcloud. Por exemplo, é possível
restaurar um backup de um recurso protegido por CMEK para um novo recurso que usa
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) do projeto de destino tem permissão roles/cloudkms.cryptoKeyEncrypterDecrypter na nova chave de destino.
Fazer uma restauração entre regiões com CMEK
Como as chaves do Cloud Key Management Service são regionais, quando você realiza uma restauração entre regiões (por exemplo, restaurar uma instância de asia-south1 para asia-south2), a operação de restauração falha se você usar o comportamento padrão. Os discos da VM restaurada não podem ser criptografados com a chave do KMS da região de origem.
Essa é uma limitação atual no console do Google Cloud . Para realizar uma restauração entre regiões de uma VM protegida por CMEK, use a CLI gcloud, a API ou o Terraform para substituir as configurações de criptografia e especificar uma nova chave do KMS na região de destino.
Para restaurar um recurso protegido por uma nova chave da CMEK, siga estas etapas:
- Verifique se você tem uma chave na região de destino:confira se você tem uma chave do Cloud Key Management Service na região em que está restaurando a VM (no projeto de destino ou em um projeto compartilhado do KMS) e crie uma se não tiver.
Conceda permissões do KMS:conceda o papel Criptografador/descriptografador de CryptoKey do Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) nessa chave de destino ao agente de serviço do Compute Engine do projeto de destino em que a VM está sendo restaurada.Faça a restauração:execute a restauração usando um dos seguintes métodos, substituindo a chave do KMS de cada disco:
gcloud
Receber detalhes do backup:recupere o nome do backup e os nomes dos dispositivos dos discos do backup usando o comando
gcloud backup-dr backups list:gcloud backup-dr backups list \ --project=PROJECT_ID \ --location=SOURCE_REGION \ --backup-vault=BACKUP_VAULT_NAME \ --filter="computeInstanceBackupProperties.sourceInstance~SOURCE_INSTANCE_NAME"Substitua:
- PROJECT_ID: o nome do projeto em que o backup vault reside.
- SOURCE_REGION: o local do backup vault.
- BACKUP_VAULT_NAME: o nome do backup vault de que você quer restaurar os dados.
- SOURCE_INSTANCE_NAME: o nome da instância de origem do Compute Engine.
Execute o comando de restauração:execute o comando de restauração e substitua a chave do KMS de cada disco usando o parâmetro
--create-disk.Restaurar uma VM com um único disco:
gcloud backup-dr backups restore compute BACKUP_ID \ --project=PROJECT_ID \ --location=SOURCE_REGION \ --backup-vault=BACKUP_VAULT_NAME \ --data-source=DATA_SOURCE \ --name=RESTORED_VM_NAME \ --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT_ID \ --create-disk=device-name=DEVICE_NAME,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAMESubstitua:
- BACKUP_ID: o ID do backup que você quer restaurar.
- PROJECT_ID: o nome do projeto em que o backup vault reside.
- SOURCE_REGION: o local do backup vault.
- BACKUP_VAULT_NAME: o nome do backup vault de que você quer restaurar os dados.
- DATA_SOURCE: o ID da fonte de dados de que você quer restaurar os dados.
- RESTORED_VM_NAME: o nome da VM restaurada.
- TARGET_ZONE: a zona em que a VM será restaurada.
- TARGET_PROJECT_ID: o projeto em que a VM é restaurada.
- DEVICE_NAME: o nome do dispositivo do disco.
- KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud Key Management Service está localizada.
- TARGET_REGION: a região em que a chave do Cloud Key Management Service está localizada.
- KEYRING: o nome do keyring do Cloud Key Management Service.
- KEY_NAME: o nome da chave do Cloud Key Management Service para o disco 1.
Restaurar uma VM com vários discos:forneça uma flag
--create-diskseparada para cada disco:gcloud backup-dr backups restore compute BACKUP_ID \ --project=PROJECT_ID \ --location=SOURCE_REGION \ --backup-vault=BACKUP_VAULT_NAME \ --data-source=DATA_SOURCE \ --name=RESTORED_VM_NAME \ --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT_ID \ --create-disk=device-name=DEVICE_NAME_1,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1 \ --create-disk=device-name=DEVICE_NAME_2,kms-key=projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2Substitua:
- BACKUP_ID: o ID do backup que você quer restaurar.
- PROJECT_ID: o nome do projeto em que o backup vault reside.
- SOURCE_REGION: o local do backup vault.
- BACKUP_VAULT_NAME: o nome do backup vault de que você quer restaurar os dados.
- DATA_SOURCE: o ID da fonte de dados de que você quer restaurar os dados.
- RESTORED_VM_NAME: o nome da VM restaurada.
- TARGET_ZONE: a zona em que a VM será restaurada.
- TARGET_PROJECT_ID: o projeto em que a VM é restaurada.
- DEVICE_NAME_1: o nome do dispositivo do disco 1.
- KMS_PROJECT_ID: o ID do projeto em que a chave do Cloud Key Management Service está localizada.
- TARGET_REGION: a região em que a chave do Cloud Key Management Service está localizada.
- KEYRING: o nome do keyring do Cloud Key Management Service.
- KEY_NAME_1: o nome da chave do Cloud Key Management Service para o disco 1.
- DEVICE_NAME_2: o nome do dispositivo do disco 2.
- KEY_NAME_2: o nome da chave do Cloud Key Management Service para o disco 2.
API
Receber detalhes do backup:recupere o nome do backup e os nomes dos dispositivos dos discos enviando uma solicitação
GETpara listar backups:GET https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backupsExecute a API de restauração:envie uma solicitação
POSTpara o URIrestoredo backup.Restaurar uma VM com um único disco:
POST https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backups/BACKUP_ID:restorePayload:
{ "computeInstanceTargetEnvironment": { "project": "TARGET_PROJECT_ID", "zone": "TARGET_ZONE" }, "computeInstanceRestoreProperties": { "name": "RESTORED_VM_NAME", "machineType": "projects/TARGET_PROJECT_ID/zones/TARGET_ZONE/machineTypes/e2-medium", "disks": [ { "deviceName": "DEVICE_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME" } } ] } }Restaurar uma VM com vários discos:
POST https://backupdr.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_REGION/backupVaults/BACKUP_VAULT_NAME/dataSources/DATA_SOURCE/backups/BACKUP_ID:restorePayload:
{ "computeInstanceTargetEnvironment": { "project": "TARGET_PROJECT_ID", "zone": "TARGET_ZONE" }, "computeInstanceRestoreProperties": { "name": "RESTORED_VM_NAME", "machineType": "projects/TARGET_PROJECT_ID/zones/TARGET_ZONE/machineTypes/e2-medium", "disks": [ { "deviceName": "DEVICE_NAME_1", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1" } }, { "deviceName": "DEVICE_NAME_2", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2" } } ] } }
Terraform
Usar o recurso google_backup_dr_restore_workload
Restaurar uma VM com um único disco:
resource "google_backup_dr_restore_workload" "restore_single" { location = "SOURCE_REGION" backup_vault_id = "BACKUP_VAULT_NAME" data_source_id = "DATA_SOURCE" backup_id = "BACKUP_ID" compute_instance_target_environment { project = "TARGET_PROJECT_ID" zone = "TARGET_ZONE" } compute_instance_restore_properties { name = "RESTORED_VM_NAME" machine_type = "zones/TARGET_ZONE/machineTypes/e2-medium" disks { device_name = "DEVICE_NAME" disk_encryption_key { kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME" } } } }Restaurar uma VM com vários discos:
resource "google_backup_dr_restore_workload" "restore_multi" { location = "SOURCE_REGION" backup_vault_id = "BACKUP_VAULT_NAME" data_source_id = "DATA_SOURCE" backup_id = "BACKUP_ID" compute_instance_target_environment { project = "TARGET_PROJECT_ID" zone = "TARGET_ZONE" } compute_instance_restore_properties { name = "RESTORED_VM_NAME" machine_type = "zones/TARGET_ZONE/machineTypes/TARGET_MACHINETYPE" disks { device_name = "DEVICE_NAME_1" disk_encryption_key { kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_1" } } disks { device_name = "DEVICE_NAME_2" disk_encryption_key { kms_key_name = "projects/KMS_PROJECT_ID/locations/TARGET_REGION/keyRings/KEYRING/cryptoKeys/KEY_NAME_2" } } } }
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 CLI gcloud para substituir a configuração de criptografia especificando uma nova chave CMEK ou mudando o tipo de criptografia para a gerenciada pelo Google no recurso restaurado.
Se a versão da chave do Cloud Key Management Service usada para criptografar dados no cofre de backup for desativada ou destruída, não será possível fazer a restauração desse backup.
O guia do Backup e DR Compute Engine
- Criar e gerenciar um plano de backup para backups armazenados em um cofre
- Verificar as credenciais da nuvem
- Descobrir e proteger instâncias do Compute Engine
- Montar imagens de backup do disco permanente do Compute Engine
- Restaurar uma instância do Compute Engine
- Importar imagens de snapshots do Persistent Disk
A seguir
- Para saber como restaurar um Persistent Disk de um backup vault
- Saiba como fazer uma restauração seletiva de disco com base em um backup de instância do Compute Engine.