Fazer backup de instâncias do Cloud SQL em um backup vault

Nesta página, descrevemos como fazer backup de instâncias do Cloud SQL em um cofre de backup. O envio de backups para um backup vault oferece imutabilidade e retenção forçada.

No console Google Cloud , é possível fazer backup de instâncias do Cloud SQL em um backup vault aplicando planos de backup. É possível fazer backup de uma das duas maneiras. Com os dois métodos, é possível armazenar seus backups com segurança em um cofre de backup, oferecendo uma maneira confiável de recuperar suas instâncias do Cloud SQL em caso de perda de dados ou outros eventos inesperados.

  • Backups programados. É possível fazer backup automático das instâncias do Cloud SQL em intervalos específicos, como diário, semanal, mensal ou anual.
  • Backups sob demanda. É possível criar backups sob demanda sempre que necessário. Os backups sob demanda são úteis para criar backups antes de fazer mudanças significativas nos bancos de dados ou para proteção de dados ad hoc.

Antes de começar

  1. Ative a API do serviço Backup e DR no local das instâncias do Cloud SQL.
  2. Ativar a API
  3. Criar um backup vault
  4. Criar um plano de backup
  5. Atribuir papéis e permissões do IAM ao usuário de backup
  6. Conceder acesso ao backup vault no projeto do Cloud SQL
  7. Configure a análise de registros no seu bucket para monitorar os jobs de backup do Backup e DR.

Permissões e papéis do IAM para o usuário de backup

Para receber 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 cofre de backup:

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 conferir 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.createForCloudSqlInstance
  • backupdr.backupPlanAssociations.fetchForCloudSqlInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForCloudSqlInstance
  • backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
  • backupdr.backupPlanAssociations.deleteForCloudSqlInstance
  • backupdr.backupPlans.useForCloudSqlInstance
  • 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 dinâmicas necessárias para cada chamada de API:

Recurso Ação a ser realizada 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 Criar 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 cloudsql.instances.updateBackupDrConfig Projeto de carga de trabalho
backupdr.backupPlanAssociations.createForCloudSqlInstance Projeto de carga de trabalho
backupdr.backupPlans.useForCloudSqlInstance Projeto do administrador
Excluir associação do plano de backup backupdr.backupPlanAssociations.deleteForCloudSqlInstance Projeto de carga de trabalho
cloudsql.instances.updateBackupDrConfig Projeto de carga de trabalho
Acionar um backup sob demanda na associação do plano de backup backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance Projeto de carga de trabalho
Receber associação do plano de backup backupdr.backupPlanAssociations.getForCloudSqlInstance 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.fetchForCloudSqlInstance Projeto de carga de trabalho
Origem de dados Acessar DataSource backupdr.bvdataSources.get Projeto do administrador
Listar fontes de dados backupdr.backupPlanAssociations.list Projeto do administrador
Restauração de PITR backupdr.bvdataSources.useReadOnlyForCloudSqlInstance 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.useReadOnlyForCloudSqlInstance Projeto do administrador
Referências de fontes de dados Receber referência de DataSource backupdr.dataSourceReferences.getForCloudSqlInstance Projeto de carga de trabalho
Buscar referências de DataSource backupdr.dataSourceReferences.fetchForCloudSqlInstance Projeto de carga de trabalho
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 Cloud SQL

Para fazer backup de uma instância do Cloud SQL em um projeto diferente de onde o cofre de backup foi criado, conceda o papel do IAM de operador do Cloud SQL de backup e DR (roles/backupdr.cloudSqlOperator) ao agente de serviço do cofre de backup no projeto do Cloud SQL. Se o projeto do cofre de backup em que os backups serão armazenados for diferente do projeto do Cloud SQL, atribua a função ao agente de serviço do cofre de backup no projeto do Cloud SQL.

Para fazer backup de uma instância do Cloud SQL 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 Cloud SQL.

