Visão geral dos backups do Cloud SQL

Com o Cloud SQL, é possível fazer backup das instâncias sob demanda ou automaticamente usando uma programação de backup. As configurações de backup disponíveis para sua instância dependem da opção de backup dela. Os backups do Cloud SQL são incrementais e ajudam a restaurar dados perdidos na instância do Cloud SQL. Os backups também são criptografados por padrão usando chaves de criptografia gerenciadas pelo Google ou pelo cliente (CMEK). Com os backups, você pode:

  • Restaure a instância para um estado anterior se ela estiver enfrentando um problema.
  • Configure a recuperação de desastres (DR) criando uma nova instância usando um backup em uma região ou zona diferente.
  • Crie várias instâncias usando backups para ajudar no desenvolvimento, teste e migração.

Para manter esses backups, defina as configurações de retenção de backup da sua instância. As configurações de retenção podem variar de acordo com a edição do Cloud SQL e a opção de backup da instância. Além disso, você também pode reter backups após a exclusão da instância para permitir a restauração dela depois da exclusão.

Opções de backup

O Cloud SQL oferece duas opções de serviço de backup para gerenciar os backups da sua instância:

  • Backups avançados: os backups são gerenciados e armazenados em um projeto centralizado de gerenciamento de backups que usa o serviço de Backup e DR e oferece retenção forçada, programação granular e monitoramento.
  • Backups padrão: os backups são criados, gerenciados e armazenados no mesmo projeto das instâncias do Cloud SQL. Essa é a oferta de backup do Cloud SQL e agora é chamada de backups padrão.

É necessário selecionar uma opção de backup para cada instância. Para mais informações sobre cada opção de backup e seus recursos, consulte Escolher sua opção de backup.

Tipos de solicitação de backup

É possível fazer backups sob demanda, automatizados ou finais das instâncias do Cloud SQL. A configuração disponível para esses backups depende da opção de backup selecionada da sua instância.

Backups sob demanda

Os backups sob demanda podem ser criados a qualquer momento. Eles são úteis se você está prestes a executar uma operação arriscada no banco de dados ou se precisa de um backup e não quer esperar pela janela de backup. É possível criar backups sob demanda para qualquer instância, mesmo que ela não tenha backups automáticos ativados.

Backups automatizados

Os backups automatizados são feitos em uma cadência programada, como por hora, diariamente, semanalmente ou mensalmente, enquanto a instância está em execução. A cadência programada depende da opção de backup escolhida para sua instância e da cadência definida na configuração de backup para a opção selecionada. O backup é iniciado durante essa janela.

Um backup automático extra é feito após a interrupção da instância para proteger todas as mudanças realizadas antes da interrupção. A retenção automática de backup depende da política de retenção configurada na opção de backup escolhida para sua instância. Recomendamos que você programe os backups quando a instância tiver menos atividade, se possível.

Também recomendamos que você não exclua manualmente nenhum backup automatizado, porque eles são necessários para permitir a recuperação pontual.

Para configurar os backups automáticos da sua instância, consulte Configurar backups automáticos.

Backup final

Com os backups finais, é possível fazer um backup da instância do Cloud SQL antes de excluí-la. Isso é útil para reter os dados da instância depois que ela é excluída. Você pode usar o backup final para criar uma nova instância ou restaurar uma instância atual. Para mais informações sobre como acessar e ver detalhes sobre seu backup final, consulte Ver uma lista de backups finais.

É possível configurar a instância para fazer um backup final automaticamente ao excluir a instância ativando a configuração de backup final para ela. Você também pode definir o período de retenção do backup final ao ativar os backups finais para sua instância. Se você não ativar os backups finais para sua instância, também poderá fazer um backup final ao excluir a instância. Os backups finais estão disponíveis apenas para instâncias principais e não são compatíveis com réplicas. Também é possível definir uma política personalizada da organização do Cloud SQL para fazer um backup final na exclusão de instâncias para todas as instâncias da organização e definir um período de armazenamento padrão. Para mais informações, consulte Exemplos de políticas personalizadas da organização para casos de uso comuns.

Por padrão, o Cloud SQL retém o backup final por 30 dias. No entanto, é possível personalizar por quanto tempo o Cloud SQL retém o backup. Esse período pode variar de 1 dia a 365 dias para backups padrão ou de 1 dia a 99 anos para backups avançados. Depois, é possível restaurar a instância do backup, desde que ela esteja disponível. Os backups finais são cobrados de maneira semelhante a outros backups pelo número de dias retidos.

Para mais informações sobre como ativar backups finais para suas instâncias novas ou atuais usando a opção de backups padrão, consulte Configurar backups finais. Para backups avançados, os backups finais são gerenciados pelo plano de backup associado.

Para gerenciar um backup final depois que a instância for excluída, consulte Gerenciar backups de instâncias excluídas.

