Gerenciar backups aprimorados

Os backups aprimorados permitem usar o serviço de Backup e DR com as instâncias do Cloud SQL para gerenciar seus backups. É possível ativar backups avançados para qualquer instância associando-a a um plano de backup do Backup e DR. Também é possível gerenciar backups avançados para sua instância fazendo o seguinte:

Para mais informações sobre como os backups avançados funcionam e a integração deles com o Backup e DR, consulte Backups avançados. Para mais informações sobre como os backups funcionam no Cloud SQL, consulte Visão geral do Cloud SQL.

Antes de começar

Antes de gerenciar backups avançados para suas instâncias do Cloud SQL, faça o seguinte:

Ativar a API Backup e DR

Para usar backups avançados com suas instâncias do Cloud SQL, primeiro é necessário ativar a API Backup e DR:

Ativar a API Backup e DR

Permissões necessárias

As permissões a seguir são necessárias para configurar backups avançados para suas instâncias do Cloud SQL:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForCloudSqlInstance
  • backupdr.backupPlanAssociations.fetchForCloudSqlInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForCloudSqlInstance
  • backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
  • backupdr.backupPlanAssociations.deleteForCloudSqlInstance
  • backupdr.backupPlanAssociations.updateForCloudSqlInstance
  • backupdr.backupPlans.useForCloudSqlInstance
  • backupdr.bvdataSources.get
  • backupdr.bvdataSources.list

Para mais informações sobre essas permissões, consulte Papéis e permissões de backup e DR.

Ativar backups aprimorados

É possível associar planos de backup avançados a instâncias primárias que têm réplicas de recuperação de desastres (DR).

Para ativar os backups avançados na sua instância, faça o seguinte:

  1. Identifique o backup vault e o plano de backup que você quer usar.
  2. Associe sua instância do Cloud SQL ao plano de backup.

Para mais informações sobre backups avançados, consulte Sobre backups do Cloud SQL.

Identifique o plano de backup que você quer usar

Para associar sua instância do Cloud SQL a um plano de backup, primeiro crie ou identifique o plano de backup que você quer usar. O plano escolhido define a programação de backup da instância e as configurações de retenção de registros.

Para criar um plano de backup, primeiro use o serviço de Backup e DR para criar um vault em que os backups serão armazenados e, em seguida, crie o plano no console de Backup e DR.

O backup vault usado pelo plano de backup pode estar em uma região diferente da instância. Para mais informações, consulte Backups entre regiões.

Depois de identificar o plano de backup que você quer associar, use o nome dele para associá-lo à instância do Cloud SQL.

Associar um plano de backup a uma instância do Cloud SQL

Para associar um plano de backup a uma instância do Cloud SQL, você precisa do nome do plano de backup que quer usar. Para mais informações sobre como encontrar o nome do plano de backup, consulte Criar e gerenciar um plano de backup.

Instâncias com réplicas de DR: se a instância principal tiver uma réplica de DR designada, verifique se o plano de backup selecionado tem a recuperação pontual (PITR, na sigla em inglês) ativada (log_retention_days > 0). Não é possível anexar planos de backup diretamente a instâncias de réplica. Para proteger uma réplica de DR, anexe o plano à instância principal ou anexe um plano depois de promover a réplica a uma instância principal. Quando você promove uma instância gerenciada pelo Backup e DR durante uma operação de failover, alternância ou promoção, o Cloud SQL aciona um backup operacional do Backup e DR. Se o backup operacional falhar, o Cloud SQL vai criar um backup padrão (nativo).

Console

Para associar um plano de backup à instância do Cloud SQL, faça o seguinte:

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância que você quer associar ao plano de backup. Para abrir a página Visão geral da instância, clique no nome dela.

  3. Clique em Editar.

  4. Na seção Proteção de dados, em Nível de backup, selecione Nível de backup avançado.

  5. Na seção Plano de backup, clique em Selecionar.

  6. Na janela Selecionar um plano de backup, faça o seguinte:

    1. Em Projeto, clique em Procurar, pesquise e selecione o projeto de Backup e DR que contém o plano de backup.

    2. Depois de selecionar o projeto, você verá uma lista de todos os planos de backup disponíveis. Encontre o plano de backup que você quer usar e clique em Selecionar.

  7. Clique em Salvar.

    A instância está ativada para backups aprimorados e usando as configurações de backup e retenção do plano de backup associado.

