Google Cloud Well-Architected Framework 可靠性核心中的这一原则提供了相关建议,可帮助您设计和运行测试,以便从数据丢失中恢复。
此原则与可靠性的学习 重点领域相关。
原则概览
为确保系统可以从数据丢失或损坏的情况中恢复,您需要针对这些场景运行测试。数据丢失可能是由软件 bug 或某种自然灾害引起的。发生此类事件后,您需要从备份中恢复数据,并使用新恢复的数据再次启动所有服务。
我们建议您使用三个标准来判断此类恢复测试的成功或失败:数据完整性、恢复时间目标 (RTO) 和恢复点目标 (RPO)。如需详细了解 RTO 和 RPO 指标,请参阅灾难恢复规划的基础知识。
数据恢复测试的目标是定期验证您的组织能否继续满足业务连续性要求。除了衡量 RTO 和 RPO 之外,数据恢复测试还必须包括使用恢复的数据测试整个应用堆栈和所有关键基础设施服务。这对于确认整个已部署应用在测试环境中正常运行是必要的。
建议
在设计和运行数据丢失恢复测试时,请考虑以下小节中的建议。
验证备份一致性并测试恢复流程
您需要验证备份是否包含一致且可用的数据快照,以便您可以立即恢复这些快照,使应用恢复服务。如需验证数据完整性,请设置自动一致性检查,以便在每次备份后运行。
如需测试备份,请在非生产环境中恢复备份。为确保备份可以高效恢复,并且恢复的数据符合应用要求,请定期模拟数据恢复场景。记录数据恢复步骤,并培训团队在发生故障时有效执行这些步骤。
安排定期和频繁备份
为了最大限度地减少恢复期间的数据丢失并满足 RPO 目标,必须定期安排备份。建立符合您的 RPO 的备份频率。例如,如果您的 RPO 为 15 分钟,请将备份安排为至少每 15 分钟运行一次。优化备份间隔,以降低数据丢失的风险。
使用 Cloud Storage、Cloud SQL 自动备份或 Spanner 备份等 Google Cloud 工具来安排和管理备份。对于关键应用,请使用近乎连续的备份解决方案,例如 Cloud SQL 的时间点恢复 (PITR) 或大型数据集的增量备份。
定义和监控 RPO
根据业务需求设置明确的 RPO,并监控对 RPO 的遵守情况。 如果备份间隔超过定义的 RPO,请使用 Cloud Monitoring 设置提醒。
监控备份运行状况
使用Backup and DR Service或类似工具跟踪备份的健康状况,并确认备份存储在安全可靠的位置。确保备份在多个区域之间复制,以提高弹性。
针对备份以外的场景进行规划
将备份与灾难恢复策略(例如双活故障切换设置或跨区域复制)相结合,以便在极端情况下缩短恢复时间。如需了解详情,请参阅灾难恢复规划指南。