Console

  1. No console Google Cloud , acesse a página Backups em cofre.

    Acessar backups em vault

  2. Clique em Programar backup.

  3. Na lista Tipo de recurso, selecione Cloud SQL.

  4. Na lista Projeto, selecione um projeto em que a instância do Cloud SQL está localizada.

  5. Na lista Região, selecione a região em que suas instâncias estão localizadas.

  6. Na lista Recursos, clique em Procurar. Escolha a instância do Cloud SQL que você quer fazer backup e clique em Concluído.

  7. Clique em Continuar.

  8. Na lista Plano de backup, clique em Selecionar.

  9. Escolha um plano de backup para proteger as instâncias do Cloud SQL.

  10. Clique em Concluído.

  11. Revise os detalhes do backup e clique em Programar.

gcloud

  1. Configure um backup programado.

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=CSQL_REGION \
          --project=CSQL_PROJECT_ID \
          --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \
          --resource-type=sqladmin.googleapis.com/Instance \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    Substitua:

    • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup.
    • CSQL_REGION: a região em que as instâncias do Cloud SQL estão localizadas.
    • CSQL_PROJECT_ID: o nome do projeto em que as instâncias do Cloud SQL estão localizadas.
    • CSQL_INSTANCE_ID: o ID da instância do Cloud SQL.
    • PROJECT_ID: o nome do projeto em que os planos de backup estão.
    • LOCATION: o local da instância.

Listar instâncias com backups programados

Use as instruções a seguir para listar as instâncias do Cloud SQL em que os backups estão programados.

Console

  1. No console Google Cloud , acesse a página Backups em cofre.

    Acessar backups em vault

  2. Na parte de cima da tabela, selecione Filtrar tabela > Tipo de recurso. Selecione Cloud SQL. Isso limita a exibição apenas às instâncias do Cloud SQL com planos de backup aplicados e backups armazenados em um backup vault dentro de um projeto.

gcloud

Liste as instâncias do Cloud SQL para as quais os backups estão programados:

  gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
  --location=LOCATION \
  --project=PROJECT_ID

Substitua:

  • LOCATION: o local dos backups programados.
  • PROJECT_ID: o nome do projeto em que as instâncias do Cloud SQL estão localizadas.

Criar um backup sob demanda

É possível iniciar um backup sob demanda para uma instância do Cloud SQL com um plano de backup acionando a regra de backup escolhida para execução imediata. Os backups sob demanda geralmente 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 Cloud SQL. Essa regra determina quando o backup sob demanda será 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 Google Cloud console.

Use as instruções a seguir para criar um backup sob demanda.

Console

  1. No console Google Cloud , acesse a página Backups em cofre.

    Acessar backups em vault

    A página Backups em vault lista apenas os recursos de dados que têm planos de backup aplicados e os backups armazenados em um backup vault em um projeto.

  2. Selecione o recurso para fazer backup. No menu ou na página de detalhes do recurso, selecione Criar backup sob demanda.

  3. Na janela Criar um backup sob demanda, selecione uma regra de backup para usar e clique em Criar.

  4. Para conferir o status do job de backup sob demanda, clique em Notificações.

gcloud

  1. Crie um backup sob demanda. Inicie um backup on demand usando uma associação de plano de backup atual. Especifique um ID de regra para determinar o período de expiração deste backup único e sob demanda:

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    Substitua:

    • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup.

    • RULE_ID: o nome da regra de backup que você quer associar para executar backups sob demanda.

    • PROJECT_ID: o nome do projeto.

    • LOCATION: o local dos backups programados.

Remover a proteção de uma instância do Cloud SQL

É possível remover a proteção de uma instância do Cloud SQL removendo o plano de backup aplicado a ela. Remover um plano de backup de uma instância do Cloud SQL não exclui nenhum backup criado enquanto o plano estava em uso. Você ainda pode acessar e gerenciar esses backups até que eles expirem.

Siga estas instruções para remover a proteção de uma instância do Cloud SQL.

Console

  1. No console Google Cloud , acesse a página Backups em cofre.

    Acessar backups em vault

  2. Clique no nome do banco de dados de que você quer remover um plano de backup.

  3. Selecione Remover plano de backup.

gcloud

Remover a proteção de uma instância do Cloud SQL.

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

Substitua:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação de plano de backup que você quer excluir.
  • PROJECT_ID: o nome do projeto.
  • LOCATION: o local do backup programado.