Retenção de backup

A retenção de backup é definida pelo tipo de solicitação de backup e pela opção de backup que você seleciona para sua instância. Para backups automatizados, a retenção pode variar de 7 dias a 99 anos, dependendo da opção de backup da sua instância. Para backups sob demanda, eles são armazenados indefinidamente até serem excluídos. Para mais informações sobre a retenção de backup relacionada à opção de backup da sua instância, consulte Escolher sua opção de backup.

Reter backups após a exclusão da instância

Os backups retidos são aqueles que o Cloud SQL mantém após a exclusão de uma instância. Esses backups consistem em backups sob demanda e automatizados criados quando a instância estava ativa. Quando você exclui uma instância, esses backups se tornam independentes dela e são armazenados no nível do projeto. Os backups retidos são diferentes dos backups finais, que são os últimos backups feitos no momento da exclusão da instância.

É possível atualizar a descrição desses backups para facilitar o gerenciamento deles no projeto Google Cloud . Os backups retidos podem ser restaurados para uma instância do Cloud SQL nova ou atual a qualquer momento.

Para esses backups, o período de armazenamento é definido pelo tipo de backup e não pode ser alterado depois que a instância é excluída. Para backups padrão, os backups sob demanda são mantidos indefinidamente até que sejam excluídos manualmente ou que o projeto que os contém seja excluído. Para backups avançados, os backups sob demanda são mantidos com base na regra de retenção selecionada. Os backups automatizados são excluídos de forma contínua, um backup por dia, depois que a instância é excluída. O período contínuo é definido com base nas configurações de retenção da instância antes da exclusão, que podem variar de 1 dia a 99 anos, dependendo da opção de backup selecionada da instância. Por exemplo, se a configuração de retenção de backup automático da instância estiver definida como 7, o backup automático mais recente será excluído 7 dias após a exclusão da instância.

Os backups retidos podem ser excluídos manualmente a qualquer momento. No entanto, quando você exclui um backup retido, ele não pode ser recuperado.

Para backups padrão, como os nomes de instâncias podem ser usados depois que uma instância é excluída no Cloud SQL, os backups retidos são armazenados no seu projetoGoogle Cloud com um campo chamado instance_deletion_time. Esse campo permite identificar se um backup específico pertence a uma instância ativa ou excluída. Também é possível atualizar a descrição de um backup para facilitar o gerenciamento.

Para mais informações sobre como ativar backups retidos para suas instâncias novas ou atuais usando a opção de backups padrão, consulte Configurar backups retidos. Para backups avançados, os backups retidos são gerenciados pelo plano de backup associado.

Para gerenciar um backup retido após a exclusão da instância, consulte Gerenciar backups de instâncias excluídas.

Backups de recuperação

O Cloud SQL tenta manter pelo menos um último backup diário de cada instância ativa, se não houver backups bons disponíveis como parte da política de backup automatizado. É possível usar esse backup para fins de recuperação entrando em contato com o atendimento ao cliente do Google Cloud.

Verificações de integridade de dados e backup

O Cloud SQL executa automaticamente verificações de integridade do banco de dados em segundo plano para identificar possíveis problemas de integridade de dados. A verificação de integridade é feita como um processo off-line, restaurando uma amostra de backups iniciados pelo cliente ou backups de recuperação.

Backups para réplicas

Os backups não estão disponíveis para instâncias de réplica. Como as instâncias de réplica são cópias das instâncias principais, os backups são mantidos com a instância principal. Se uma instância de réplica for promovida a uma instância independente devido a um failover ou switchover, ela será ativada para backups e exigirá uma configuração de backup própria. As réplicas promovidas não herdam as configurações de backup da instância principal e não podem acessar os backups da instância principal.

Backups e exportações

Os backups são gerenciados pelo Cloud SQL de acordo com as políticas de retenção e armazenados separadamente da instância do Cloud SQL. Os backups do Cloud SQL são diferentes de uma exportação enviada ao Cloud Storage, em que você gerencia o ciclo de vida. Os backups englobam todo o disco da instância. As exportações podem selecionar conteúdos específicos.

Não é possível usar as operações de backup e restauração para fazer upgrade de um banco de dados para uma versão posterior. Só é possível restaurar de um backup para uma instância com a mesma versão do banco de dados de quando o backup foi feito.

Se quiser fazer upgrade para uma versão posterior, exporte e importe o banco de dados para uma nova instância do Cloud SQL.

Tamanho do backup

Todos os backups do Cloud SQL, exceto o primeiro, são incrementais. Eles contêm apenas dados que foram alterados após o backup anterior. O backup mais antigo tem um tamanho semelhante ao do banco de dados, mas os tamanhos dos próximos backups dependem da taxa de alteração dos dados. Quando o backup mais antigo é excluído, o tamanho do segundo mais antigo aumenta para se tornar um backup completo e é ajustado para capturar a diferença entre os backups. Cada backup incremental a seguir também é atualizado para corresponder ao novo backup completo.