gcloud

Para associar um plano de backup à instância do Cloud SQL, execute o comando gcloud backup-dr backup-plan-associations create:

gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME
--project=PROJECT_ID
--resource=INSTANCE_ID
--backup-plan=BACKUP_PLAN_NAME
--resource-type=sqladmin.googleapis.com/Instance
--location=REGION_ID

Substitua:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup.
  • PROJECT_ID: o ID do projeto da instância.
  • INSTANCE_ID: o ID da instância que você quer associar ao plano de backup.
  • BACKUP_PLAN_NAME: o nome do plano de backup que você quer usar. Para mais informações, consulte Identificar o plano de backup que você quer usar.
  • REGION_ID: a região da instância.

REST v1

Para criar uma associação de plano de backup, use o método backupPlanAssociations na API Backup e DR.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • backup-plan-association-id: o ID da associação do plano de backup
  • resource-name: o nome completo da instância do Cloud SQL, no formato projects/project-id/locations/location/instances/instance-name
  • backup-plan-name: o nome do plano de backup, no formato projects/project-id/backupPlans/backup-plan-name.

Método HTTP e URL:

POST https://backupdr.googleapis.com/v1/projects/project-id/locations/location/backupPlanAssociations

Corpo JSON da solicitação:

{
  "name": "backup-plan-association-id",
  "resourceType": "sql.googleapis.com/Instance",
  "resource": "resource-name",
  "backupPlan": "backup-plan-name"
}

Para enviar a solicitação, expanda uma destas opções:

Você vai receber uma resposta JSON semelhante a esta:

Gerenciar backups aprimorados

Depois que a instância estiver ativada para backups avançados e um plano de backup estiver associado à instância, será possível mudar o plano de backup associado, realizar um backup on demand, visualizar todos os backups no backup vault ou encontrar e validar fontes de dados para PITR.

Para gerenciar um plano de backup, consulte Criar e gerenciar um plano de backup. Para gerenciar um backup vault, consulte Criar e gerenciar um backup vault.

Mudar o plano de backup associado à instância

É possível mudar o plano de backup a ser usado com a instância do Cloud SQL. Para mudar o plano de backup associado à instância do Cloud SQL, o novo plano precisa estar no mesmo backup vault que o plano atual e na mesma região que a instância do Cloud SQL.

Para mudar para um novo plano de backup, faça o seguinte:

Console

Para associar o novo plano de backup à sua instância, faça o seguinte:

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer mudar o plano de backup. Para abrir a página Visão geral da instância, clique no nome dela.

  3. Clique em Editar.

  4. Na seção Proteção de dados, em Nível de backup, selecione Nível de backup avançado.

  5. Clique no botão Alterar.

  6. Na janela Selecionar um plano de backup, escolha o novo plano.

  7. Clique em Salvar.

    Sua instância está ativada para backups aprimorados e está usando o novo plano de backup que você selecionou.

gcloud

Para associar o novo plano de backup à instância, execute o comando gcloud backup-dr backup-plan-associations create:

gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME
--project=PROJECT_ID
--resource=INSTANCE_ID
--backup-plan=BACKUP_PLAN_NAME
--resource-type=sqladmin.googleapis.com/Instance
--location=REGION_ID

Substitua:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup.
  • PROJECT_ID: o ID do projeto da instância.
  • INSTANCE_ID: o ID da instância.
  • BACKUP_PLAN_NAME: o nome do plano de backup. Para mais informações, consulte Identificar o plano de backup que você quer usar.
  • REGION_ID: a região da instância.

REST v1

Depois de excluir a associação do plano de backup, associe o novo plano usando o método backupPlanAssociations na API Backup e DR.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • backup-plan-association-id: o ID da associação do plano de backup
  • resource-name: o nome completo da instância do Cloud SQL, no formato projects/project-id/locations/location/instances/instance-name
  • backup-plan-name: o nome do plano de backup, no formato projects/project-id/backupPlans/backup-plan-name.

