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
- Ative a API do serviço Backup e DR no local das instâncias do Cloud SQL.
- Ativar a API
- Criar um backup vault
- Criar um plano de backup
- Atribuir papéis e permissões do IAM ao usuário de backup
- Conceder acesso ao backup vault no projeto do Cloud SQL
- 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:
-
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 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
No console Google Cloud , acesse a página Backups em cofre.
Clique em Programar backup.
Na lista Tipo de recurso, selecione Cloud SQL.
Na lista Projeto, selecione um projeto em que a instância do Cloud SQL está localizada.
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 Cloud SQL 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 as instâncias do Cloud SQL.
Clique em Concluído.
Revise os detalhes do backup e clique em Programar.
gcloud
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
No console Google Cloud , acesse a página Backups em cofre.
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
No console Google Cloud , acesse a página Backups em cofre.
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.
Selecione o recurso para fazer backup. No menu
ou na página de detalhes do recurso, selecione Criar backup sob demanda.Na janela Criar um backup sob demanda, selecione uma regra de backup para usar e clique em Criar.
Para conferir o status do job de backup sob demanda, clique em Notificações.
gcloud
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
No console Google Cloud , acesse a página Backups em cofre.
Clique no nome do banco de dados de que você quer remover um plano de backup.
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.