Realização de testes para recuperação em caso de perda de dados

Last reviewed 2024-12-30 UTC

Este princípio no pilar de confiabilidade do Google Cloud Framework bem arquitetado fornece recomendações para ajudar você a projetar e executar testes de recuperação de perda de dados.

Esse princípio é relevante para a área de foco de aprendizado da confiabilidade.

Visão geral do princípio

Para garantir que o sistema possa se recuperar de situações em que os dados são perdidos ou corrompidos, é necessário executar testes para esses cenários. As instâncias de perda de dados podem ser causadas por um bug de software ou algum tipo de desastre natural. Após esses eventos, é necessário restaurar os dados dos backups e reativar todos os serviços usando os dados recém-restaurados.

Recomendamos que você use três critérios para avaliar o sucesso ou a falha desse tipo de teste de recuperação: integridade de dados, objetivo de tempo de recuperação (RTO) e objetivo de ponto de recuperação (RPO). Para mais detalhes sobre as métricas de RTO e RPO, consulte Noções básicas do planejamento de DR.

O objetivo dos testes de restauração de dados é verificar periodicamente se a organização pode continuar atendendo aos requisitos de continuidade dos negócios. Além de medir o RTO e o RPO, um teste de restauração de dados precisa incluir testes de toda a pilha de aplicativos e de todos os serviços de infraestrutura críticos com os dados restaurados. Isso é necessário para confirmar se todo o aplicativo implantado funciona corretamente no ambiente de teste.

Recomendações

Ao projetar e executar testes para recuperação de perda de dados, considere as recomendações nas subseções a seguir.

Verificar a consistência do backup e testar os processos de restauração

É necessário verificar se os backups contêm snapshots de dados consistentes e utilizáveis que podem ser restaurados para reativar os aplicativos imediatamente. Para validar a integridade dos dados, configure verificações de consistência automatizadas para serem executadas após cada backup.

Para testar os backups, restaure-os em um ambiente que não seja de produção. Para garantir que os backups possam ser restaurados com eficiência e que os dados restaurados atendam aos requisitos do aplicativo, simule regularmente cenários de recuperação de dados. Documente as etapas de restauração de dados e treine suas equipes para executá-las com eficácia durante uma falha.

Programar backups regulares e frequentes

Para minimizar a perda de dados durante a restauração e atender às metas de RPO, é essencial ter backups programados regularmente. Estabeleça uma frequência de backup que esteja alinhada ao seu RPO. Por exemplo, se o RPO for de 15 minutos, programe backups para serem executados pelo menos a cada 15 minutos. Otimize os intervalos de backup para reduzir o risco de perda de dados.

Use Google Cloud ferramentas como o Cloud Storage, os backups automatizados do Cloud SQL ou os backups do Spanner para programar e gerenciar backups. Para aplicativos críticos, use soluções de backup quase contínuas, como a recuperação pontual (PITR) para o Cloud SQL ou backups incrementais para conjuntos de dados grandes.

Definir e monitorar o RPO

Defina um RPO claro com base nas necessidades da sua empresa e monitore a adesão ao RPO. Se os intervalos de backup excederem o RPO definido, use o Cloud Monitoring para configurar alertas.

Monitorar a integridade do backup

Use Google Cloud o serviço de backup e DR ou ferramentas semelhantes para acompanhar a integridade dos backups e confirmar se eles estão armazenados em locais seguros e confiáveis. Garanta que os backups sejam replicados em várias regiões para aumentar a resiliência.

Planejar cenários além do backup

Combine backups com estratégias de recuperação de desastres, como configurações de failover ativo-ativo ou replicação entre regiões, para melhorar o tempo de recuperação em casos extremos. Para mais informações, consulte o Guia de planejamento de recuperação de desastres.