데이터 손실 복구 테스트 실행

Google Cloud Well-Architected Framework의 안정성 핵심 요소에 있는 이 원칙은 데이터 손실 복구 테스트를 설계하고 실행하는 데 도움이 되는 권장사항을 제공합니다.

이 원칙은 신뢰성의 학습 중점 영역과 관련이 있습니다.

원칙 개요

데이터가 손실되거나 손상된 상황에서 시스템을 복구할 수 있게 하려면 이러한 시나리오에 대한 테스트를 실행해야 합니다. 데이터 손실 인스턴스는 소프트웨어 버그 또는 일종의 자연재해로 인해 발생할 수 있습니다. 이러한 이벤트가 발생하면 백업에서 데이터를 복원하고 새로 복원된 데이터를 사용하여 모든 서비스를 다시 백업해야 합니다.

데이터 무결성, 복구 시간 목표 (RTO), 복구 지점 목표 (RPO)라는 세 가지 기준을 사용하여 이러한 유형의 복구 테스트의 성공 여부를 판단하는 것이 좋습니다. RTO 및 RPO 측정항목에 대한 자세한 내용은 DR 계획의 기본 사항을 참조하세요.

데이터 복원 테스트의 목표는 조직이 비즈니스 연속성 요구사항을 계속 충족할 수 있는지 주기적으로 확인하는 것입니다. 데이터 복원 테스트에는 RTO 및 RPO를 측정하는 것 외에도 전체 애플리케이션 스택과 복원된 데이터를 사용한 모든 중요 인프라 서비스가 포함되어야 합니다. 이는 배포된 애플리케이션 전체가 테스트 환경에서 올바르게 작동하는지 확인하는 데 필요합니다.

권장사항

데이터 손실 복구 테스트를 설계하고 실행할 때는 다음 하위 섹션의 권장사항을 고려하세요.

백업 일관성 확인 및 복원 프로세스 테스트

애플리케이션을 즉시 복구하기 위해 복원할 수 있는 일관되고 사용 가능한 데이터 스냅샷이 백업에 포함되어 있는지 확인해야 합니다. 데이터 무결성을 검증하려면 각 백업 후에 실행되도록 자동 일관성 검사를 설정합니다.

백업을 테스트하려면 비프로덕션 환경에서 복원하세요. 백업을 효율적으로 복원할 수 있고 복원된 데이터가 애플리케이션 요구사항을 충족하도록 하려면 정기적으로 데이터 복구 시나리오를 시뮬레이션하세요. 데이터 복원 단계를 문서화하고 실패 시 단계를 효과적으로 실행할 수 있도록 팀을 교육합니다.

정기 및 빈번한 백업 예약

복원 중 데이터 손실을 최소화하고 RPO 목표를 달성하려면 정기적으로 백업을 예약하는 것이 중요합니다. RPO에 맞는 백업 빈도를 설정합니다. 예를 들어 RPO가 15분이면 최소 15분마다 백업이 실행되도록 예약합니다. 백업 간격을 최적화하여 데이터 손실 위험을 줄입니다.

Cloud Storage, Cloud SQL 자동 백업 또는 Spanner 백업과 같은 Google Cloud 도구를 사용하여 백업을 예약하고 관리합니다. 중요한 애플리케이션의 경우 Cloud SQL의 PITR (point-in-time recovery)이나 대규모 데이터 세트의 증분 백업과 같은 거의 연속적인 백업 솔루션을 사용합니다.

RPO 정의 및 모니터링

비즈니스 니즈에 따라 명확한 RPO를 설정하고 RPO 준수를 모니터링합니다. 백업 간격이 정의된 RPO를 초과하면 Cloud Monitoring을 사용하여 알림을 설정합니다.

백업 상태 모니터링

Google Cloud 백업 및 DR 서비스 또는 유사한 도구를 사용하여 백업 상태를 추적하고 백업이 안전하고 안정적인 위치에 저장되어 있는지 확인합니다. 복원력을 높이기 위해 백업이 여러 리전에 복제되는지 확인합니다.

백업 이상의 시나리오에 대한 계획

극단적인 경우에 복구 시간을 단축하기 위해 활성-활성 장애 조치 설정 또는 리전 간 복제와 같은 재해 복구 전략과 백업을 결합하세요. 자세한 내용은 재해 복구 계획 가이드를 참조하세요.