Método HTTP e URL:

POST https://backupdr.googleapis.com/v1/projects/project-id/locations/location/backupPlanAssociations

Corpo JSON da solicitação:

{
  "name": "backup-plan-association-id",
  "resourceType": "sql.googleapis.com/Instance",
  "resource": "resource-name",
  "backupPlan": "backup-plan-name"
}

Para enviar a solicitação, expanda uma destas opções:

Você vai receber uma resposta JSON semelhante a esta:

Fazer um backup on demand

É possível realizar um backup on demand para uma instância do Cloud SQL com um plano de backup associado usando o console do Google Cloud , a CLI gcloud ou a API Cloud SQL.

Console

Para realizar um backup sob demanda de uma instância com backups avançados ativados, faça o seguinte:

  1. No console do Google Cloud , acesse a página Backups do Cloud SQL.

    Acessar Backups do Cloud SQL

  2. Clique em Criar backup.

  3. Na janela Criar um backup sob demanda, siga um destes procedimentos:

    • Em Escolher uma regra de backup, selecione o tipo de backup sob demanda que você quer fazer. A regra de backup define o período de armazenamento do backup sob demanda.
    • Selecione a opção Com base no período de retenção personalizado para especificar um período de armazenamento personalizado para o backup. Ao usar um período de retenção personalizado, considere as seguintes regras:
      • Lógica do intervalo de retenção: o intervalo de retenção permitido é determinado pela interseção da retenção mínima obrigatória do backup vault e da configuração de retenção personalizada máxima do plano de backup.
      • Padrões implícitos: se max_custom_on_demand_retention_days não estiver definido explicitamente no plano de backup, o serviço vai usar um limite superior padrão do período mínimo de retenção obrigatório do backup vault, mais 30 dias.
      • Limite máximo: independentemente da configuração, a retenção máxima permitida para qualquer backup personalizado sob demanda é de 10 anos (3.653 dias).
  4. Clique em Criar.

    O backup sob demanda foi criado.

gcloud

Para realizar um backup sob demanda de uma instância com backups avançados ativados, execute o comando gcloud backup-dr backup-plan-associations trigger-backup:

gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME
--backup-rule-id=BACKUP_RULE_ID
--project=PROJECT_ID
--location=BACKUP_VAULT_LOCATION
--custom-retention-days=CUSTOM_RETENTION
[--no-async]

Substitua:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup da instância do Cloud SQL. Para encontrar uma lista de todos os planos de backup associados a uma instância do Cloud SQL, consulte Listar todas as associações de planos de backup.
  • BACKUP_RULE_ID: o nome da regra de backup para o tipo de backup on demand que você quer fazer (por exemplo, rule-daily).
  • PROJECT_ID: o ID do projeto da instância.
  • BACKUP_VAULT_LOCATION: o local do backup vault associado ao plano de backup.

REST v1

Para acionar um backup sob demanda para sua instância do Cloud SQL, use o método backupPlanAssociations na API Backup and DR.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • backup-rule-id: o ID da regra de backup para que um backup seja acionado.

Método HTTP e URL:

GET https://backupdr.googleapis.com/v1/projects/project-id/locations/location/backupPlanAssociations/backup-plan-association-id:triggerBackup

Corpo JSON da solicitação:

{
  "ruleId": "backup-rule-id"
}

Para enviar a solicitação, expanda uma destas opções:

Você vai receber uma resposta JSON semelhante a esta:

Listar todos os backups em um backup vault da sua instância

É possível listar todos os backups no backup vault da sua instância do Cloud SQL usando o console do Google Cloud , a CLI gcloud ou a API Cloud SQL.

Console

  1. No console do Google Cloud , acesse a página Backups do Cloud SQL.

    Acessar Backups do Cloud SQL

  2. No menu suspenso Nível de backup, selecione Nível avançado e, na lista Backup vault, selecione o backup vault que contém o backup que você quer usar.

    Todos os backups disponíveis no backup vault da instância selecionada são exibidos.

gcloud

