Nesta página, você encontra instruções sobre como fazer backup de instâncias do Compute Engine em um backup vault do serviço de Backup e DR, incluindo como conceder acesso ao backup vault no seu projeto do Compute Engine, configurar backups programados, criar backups on-demand e gerenciar os backups armazenados.
Visão geral
O envio de backups para um backup vault oferece imutabilidade e retenção forçada. Com um backup vault, é possível armazenar backups em uma única região ou em uma multirregião. Há dois métodos principais para fazer backup de instâncias do Compute Engine:
Use o console Google Cloud para fazer backup de instâncias do Compute Engine: no console Google Cloud , é possível fazer backup de instâncias do Compute Engine em um cofre de backup aplicando planos de backup. É possível fazer backup dos dados usando um dos seguintes métodos. Os dois métodos permitem armazenar seus backups com segurança em um backup vault, oferecendo uma maneira confiável de recuperar suas instâncias do Compute Engine em caso de perda de dados ou outros eventos inesperados.
Backups programados: faça backup automático das instâncias do Compute Engine em intervalos específicos, como diário, semanal, mensal ou anual.
Backups sob demanda: crie backups sob demanda sempre que necessário. Os backups sob demanda são úteis para criar backups antes de fazer mudanças significativas nas instâncias ou para proteção de dados ad hoc.
Use o console de gerenciamento para fazer backup de instâncias do Compute Engine: se você tiver algum dos seguintes requisitos de backup, use o console de gerenciamento para fazer backup de instâncias do Compute Engine:
- Backups entre regiões
- Backups de discos específicos anexados a uma máquina virtual (VM)
- Proteção automatizada de VMs do Compute Engine com base em tags
- Se os planos de backup e os cofres de backup baseados no console do Google Cloud não estiverem em um local compatível com a região em que as VMs de origem estão sendo executadas.
O console de gerenciamento de dispositivos faz parte do Backup e DR para backups gerenciados por dispositivos. Se você precisar usar o console de gerenciamento do appliance, consulte Descobrir e proteger instâncias do Compute Engine no console de gerenciamento do appliance.
Antes de começar
Ative a API do serviço Backup e DR no local das instâncias do Compute Engine.
Conceda acesso ao backup vault no projeto do Compute Engine.
Configure o Observability Analytics no bucket para monitorar os jobs de backup do Backup e DR.
Limitações
O serviço de Backup e DR não oferece suporte ao backup de instâncias do Compute Engine em um backup vault se a instância usar alguma das seguintes configurações:
- Instâncias de VM com discos permanentes extremos anexados.
- Instâncias de VM com qualquer tipo de disco hyperdisk-*. Use o Disk-Backup.
- Instâncias de VM que usam um tipo de máquina C3D, H3, A3 ou Z3.
- Instâncias de VM com chaves de criptografia fornecidas pelo cliente (CSEK).
- Instâncias de VM sem discos anexados.
- Instâncias de VM maiores que 200 terabytes (TB).
Permissões e papéis do IAM para o usuário de backup
Para ter as permissões necessárias para configurar backups programados ou executar backups sob demanda, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto do backup vault:
- Usuário de backup do Backup e DR (
roles/backupdr.backupUser) - Leitor (
roles/viewer)
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 configurar backups programados ou executar backups sob demanda. 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 configurar backups programados ou executar backups sob demanda:
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForComputeInstance -
backupdr.backupPlanAssociations.list -
backupdr.backupPlanAssociations.get -
backupdr.backupPlanAssociations.triggerBackupForComputeInstance -
backupdr.backupPlanAssociations.deleteForComputeInstance -
backupdr.backupPlans.useForComputeInstance -
backupdr.locations.list -
backupdr.operations.get -
cloudasset.assets.searchAllResources
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
A tabela a seguir lista as permissões necessárias para cada chamada de API:
| Recurso | Ação a ser executada no recurso | Permissões necessárias para cada chamada de API | Projeto em que ele precisa ser atribuído |
|---|---|---|---|
| Backup vault | Criar BackupVault | backupdr.backupVaults.create | Projeto do administrador |
| Excluir BackupVault | backupdr.backupVaults.delete | Projeto do administrador | |
| Atualizar BackupVault | backupdr.backupVaults.update | Projeto do administrador | |
| Listar BackupVaults | backupdr.backupVaults.list | Projeto do administrador | |
| Get BackupVault | backupdr.backupVaults.get | Projeto do administrador | |
| Plano de backup | Create BackupPlan | backupdr.backupPlans.create | Projeto do administrador |
| Excluir BackupPlan | backupdr.backupPlans.delete | Projeto do administrador | |
| Receber BackupPlan | backupdr.backupPlans.get | Projeto do administrador | |
| Listar planos de backup | backupdr.backupPlans.list | Projeto do administrador | |
| Associações de planos de backup | Criar associação do plano de backup | Projeto de carga de trabalho | |
| backupdr.backupPlanAssociations.createForComputeInstance | Projeto de carga de trabalho | ||
| backupdr.backupPlans.useForComputeInstance | Projeto do administrador | ||
| Excluir associação do plano de backup | backupdr.backupPlanAssociations.deleteForComputeInstance | Projeto de carga de trabalho | |
| Acionar um backup sob demanda na associação do plano de backup | backupdr.backupPlanAssociations.triggerBackupForComputeInstance | Projeto de carga de trabalho | |
| Receber associação do plano de backup | backupdr.backupPlanAssociations.getForComputeInstance | Projeto de carga de trabalho | |
| Listar associações de planos de backup | backupdr.backupPlanAssociations.list | Projeto de carga de trabalho | |
| Buscar associações de planos de backup | backupdr.backupPlanAssociations.fetchForComputeInstance | Projeto de carga de trabalho | |
| Fonte de dados | Acessar DataSource | backupdr.bvdataSources.get | Projeto do administrador |
| Listar fontes de dados | backupdr.backupPlanAssociations.list | Projeto do administrador | |
| Backups | Acessar backup | backupdr.bvbackups.get | Projeto do administrador |
| Listar backups | backupdr.bvbackups.list | Projeto do administrador | |
| Excluir backup | backupdr.bvbackups.delete | Projeto do administrador | |
| Restaurar backup | backupdr.bvbackups.restore | Projeto do administrador | |
| Operações | Listar operações | backupdr.operations.list | Projeto respectivo |
| Operações GET | backupdr.operations.get | Projeto respectivo |
Conceder acesso ao backup vault no projeto do Compute Engine
Para fazer backup de uma instância de VM do Compute Engine em um projeto diferente de onde o backup vault foi criado, conceda o papel do IAM de operador do Compute Engine do Backup e DR (roles/backupdr.computeEngineOperator) ao agente de serviço do backup vault no projeto do Compute Engine.
Para fazer backup de uma instância de VM do Compute Engine no mesmo projeto em que o backup vault foi criado, não é necessário conceder papéis.
Para informações sobre como conceder papéis ao agente de serviço do cofre de backup no projeto que você quer fazer backup, consulte Conceder um papel ao agente de serviço.
Configurar um backup programado
Use as instruções a seguir para configurar um backup programado para instâncias do Compute Engine.
Console
No console Google Cloud , acesse a página Backups em cofre.
Clique em Programar backups.
Na lista Projetos, clique em Procurar e selecione um projeto em que as instâncias do Compute Engine estão localizadas.
Na lista Região, selecione a região em que suas instâncias estão localizadas.
Na lista Recursos, clique em Procurar.
Escolha a instância do Compute Engine que você quer fazer backup e clique em Concluído.
Clique em Continuar.
Na lista Plano de backup, clique em Selecionar.
Escolha um plano de backup para proteger a instância do Compute Engine.
Clique em Concluído.
Revise os detalhes do backup e clique em Programar.
gcloud
Consiga o ID da instância.
gcloud compute instances describe VM_NAME --zone=VM_ZONE --format="value(id)"Substitua:
VM_NAME: o nome da instância de VM.VM_ZONE: o local em que a VM está localizada.
Configure um backup programado.
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=VM_REGION \ --resource=projects/VM_PROJECT_ID/zones/VM_ZONE/instances/VM_ID \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLANSubstitua:
BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup.VM_REGION: a região em que a instância do Compute Engine está localizada.VM_PROJECT_ID: o nome do projeto em que as instâncias do Compute Engine estão localizadas.VM_ZONE: a zona em que a instância do Compute Engine está localizada.VM_ID: o ID da instância do Compute Engine.PROJECT_ID: o nome do projeto em que os planos de backup estão.LOCATION: a região em que seus planos de backup estão.BACKUP_PLAN: o nome do plano de backup que você quer associar à instância do Compute Engine.
Terraform
É possível usar um recurso do Terraform para configurar um backup programado.
Consistência de aplicativos para backups do Compute Engine com o Backup e DR
Os snapshots consistentes do aplicativo capturam o estado dos dados do aplicativo no momento do backup, com todas as transações do aplicativo concluídas e todas as gravações pendentes liberadas para o disco.
Use as instruções a seguir para configurar backups consistentes com o aplicativo para instâncias do Compute Engine.
Antes de começar
Leia sobre Snapshots consistentes do aplicativo.
Um plano de backup para backups de instâncias consistentes com aplicativos em um ambiente Linux exige scripts pré e pós. Crie os scripts pré e pós snapshot necessários para um ambiente Linux.
Criar um plano de backup para backups consistentes com aplicativos em instâncias do Compute Engine
Use as instruções a seguir para criar backups consistentes com o aplicativo para instâncias do Compute Engine.
gcloud
Crie o plano de backup.
gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \ --compute-instance-properties=guest-flush=true \ --resource-type=compute.googleapis.com/Instance \ --location=REGION \ --project=PROJECT_ID \ --backup-vault=BACKUPVAULT_NAME \ --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS, \ time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,\ retention-days=BACKUP_RETENTION --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTIONSubstitua:
BACKUP_PLAN_NAME: o nome do plano de backup.REGION: a Google Cloud região em que você quer criar o plano de backup.PROJECT_ID: o nome do projeto em que o backup vault reside.BACKUPVAULT_NAME: o nome do backup vault que você quer usar para armazenamento de backups.RULE_NAME: o nome da regra de backup.RECURRENCE: a frequência com que os backups serão criados. Pode ser de hora em hora, diária, semanal, mensal ou anual.HOURS: a frequência dos backups por hora. Especifique esse valor somente se você definir a recorrência como horária. O valor padrão mínimo de frequência horária é de seis horas.TIME_ZONE: o fuso horário do plano de backup, como UTC. Use o formato de fuso horário da IANA para incluir o fuso horário no plano de backup.START_TIME: o horário de início é a hora do dia no formato de 24 horas. O horário de início precisa ser anterior ao horário de término e está incluído na janela de backup.END_TIME: o horário de término é a hora do dia em um formato de 24 horas. O horário de término precisa ser posterior ao horário de início e é exclusivo para a janela de backup.BACKUP_RETENTION: o período de armazenamento do backup. O período de armazenamento do backup precisa ser igual ou maior que o período mínimo de retenção obrigatória do backup vault.MAX_ONDEMAND_RETENTION: o período máximo de retenção personalizado permitido (em dias) para backups sob demanda criados usando este plano de backup.
Atualizar um plano de backup para backups consistentes com aplicativos de instâncias do Compute Engine
Use as instruções a seguir para atualizar um plano de backup e gerar backups consistentes com o aplicativo de instâncias do Compute Engine.
gcloud
Atualize o plano de backup.
gcloud backup-dr backup-plans update BACKUP_PLAN_NAME \ --compute-instance-properties=guest-flush=true \ --project=PROJECT_ID \ --location=REGION \ --description=DESCRIPTION \ --backup-rule=BACKUP_RULE \ --add-backup-rule=ADD_BACKUP_RULE \ --remove-backup-rule=REMOVE_BACKUP_RULE \ --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTIONSubstitua:
BACKUP_PLAN_NAME: o nome do plano de backup.PROJECT_ID: o nome do projeto em que o backup vault reside.REGION: o local onde você quer criar o plano de backup.DESCRIPTION: a descrição atualizada do plano de backup.BACKUP_RULE: definição completa de uma regra de backup atual com valores atualizados.ADD_BACKUP_RULE: parâmetros da regra de backup a serem adicionados ao plano de backup. Essa flag pode ser repetida para adicionar mais regras de backup.REMOVE_BACKUP_RULE: a regra de backup atual a ser removida do plano de backup.MAX_ONDEMAND_RETENTION: o período máximo de armazenamento personalizado permitido (em dias) para backups sob demanda criados usando este plano de backup.
Mudar o plano de backup aplicado a uma instância do Compute Engine
É possível mudar o plano de backup aplicado a uma instância do Compute Engine para outro. O outro plano de backup precisa atender a estes critérios:
- Usar o mesmo backup vault
- Estar na mesma região que a instância do Compute Engine
Use as instruções a seguir para mudar o plano de backup associado a uma instância do Compute Engine.
Console
No console Google Cloud , acesse a página Backups em cofre.
A página Backups em vault lista apenas as instâncias que têm planos de backup aplicados e os backups armazenados em um backup vault em um projeto.
Selecione o backup que vai receber um plano diferente. Na página de detalhes do backup ou no menu , selecione Mudar plano de backup. A janela Selecionar um plano de backup lista apenas os planos válidos para essa instância.
Selecione um plano de backup e clique em Aplicar.
gcloud
Mude o plano de backup atribuído.
gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \ --workload-project=VM_PROJECT_ID \ --location=VM_REGION \ --backup-plan=BACKUP-PLAN \ --project=PROJECT_IDSubstitua:
BACKUP_PLAN_ASSOCIATION_NAME: o nome do recurso de associação do plano de backup.VM_PROJECT_ID: o ID do projeto da instância do Compute Engine.VM_REGION: o local da instância do Compute Engine.BACKUP_PLAN: o nome do plano de backup para o qual você está mudando.PROJECT_ID: o ID do projeto do plano de backup selecionado.
Listar backups programados
Use as instruções a seguir para listar as instâncias do Compute Engine com backup.
Console
No console Google Cloud , acesse a página Backups em cofre.
A página Backups em vault lista apenas as instâncias que têm planos de backup aplicados e os backups armazenados em um backup vault em um projeto.
gcloud
Listar backups programados.
gcloud backup-dr backup-plan-associations list \ --location=LOCATION \ --project=PROJECT_IDSubstitua:
PROJECT_ID: o nome do projeto.LOCATION: o local dos backups programados.
Criar um backup sob demanda
É possível iniciar um backup sob demanda para uma instância do Compute Engine com um plano de backup acionando a regra de backup escolhida para execução imediata. Os backups sob demanda normalmente capturam apenas os dados alterados desde o último backup (incremental).
Ao criar um backup sob demanda, é possível escolher uma regra do plano de backup associado à instância do Compute Engine. Essa regra determina quando o backup sob demanda é excluído. É possível verificar o status do job de backup na página Jobs. Para mais informações, consulte Monitorar jobs de backup e restauração no console Google Cloud .
Use as instruções a seguir para criar um backup sob demanda.
Console
- Acesse Instâncias de VM > Detalhes > Plano de backup para criar um backup sob demanda.
- Clique em Criar backup sob demanda. Você precisa ter as permissões corretas para fazer um backup sob demanda.
Escolha quando excluir este backup. Você poderá fazer o seguinte:
- Com base no período de armazenamento personalizado Por padrão, o limite é definido como o período mínimo de armazenamento obrigatório do backup vault, mais 30 dias. Para definir um limite diferente, adicione um período de armazenamento máximo personalizado sob demanda ao seu plano de backup.
- Com base em uma regra de backup atual. Selecione uma regra no menu suspenso Excluir backups após.
Clique em Criar para iniciar o job de backup sob demanda.
Para conferir o status do job de backup sob demanda, clique em Notificações.
gcloud
Crie um backup sob demanda que use uma regra de backup.
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --backup-rule-id=RULE_ID --labels=LABELSSubstitua:
BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup. Execute o comandogcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_IDpara receber a lista de planos de backup associados ao disco do Compute Engine.PROJECT_ID: o nome do projeto.REGION: o local dos backups programados.RULE_ID: o nome da regra de backup que você quer associar para executar backups sob demanda.LABELS: rótulos opcionais para o backup como pares de chave-valor separados por vírgulas, comowebserver=backend,media=images.
Crie um backup sob demanda que use retenção personalizada.
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --project=PROJECT_ID \ --location=REGION \ --custom-retention-days=CUSTOM_RETENTION --labels=LABELSSubstitua:
BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup. Execute o comandogcloud backup-dr backup-plan-associations list --location=LOCATION --project=PROJECT_IDpara receber a lista de planos de backup associados ao disco do Compute Engine.PROJECT_ID: o nome do projeto.REGION: o local dos backups programados.CUSTOM_RETENTION: o período de armazenamento personalizado em dias para este backup sob demanda. Esse valor precisa ser igual ou maior que o tempo de retenção do backup vault e menor ou igual ao valor demax-custom-on-demand-retention-daysconfigurado no plano de backup (ou o tempo de retenção do vault + 30 dias semax-custom-on-demand-retention-daysnão estiver configurado).LABELS: rótulos opcionais para o backup como pares de chave-valor separados por vírgulas, comowebserver=backend,media=images.
Remover a proteção de uma instância do Compute Engine
É possível remover a proteção de uma instância do Compute Engine removendo o plano de backup aplicado a ela. Remover um plano de backup de uma instância do Compute Engine não exclui o plano nem os backups criados enquanto a instância estava em uso. Você ainda pode acessar e gerenciar esses backups.
Use as instruções a seguir para remover a proteção de uma instância do Compute Engine.
Console
No console Google Cloud , acesse a página Backups em cofre.
Clique no nome da instância em que você quer remover um plano de backup.
Selecione Remover plano de backup.
gcloud
Remover a proteção de uma instância do Compute Engine.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME\ --project=PROJECT_ID \ --location=LOCATIONSubstitua:
BACKUP_PLAN_ASSOCIATION_NAME: o nome do backup que você quer excluir.PROJECT_ID: o nome do projeto.LOCATION: o local do backup programado.