Este documento mostra como restaurar uma instância do Cloud SQL de um backup vault usando o Google Cloud console ou a Google Cloud CLI. Ele descreve como restaurar para uma instância nova ou atual, substituir uma instância de origem ou executar uma recuperação pontual (PITR).
Para mais informações sobre os recursos conceituais do serviço de backup e DR, consulte a visão geral do serviço de backup e DR. Se você quiser fazer backup dos seus bancos de dados primeiro, consulte Fazer backup de instâncias do Cloud SQL em um backup vault.
Recuperação de desastres e resiliência
O serviço de backup e DR oferece opções de recuperação de desastres para suas instâncias do Cloud SQL. Os backups armazenados em um backup vault são independentes do ciclo de vida e do projeto da instância de origem.
Exclusão de projetos: é possível restaurar backups mesmo que o projeto de workload original que contém a instância de origem do Cloud SQL tenha sido excluído. Isso ocorre porque as permissões de descriptografia necessárias para backups criptografados com CMEK são concedidas ao agente de serviço de backup e DR no projeto do backup vault, não no projeto de workload. Isso garante que seus backups permaneçam acessíveis e restauráveis, desde que o backup vault e a chave do Cloud Key Management Service estejam intactos e o agente de serviço tenha permissões.
Destinos de restauração flexíveis: é possível restaurar para uma nova instância no mesmo projeto ou em um projeto diferente, oferecendo flexibilidade em cenários de recuperação.
Antes de começar
Antes de restaurar uma instância do Cloud SQL de um backup vault, verifique se você tem os papéis necessários.
Para receber as permissões necessárias para restaurar uma instância do Cloud SQL de um backup vault, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para criar o destino da restauração:
administrador do Cloud SQL (
roles/cloudsql.admin) no projeto em que a instância de destino está localizada -
Para ler o backup do vault:
usuário de restauração de backup e DR (
roles/backupdr.restoreUser) no projeto em que os backups de origem existem
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 Cloud SQL de um backup vault. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para restaurar uma instância do Cloud SQL de um backup vault:
-
Para criar o destino da restauração:
cloudsql.instances.restore -
Para ler o backup do vault:
backupdr.bvbackups.useReadOnlyForCloudSqlInstance
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Restaurar uma instância do Cloud SQL do backup mais recente
Use as instruções a seguir para restaurar uma instância do Cloud SQL:
Console
Noconsole, acesse a página Backups armazenados. Google Cloud
A página Backups armazenados lista apenas os recursos de dados que têm planos de backup aplicados e os backups armazenados em um backup vault nesse projeto.
Selecione o backup que você quer restaurar. Na página de detalhes do backup ou no menu , selecione Restaurar.
A página de restauração mostra onde você seleciona as seguintes opções de restauração:
O tipo de recurso é preenchido previamente com
Cloud SQL.Em Nome do recurso, selecione a instância do Cloud SQL a ser restaurada.
Quando você clica em Backup, um painel é aberto mostrando todos os backups disponíveis. Selecione o backup específico a ser restaurado.
Em Escolher o destino da restauração, selecione o projeto em que você quer restaurar a instância do Cloud SQL.
Clique em Continuar.
Quando você receber a solicitação Escolher o destino da restauração, faça uma seleção entre as seguintes opções:
- Restaurar para uma nova instância: cria uma nova instância com base na configuração armazenada no backup. É possível personalizar a instância após a conclusão da restauração. Forneça um novo ID da instância usando letras minúsculas, números e hifens. Comece com uma letra.
Substituir uma instância atual: selecione uma instância atual para substituir na lista de instâncias disponíveis.
Substituir a instância de origem: substitui a instância atual. Todos os dados atuais na instância selecionada serão substituídos, incluindo os registros de recuperação pontual anteriores. Os dados substituídos não podem ser recuperados posteriormente. Isso não é recomendado para uso em produção.
gcloud
Encontre a fonte de dados que contém o backup que você quer restaurar. É possível encontrar a fonte de dados em um projeto de instância do Cloud SQL ou em um projeto de backup vault:
No projeto da instância do Cloud SQL: use
data-source-referencegcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \ --location=LOCATION \ --project=CSQL_INSTANCE_PROJECT_ID \ --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \ --format="table(RESOURCE_NAME,DATA_SOURCE)"Substitua:
LOCATION: o local do backup vault.
CSQL_INSTANCE_ID: o nome do banco de dados da instância do Cloud SQL.
CSQL_INSTANCE_PROJECT_ID: o projeto que contém a instância do Cloud SQL.
Em um projeto de backup vault: use
data-sourcegcloud backup-dr data-sources list \ --location=LOCATION \ --project=BACKUP_VAULT_PROJECT_ID \ --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \ --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"Substitua:
LOCATION: o local do backup vault.
CSQL_INSTANCE_ID: o nome da instância do Cloud SQL.
CSQL_INSTANCE_PROJECT_ID: o projeto que contém a instância do Cloud SQL.
BACKUP_VAULT_PROJECT_ID: o projeto que contém o backup vault.
Liste e selecione o backup a ser restaurado listando todos os backups na fonte de dados usando o comando
gcloud backup-dr backups list.gcloud backup-dr backups list --data-source=DATA_SOURCE \ --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"Restaure uma instância do Cloud SQL usando o comando
gcloud sql backups restore:gcloud sql backups restore BACKUP_NAME \ --restore-instance=RESTORE_INSTANCE \ --project=RESTORE_PROJECT --region=RESTORE_REGIONSubstitua:
BACKUP_NAME: o nome do backup vault do qual você quer restaurar os dados.
RESTORE_INSTANCE: o nome da instância de destino do Cloud SQL.
RESTORE_PROJECT: o projeto em que você quer restaurar a instância do Cloud SQL.
RESTORE_REGION: a região em que você quer restaurar para uma nova instância do Cloud SQL. Essa opção é opcional para backups regionais. Não use ao restaurar para uma instância atual.
Opcional: para substituir outras propriedades, consulte Visão geral dos comandos da CLI do Google Cloud do serviço de backup e DR.
Restaurar uma instância do Cloud SQL para um momento diferente
Use as instruções a seguir para restaurar uma instância do Cloud SQL para um momento específico. Ao restaurar para um momento específico, você cria um clone do Cloud SQL.
Noconsole, acesse a página Backups armazenados. Google Cloud
Na parte de cima da tabela, selecione Filtrar tabela e clique em Tipo de recurso. Selecione Cloud SQL. Isso limita a exibição apenas às instâncias do Cloud SQL que têm planos de backup aplicados e os backups armazenados em um backup vault dentro de um projeto.
Clique em Restaurar de um momento. A página Criar um clone do Cloud SQL é aberta.
Siga os procedimentos em Executar a PITR usando o backup vault.
A seguir
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.