Esse princípio no pilar de confiabilidade do Google Cloud Framework de arquitetura oferece 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 de 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. Depois desses 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 julgar o sucesso ou o fracasso desse tipo de teste de recuperação: integridade de dados, tempo de recuperação (RTO, na sigla em inglês) e objetivo de ponto de recuperação (RPO, na sigla em inglês). Para detalhes sobre as métricas de RTO e RPO, consulte Noções básicas de planejamento de DR.
O objetivo do teste de restauração de dados é verificar periodicamente se a organização pode continuar a atender aos requisitos de continuidade de negócios. Além de medir RTO e RPO, um teste de restauração de dados precisa incluir o teste de toda a pilha de aplicativos e todos os serviços de infraestrutura críticos com os dados restaurados. Isso é necessário para confirmar que 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 consistentes e utilizáveis de dados que podem ser restaurados para colocar os aplicativos de volta ao serviço imediatamente. Para validar a integridade dos dados, configure verificações de consistência automatizadas para serem executadas após cada backup.
Para testar backups, restaure-os em um ambiente que não seja de produção. Para garantir que os backups possam ser restaurados de maneira eficiente 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 executar as etapas de forma eficaz 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 seja compatível com seu RPO. Por exemplo, se o RPO for de 15 minutos, programe os backups para serem executados pelo menos a cada 15 minutos. Otimize os intervalos de backup para reduzir o risco de perda de dados.
Use ferramentas do Google Cloud , como o Cloud Storage, os backups automatizados do Cloud SQL ou do Spanner para programar e gerenciar backups. Para aplicativos críticos, use soluções de backup quase contínuo, como a recuperação pontual (PITR) do Cloud SQL ou backups incrementais para grandes conjuntos de dados.
Definir e monitorar a RPO
Defina um RPO claro com base nas necessidades da sua empresa e monitore a adesão a ele. Se os intervalos de backup excederem o RPO definido, use o Cloud Monitoring para configurar alertas.
Monitorar a integridade do backup
Use o Google Cloud Backup e DR service ou ferramentas semelhantes para monitorar a integridade dos seus backups e confirmar se eles estão armazenados em locais seguros e confiáveis. Verifique se os backups são replicados em várias regiões para maior resiliência.
Planejar para 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.