Para listar todos os backups disponíveis para sua instância do Cloud SQL no backup vault, primeiro encontre o data-source da instância do Cloud SQL e execute o comando gcloud backup-dr backups list.

Para encontrar o data-source da instância, execute o comando gcloud backup-dr data-source-references fetch-for-resource-type:

gcloud backup-dr data-source-references
fetch-for-resource-type sqladmin.googleapis.com/Instance
--location=BACKUP_VAULT_LOCATION | grep INSTANCE_NAME

Substitua:

  • BACKUP_VAULT_LOCATION: o local do backup vault. Se você usar backups entre regiões, esse local será diferente da região da sua instância do Cloud SQL.
  • INSTANCE_NAME: o nome da instância do Cloud SQL.

Para listar todos os backups em um backup vault da sua instância, execute o comando gcloud backup-dr backups list:

gcloud backup-dr backups list
--data-source=DATA_SOURCE
--location=BACKUP_VAULT_LOCATION
--backup-vault=BACKUP_VAULT_NAME

Substitua:

  • DATA_SOURCE: o data-source da sua instância do Cloud SQL.
  • BACKUP_VAULT_LOCATION: o local do backup vault, que pode ser diferente da região da instância do Cloud SQL.
  • BACKUP_VAULT_NAME: o nome do backup vault associado ao plano de backup.

REST v1

Para listar todos os backups disponíveis para sua instância do Cloud SQL no backup vault, primeiro encontre a fonte de dados da sua instância do Cloud SQL e, em seguida, use o nome da fonte de dados para acessar todos os backups.

Encontrar a fonte de dados da instância

Para encontrar a fonte de dados da instância, use o método dataSource.References na API Backup e DR.

Método HTTP e URL:

GET https://backupdr.googleapis.com/v1/projects/project-id/locations/location/dataSourceReferences:fetchForResourceType?filter=dataSourceGcpResourceInfo.gcp_resourcename="projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "resourceType": "sqladmin.googleapis.com/Instance"
}

Para enviar a solicitação, expanda uma destas opções:

Você vai receber uma resposta JSON semelhante a esta:

Listar os backups da instância

Para listar os backups da sua instância usando o ID da fonte de dados, use o método backupVaults.dataSources.backups na API Backup e DR.

Método HTTP e URL:

GET https://backupdr.googleapis.com/v1/projects/project-id/locations/location/backupVaults/backup-vault-id/dataSources/data-source-id/backups

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Encontrar e validar fontes de dados para PITR

Se você não souber a fonte de dados exata associada à sua instância ou se várias fontes de dados se referirem à sua instância (por exemplo, se você tiver trocado recentemente de backup vault ou promovido uma réplica de DR), será necessário encontrar e validar a fonte de dados.

Antes de tentar uma recuperação pontual (PITR) para um carimbo de data/hora específico, localize a fonte de dados associada à instância do Cloud SQL. Você também precisa confirmar se existe um backup com um createTime anterior ao carimbo de data/hora de restauração de destino:

  1. Encontre a referência da fonte de dados para a instância.
  2. Valide os backups disponíveis para o carimbo de data/hora de restauração de destino.
  3. Execute uma recuperação pontual.

Etapa 1: encontrar a referência da fonte de dados para a instância

Para descobrir a fonte de dados associada à instância do Cloud SQL, execute o comando gcloud backup-dr data-source-references fetch-for-resource-type:

gcloud backup-dr data-source-references \
    fetch-for-resource-type sqladmin.googleapis.com/Instance \
    --project=INSTANCE_PROJECT_ID \
    --location=BACKUP_VAULT_LOCATION \
    --filter="dataSourceGcpResource.cloudSqlInstanceProperties.name =
      'INSTANCE_NAME'"

Substitua:

  • INSTANCE_PROJECT_ID: o ID do projeto da instância do Cloud SQL
  • BACKUP_VAULT_LOCATION: o local do backup vault, que pode ser diferente da região da instância do Cloud SQL se você usar backups entre regiões
  • INSTANCE_NAME: o nome da instância do Cloud SQL

Na resposta ao comando, anote o ID da fonte de dados. Você vai precisar desse ID na próxima etapa.

