Google Cloud 아키텍처 프레임워크의 안정성 요소에 있는 이 원칙은 데이터 손실 복구 테스트를 설계하고 실행하는 데 도움이 되는 권장사항을 제공합니다.
이 원칙은 안정성의 학습 중점 영역과 관련이 있습니다.
원칙 개요
시스템이 데이터가 손실되거나 손상된 상황에서 복구할 수 있도록 하려면 이러한 시나리오에 관한 테스트를 실행해야 합니다. 데이터 손실은 소프트웨어 버그 또는 특정 유형의 자연 재해로 인해 발생할 수 있습니다. 이러한 이벤트가 발생한 후에는 백업에서 데이터를 복원하고 새로 복원된 데이터를 사용하여 모든 서비스를 다시 가동해야 합니다.
이 유형의 복구 테스트의 성공 여부를 판단하려면 데이터 무결성, 복구 시간 목표 (RTO), 복구 지점 목표 (RPO)라는 세 가지 기준을 사용하는 것이 좋습니다. RTO 및 RPO 측정항목에 관한 자세한 내용은 DR 계획의 기본사항을 참고하세요.
데이터 복원 테스트의 목표는 조직이 비즈니스 연속성 요구사항을 계속 충족할 수 있는지 주기적으로 확인하는 것입니다. 데이터 복원 테스트에는 RTO 및 RPO 측정 외에도 복원된 데이터를 사용한 전체 애플리케이션 스택 및 모든 중요한 인프라 서비스 테스트가 포함되어야 합니다. 이는 배포된 전체 애플리케이션이 테스트 환경에서 올바르게 작동하는지 확인하는 데 필요합니다.
권장사항
데이터 손실 복구를 위한 테스트를 설계하고 실행할 때는 다음 하위 섹션의 권장사항을 고려하세요.
백업 일관성 확인 및 복원 프로세스 테스트
백업에 애플리케이션을 즉시 다시 서비스 상태로 복원할 수 있는 일관되고 사용 가능한 데이터 스냅샷이 포함되어 있는지 확인해야 합니다. 데이터 무결성을 검사하려면 각 백업 후에 실행되도록 자동 일관성 검사를 설정하세요.
백업을 테스트하려면 비프로덕션 환경에서 복원합니다. 백업을 효율적으로 복원할 수 있고 복원된 데이터가 애플리케이션 요구사항을 충족하는지 확인하려면 정기적으로 데이터 복구 시나리오를 시뮬레이션하세요. 데이터 복원 단계를 문서화하고 장애 발생 시 단계를 효과적으로 실행하도록 팀을 교육합니다.
정기적이고 빈번한 백업 예약
복원 중에 데이터 손실을 최소화하고 RPO 타겟을 충족하려면 정기적으로 백업을 예약하는 것이 중요합니다. RPO에 맞는 백업 빈도를 설정합니다. 예를 들어 RPO가 15분인 경우 백업이 최소 15분마다 실행되도록 예약합니다. 백업 간격을 최적화하여 데이터 손실의 위험을 줄입니다.
Cloud Storage, Cloud SQL 자동 백업, Spanner 백업과 같은 Google Cloud 도구를 사용하여 백업을 예약하고 관리합니다. 중요한 애플리케이션의 경우 Cloud SQL용 PITR과 같은 거의 연속적인 백업 솔루션이나 대규모 데이터 세트의 증분 백업을 사용하세요.
RPO 정의 및 모니터링
비즈니스 요구사항에 따라 명확한 RPO를 설정하고 RPO 준수를 모니터링합니다. 백업 간격이 정의된 RPO를 초과하는 경우 Cloud Monitoring을 사용하여 알림을 설정합니다.
백업 상태 모니터링
Google Cloud 백업 및 DR 서비스 또는 유사한 도구를 사용하여 백업 상태를 추적하고 안전하고 안정적인 위치에 저장되어 있는지 확인합니다. 복원력을 높이려면 백업을 여러 리전에 복제해야 합니다.
백업 이외의 시나리오 계획
백업을 활성-활성 장애 조치 설정 또는 리전 간 복제와 같은 재해 복구 전략과 결합하여 극단적인 경우 복구 시간을 개선하세요. 자세한 내용은 재해 복구 계획 가이드를 참고하세요.