É possível verificar o tamanho de um backup individual. O tamanho do backup representa o tamanho faturável de cada backup.

Solução de problemas

Problema Solução de problemas
Não é possível ver o status da operação atual. O console Google Cloud informa apenas o sucesso ou falha no momento da operação. Ele não foi criado para mostrar avisos ou outras atualizações.

Execute o comando gcloud sql operations list para listar todas as operações da instância do Cloud SQL especificada.

Você quer descobrir quem emitiu uma operação de backup sob demanda. A interface do usuário não mostra o usuário que iniciou uma operação.

Procure nos registros e filtre por texto para encontrar o usuário. Talvez seja necessário usar registros de auditoria para informações particulares. Os arquivos de registro relevantes incluem:

  • cloudsql.googleapis.com/sqlagent.out
  • cloudsql.googleapis.com/sqlserver.err
  • Se os registros de auditoria do Cloud estiverem ativados e você tiver as permissões necessárias para visualizá-los, cloudaudit.googleapis.com/activity também poderá estar disponível.
Depois que uma instância é excluída, não é possível fazer backup dela.

Se você excluir uma instância sem fazer um backup final dos dados, não será possível recuperar nada. No entanto, se você restaurar a instância, o Cloud SQL também vai restaurar os backups. Para mais informações sobre como recuperar uma instância excluída, consulte Reter backups após a exclusão da instância.

Se você tiver feito uma operação de exportação, crie uma nova instância e faça uma operação de importação para recriar o banco de dados. As exportações são gravadas no Cloud Storage e as importações são lidas de lá.

O backup automático fica paralisado por muitas horas e não pode ser cancelado. Os backups podem levar muito tempo, dependendo do tamanho do banco de dados.

Se você realmente precisa cancelar a operação, peça ao suporte ao cliente para aplicar force restart à instância.

Uma operação de restauração pode falhar quando um ou mais usuários referenciados no arquivo dump SQL não existem. Antes de restaurar um arquivo dump SQL, todos os usuários do banco de dados com objetos ou que receberam permissões para os objetos do banco de dados despejado precisam existir no banco de dados de destino. Caso contrário, a operação de restauração não recriará os objetos com a propriedade ou as permissões originais.

Crie os usuários do banco de dados antes de restaurar do dump SQL.

Você quer aumentar o número de dias em que pode manter backups automáticos, de sete para 30 dias ou mais. É possível configurar o número de backups automatizados a serem retidos, mas não é possível reter menos do que o padrão (sete). Os backups automatizados são removidos regularmente com base no valor de retenção configurado. Infelizmente, isso significa que os backups visíveis atuais são os únicos backups automatizados que podem ser usados para restaurar.

Para manter os backups indefinidamente, crie um backup sob demanda. Ele não é excluído da mesma forma que backups automáticos. Os backups sob demanda permanecem indefinidamente. Ou seja, eles permanecem até que sejam excluídos ou a instância a que pertencem seja excluída. Como esse tipo de backup não é excluído automaticamente, ele pode afetar o faturamento.

Um backup automático falhou e você não recebeu uma notificação por e-mail. Para que o Cloud SQL notifique você sobre o status do backup, configure um alerta com base em registros.
Não será possível restaurar a instância usando o comando Transact-SQL RESTORE ou o SQL Server Management Studio (SSMS). O Cloud SQL não oferece suporte à restauração de instâncias usando o SSMS. Para restaurar a instância, execute o comando gcloud sql import.
Não é possível excluir uma instância quando você opta por fazer um backup final na exclusão da instância. Ao excluir uma instância, é necessário confirmar se você quer fazer um backup final dela antes da exclusão. Se você ativou o backup final usando a configuração de instância final-backup, a seleção feita ao excluir a instância precisa corresponder à configuração de instância do backup final definida ao ativar o backup final para sua instância. Para minimizar esse problema, faça uma das seguintes ações:
  • Defina o valor final do backup para corresponder à configuração de backup existente da instância.
  • Deixe o campo de backup final vazio ao excluir a instância. Se você deixar o campo em branco, o Cloud SQL usará a configuração de backup final definida nas configurações da instância para fazer um backup final e definir a retenção dele.
Para conferir a configuração final da instância de backup, consulte Acessar informações da instância.
Não foi possível criar uma instância de réplica depois de criar uma instância principal com a configuração de backup final. Se você criar uma instância com a configuração final de instância de backup ativada, atualize a política da organização de backup final para aplicar as configurações de backup somente à instância principal. Os backups finais não são compatíveis com instâncias de réplica.
Para mais informações, consulte Políticas da organização do Cloud SQL.

A seguir