Se várias instâncias no projeto compartilharem o mesmo nome (por exemplo, se você excluiu e recriou uma instância), o comando vai listar as referências de fonte de dados para todas elas. Para isolar a instância exata, inclua o carimbo de data/hora de criação na consulta de filtro:

gcloud backup-dr data-source-references \
    fetch-for-resource-type sqladmin.googleapis.com/Instance \
    --project=INSTANCE_PROJECT_ID \
    --location=BACKUP_VAULT_LOCATION \
    --filter="dataSourceGcpResource.cloudSqlInstanceProperties.name =
      'INSTANCE_NAME' AND
      dataSourceGcpResource.cloudSqlInstanceProperties.instanceCreateTime =
      'INSTANCE_CREATE_TIME'"

Etapa 2: validar backups para o carimbo de data/hora de destino

Para encontrar os horários de recuperação mais antigos e mais recentes, execute o comando gcloud sql instances get-latest-recovery-time. Em seguida, execute o comando gcloud backup-dr backups list para listar os backups na fonte de dados e confirmar se há um backup válido com um createTime anterior ao ponto de restauração de destino:

gcloud backup-dr backups list \
    --data-source=DATA_SOURCE_ID \
    --backup-vault=BACKUP_VAULT_NAME \
    --location=BACKUP_VAULT_LOCATION \
    --project=BACKUP_VAULT_PROJECT_ID \
    --filter="createTime < 'PITR_TIMESTAMP' AND
      createTime >= 'EARLIEST_RECOVERY_TIMESTAMP'"

Substitua:

  • DATA_SOURCE_ID: o ID da fonte de dados da Etapa 1.
  • BACKUP_VAULT_NAME: o nome do backup vault
  • BACKUP_VAULT_LOCATION: o local do backup vault
  • BACKUP_VAULT_PROJECT_ID: o ID do projeto do backup vault
  • PITR_TIMESTAMP: o carimbo de data/hora de restauração de destino no formato RFC 3339.
  • EARLIEST_RECOVERY_TIMESTAMP: o carimbo de data/hora de recuperação mais antigo retornado pelo comando gcloud sql instances get-latest-recovery-time.

Etapa 3: executar uma recuperação pontual

Depois de identificar a fonte de dados, prossiga com o comando PITR. Para mais informações, consulte Realizar uma PITR usando o backup vault.

Desativar backups otimizados

Para desativar os backups avançados, volte para a opção de backups padrão na instância do Cloud SQL. Isso exclui a associação entre o plano de backup e a instância.

Mudar a instância para backups padrão

Console

Para desativar os backups avançados e voltar a usar a opção de backups padrão na instância, faça o seguinte:

  1. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer mudar a opção de backup. Para abrir a página Visão geral da instância, clique no nome dela.

  3. Clique em Editar.

  4. Na seção Proteção de dados, em Nível de backup, selecione o Nível de backup padrão. Atualize as configurações de backups padrão da instância conforme necessário.

  5. Clique em Salvar.

    O plano de backup associado à instância é excluído, e ela passa a ser gerenciada pela opção de backups padrão, gerenciada pelo Cloud SQL.

gcloud

Para desativar os backups avançados e voltar a usar a opção de backups padrão, execute o comando gcloud backup-dr backup-plan-associations delete:

gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME
--location=BACKUP_VAULT_LOCATION

Substitua:

  • BACKUP_PLAN_ASSOCIATION_NAME: o nome da associação do plano de backup que você quer excluir.
  • BACKUP_VAULT_LOCATION: o local do backup vault.

REST v1

Para desativar os backups avançados, remova a associação do plano de backup usando o método backupPlanAssociations na API Backup e DR.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • backup-plan-association-id: o ID da associação do plano de backup, no formato projects/project-id/locations/location/backupPlanAssociations/backup-plan-association-id

Método HTTP e URL:

POST https://backupdr.googleapis.com/v1/projects/project-id/locations/location/backupPlanAssociations/delete

Corpo JSON da solicitação:

{
  "name": "backup-plan-association-id",
}

Para enviar a solicitação, expanda uma destas opções:

Você vai receber uma resposta JSON semelhante a esta:

A seguir