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.