Nesta página, descrevemos como programar e desativar backups automáticos, criar e gerenciar backups sob demanda e visualizar backups para sua instância do Cloud SQL.
Para mais informações sobre como os backups funcionam, consulte Visão geral dos backups.
Criar um backup sob demanda
Para criar um backup sob demanda:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Clique em Criar backup.
- Na página Criar backup, adicione uma descrição, se necessário, e clique em Criar.
gcloud
Crie o backup:
gcloud sql backups create \ --async \ --instance=INSTANCE_NAME
Para fornecer uma descrição do backup, use o parâmetro
--description
.
Para criar um backup em um local personalizado:
gcloud sql backups create \ --async \ --instance=INSTANCE_NAME \ --location=BACKUP_LOCATION
REST v1
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Programar backups automatizados
Para programar backups automáticos de uma instância:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Clique em Editar, ao lado de Configurações.
- Escolha uma janela de tempo para fazer o backup automático dos dados.
- Clique em Salvar.
gcloud
-
Edite a instância para especificar o horário de início do backup:
O parâmetrogcloud sql instances patch INSTANCE_NAME --backup-start-time=HH:MM
backup-start-time
é especificado no formato de 24 horas, no fuso horário UTC±00 e especifica o início de uma janela de backup de quatro horas. Os backups podem começar a qualquer momento durante a janela de backup. -
Confirme as alterações:
Na seçãogcloud sql instances describe INSTANCE_NAME
backupConfiguration
, confirme se você vêenabled: true
e a hora especificada.
Terraform
Para criar um backup para um banco de dados, use um recurso do Terraform.
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto do Google Cloud, conclua as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf
, por exemplo,main.tf
. Neste tutorial, o arquivo é chamado demain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tf
recém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as alterações.
-
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade
:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
- Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento
deletion_protection
comofalse
.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yes
no prompt:terraform destroy
REST v1
Antes de usar os dados da solicitação, faça as seguintes substituições:
- PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância
- INSTANCE_NAME: o nome da instância primária ou de réplica de leitura que você está configurando para alta disponibilidade
- START_TIME: a hora (em horas e minutos)
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Corpo JSON da solicitação:
{ "settings": { "backupConfiguration": { "startTime": "START_TIME", "enabled": true, "binaryLogEnabled": true } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Definir um local personalizado para backups
Use um local de backup personalizado somente se exigido pela regulamentação. Se não for necessário, use o local padrão de backup multirregional.
É possível usar um local personalizado para backups automáticos e sob demanda. Para uma lista completa de valores de local válidos, consulte Locais de instância.
Para atualizar uma instância com um local personalizado:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- No menu de navegação SQL, selecione Backups.
- Ao lado de Configurações, clique em Editar.
- Na seção Backups automatizados, expanda Opções avançadas.
- Clique em Multirregião (padrão) ou Região.
- Selecione o local no menu suspenso Local.
- Clique em Salvar.
gcloud
Para informações de referência, consulte gcloud sql instances patch.
gcloud sql instances patch INSTANCE_NAME \ --backup-location=BACKUP_LOCATION
Terraform
Para especificar um local personalizado para um backup de instância de banco de dados, use um recurso do Terraform.
REST v1
Use o parâmetro
settings.backupConfiguration.location
da instância para o
local do backup.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- region: a região do projeto
- backup-region: a região de backup
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Corpo JSON da solicitação:
{ "region": "region" "settings": { "backupConfiguration": { "location": "backup-region", "enabled": true, } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o parâmetro
settings.backupConfiguration.location
da instância para o
local do backup.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- region: a região do projeto
- backup-region: a região de backup
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Corpo JSON da solicitação:
{ "region": "region" "settings": { "backupConfiguration": { "location": "backup-region", "enabled": true, } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Visualizar uma lista de backups
Para visualizar uma lista de backups e detalhes sobre um backup, use as seguintes opções.
O console do Google Cloud não exibe backups ignorados ou com falha no histórico de backup. Para ver os backups ignorados, use gcloud
ou a API.
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL para ver os backups recentes, o horário de criação e o tipo de backup.
gcloud
-
Liste os backups da instância:
gcloud sql backups list \ --instance INSTANCE_NAME
Você pode filtrar e controlar os resultados usando os parâmetros padrão da lista. Para uma lista completa, consulte a página de referência do comando gcloud sql backups list.
-
Visualize os detalhes de um backup especificando o backup
ID
na saída do comandobackups list
.gcloud sql backups describe BACKUP_ID \ --instance INSTANCE_NAME
REST v1
É possível também usar o APIs Explorer na página BackupRuns:list para enviar a solicitação da API REST.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
É possível também usar o APIs Explorer na página BackupRuns:list para enviar a solicitação da API REST.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Visualizar uma lista de backups durante uma interrupção
Quando uma instância está em uma região com interrupção, só é possível ver
os backups dela usando um caractere curinga (-
) com a API backupRuns.list
.
O caractere curinga retorna todos os backups no projeto. Consulte
Como restaurar para uma instância diferente.
Quando há uma interrupção em uma região em que uma instância tem chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) ativadas, não é possível restaurar os backups dessa instância para uma região diferente. O motivo é que o Cloud SQL usa chaves regionais do Cloud KMS para criptografia quando a CMEK está ativada na instância. Para restaurar backups de uma instância da CMEK, o Cloud SQL precisa ter acesso à chave CMEK. Em uma interrupção regional, não há acesso às chaves do Cloud KMS nessa região.
gcloud
-
Liste os backups de cada instância em um projeto:
gcloud sql backups list --instance -
O comando retorna informações semelhantes às seguintes:
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "backup-id", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns/backup-id", "location": "us" "backupKind": "SNAPSHOT" }
- Encontre o backup da instância que você precisa. Para restaurar esse backup, consulte Como restaurar para uma instância diferente.
REST v1
- Liste todos os backups em um projeto:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância ou
-
para uma lista de todos os backups no projeto
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/-/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
- Encontre o backup da instância que você precisa. Para restaurar esse backup, consulte Como restaurar para uma instância diferente.
REST v1beta4
- Liste todos os backups em um projeto:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância ou
-
para uma lista de todos os backups no projeto
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1beta4/projects/project-id/instances/-/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
- Encontre o backup da instância que você precisa. Para restaurar esse backup, consulte Como restaurar para uma instância diferente.
Ver os locais de backup
Para ver os locais dos backups feitos para uma instância, use backupRuns
:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Na lista de backups, a coluna Local lista o tipo de local (multirregião ou região) e a multirregião ou região específica de cada backup.
gcloud
Para informações de referência, consulte gcloud sql instances describe.
-
Liste os backups da instância:
gcloud sql backups list \ --instance INSTANCE_NAME
Você pode filtrar e controlar os resultados usando os parâmetros padrão da lista. Para uma lista completa, consulte a página de referência do comando gcloud sql backups list.
- Para listar os detalhes de um backup, use o
ID
na saída do comandobackups list
.gcloud sql backups describe BACKUP_ID \ --instance INSTANCE_NAME
REST v1
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Nos exemplos anteriores:REGION
é a região da instância original.BACKUP_LOCATION
é o local em que o Cloud SQL armazenará o backup.
REST v1beta4
Antes de usar os dados da solicitação, faça as seguintes substituições:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Nos exemplos anteriores:REGION
é a região da instância original.BACKUP_LOCATION
é o local em que o Cloud SQL armazenará o backup.
Conferir o tamanho do backup
É possível conferir o tamanho de um backup de uma instância do Cloud SQL usando a gcloud CLI ou a API.
gcloud
Para conferir uma lista de todos os backups associados a um projeto do Google Cloud, use o comando
gcloud sql backups list
:gcloud sql backups list
Para conferir o tamanho de um backup, use o comando
gcloud sql backups describe
:gcloud sql backups describe BACKUP_ID \ --instance=INSTANCE_NAME \ --project=PROJECT_ID
Faça as seguintes substituições:
- BACKUP_ID: o ID do backup. Esse ID é extraído da
saída da execução do comando
gcloud sql backups list
. - INSTANCE_NAME: o nome da instância.
- PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância.
Na saída, o parâmetro
maxChargeableBytes
mostra o tamanho do backup (em bytes).- BACKUP_ID: o ID do backup. Esse ID é extraído da
saída da execução do comando
REST
Receber uma lista de backups
Use este exemplo para receber uma lista de todos os backups associados a um projeto do Google Cloud. Para uma lista completa de parâmetros dessa chamada, consulte a página backupRuns.list.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância
- INSTANCE_NAME: o nome da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Conferir detalhes sobre um backup
Use este exemplo para conferir os detalhes de um backup, incluindo o tamanho. Para uma lista completa de parâmetros dessa chamada, consulte a página backupRuns.get.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância.
- INSTANCE_NAME: o nome da instância.
- BACKUP_ID: o ID do backup. Você recebe esse ID na saída da execução da chamada anterior.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns/BACKUP_ID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Definir retenção de backups automatizados
Para definir o número de backups automáticos que serão mantidos:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Clique em Editar.
- Na seção Automatizar backups, expanda Opções avançadas.
-
Informe o Número de backups a serem armazenados por vez.
O número não pode ser menor que o padrão (sete).
- Clique em Salvar.
gcloud
Edite a instância para definir o número de backups automáticos a serem mantidos: O número não pode ser menor que o padrão (sete).
gcloud sql instances patch INSTANCE_NAME \ --retained-backups-count=NUM_TO_RETAIN
Terraform
Para especificar o número de backups automatizados que serão retidos para uma instância de banco de dados, use um recurso do Terraform.
REST v1beta4
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- unit: opcional: a unidade de retenção pode ser um número inteiro ou uma string. Os valores compatíveis (e padrão) atualmente são 1 ou "COUNT".
- num-to-retain: O número de backups automáticos a serem mantidos. O número não pode ser menor que o padrão (sete).
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Corpo JSON da solicitação:
{ "settings": { "backupConfiguration": { "backupRetentionSettings": { "retentionUnit": unit, "retainedBackups": "num-to-retain" } } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Excluir um backup
Você pode excluir backups automáticos e sob demanda.
A exclusão de um backup pode não liberar um espaço igual ao tamanho do backup. Isso ocorre porque os backups são incrementais. Portanto, a exclusão de um backup anterior pode transferir uma parte do conteúdo para um backup mais recente a fim de preservar a integridade do novo backup.Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Clique em "Mais ações" no backup que você quer excluir.
- Selecione Excluir.
- Na janela "Excluir backup", digite
Delete
no campo e clique em Excluir.
gcloud
Para excluir um backup de uma instância do Cloud SQL:
gcloud beta sql backups delete BACKUP_ID \ --instance INSTANCE_NAME
Para uma lista completa de parâmetros, consulte a página de referência do comando gcloud beta sql backups delete.
REST v1
- Liste os backups para receber o código do que você quer excluir:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
-
Exclua o backup:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- backup-id: o ID do backup
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns/backup-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
- Liste os backups para receber o código do que você quer excluir:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
-
Exclua o backup:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- backup-id: o ID do backup
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Desativar backups automatizados
Para desativar backups automáticos de uma instância:
Console
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Backups no menu de navegação do SQL.
- Clique em Gerenciar backups automáticos
- Desmarque Automatizar backups.
- Clique em Salvar.
gcloud
Edite a instância para desativar os backups:
gcloud sql instances patch INSTANCE_NAME \ --no-backup
REST v1
REST v1beta4
A seguir
- Aprenda a fazer backup dos dados.
- Aprenda a restaurar dados.
- Saiba como restaurar dados de um backup.