객체 데이터와 이를 해석하는 데 필요한 메타데이터에 대한 백업 범위, 불변성, 보존 계층, 암호화, 접근 분리, 복원 목표 및 반복 복원 증거를 정의합니다.
패키지 상태: 참조 컨텍스트로서 인간 검토 준비 완료. 계약 및 테스트 시나리오는 완성되었으나, 이를 통과한 구현체가 있다고 주장하지는 않습니다.
결정 사항
객체 바이트와 소유권/버전 메타데이터를 별도로 보호되는 관리 경계 내에서 모두 백업합니다. 대표 복원이 무결성과 애플리케이션 가독성을 검증한 후에만 백업을 유용하다고 간주합니다.
범위
- 인벤토리, 백업 선택, 암호화, 보존, 불변성, 복제, 모니터링, 복원, 증거, 만료.
- 애플리케이션 객체 및 이를 매핑하는 데 필요한 데이터베이스 메타데이터.
- RPO/RTO 프로필 및 복원 훈련.
이 블록 외부
- 백업으로 제시되는 고가용성 복제본.
- 데이터 클래스 및 법적 보류와 무관한 범용 보존 정책.
계약
- 보호 범위는 버킷/접두사, 메타데이터 저장소, 암호화 의존성, 제외 항목, 소유자를 명명합니다.
- 백업 운영자 및 삭제 권한자는 일반 애플리케이션 자격 증명과 분리됩니다.
- 보존은 데이터 클래스별로 버전 관리되며, 모든 백업을 영구적으로 만들지 않고 보류를 존중합니다.
- 백업 복사본은 암호화되며, 키 복구는 동일한 연속성 계획 하에서 테스트됩니다.
- 복원은 시점 또는 버전을 선택하고, 먼저 격리된 대상에 기록하며, 매니페스트 다이제스트와 참조 매핑을 검증합니다.
- RPO 및 RTO는 구성만으로가 아니라 관찰된 백업 및 복원 증거에서 측정합니다.
구현 지침
- 백업 작업 ID, 소스 워터마크, 객체, 버전, 메타데이터 스냅샷, 다이제스트, 암호화 키 참조를 포함하는 불변 매니페스트를 유지합니다.
- 공급자 고유 버전 또는 백업 기능을 사용하되, 증거는 보호된 리소스 경계 외부로 내보냅니다.
- 매월 소규모 복원과 더 광범위한 예약 재해 시나리오를 실행합니다.
- 삭제, 손상, 랜섬웨어 영향을 받은 버전을 안전하게 선택하는 방법을 문서화합니다.
실패 처리 및 안전장치
- 백업 범위 또는 암호화 키 접근을 검증할 수 없으면 작업을 실패시키고 경고하며, 스케줄러 종료만으로 성공을 기록하지 않습니다.
- 복원 검증 실패 시 격리된 대상을 보존하여 조사하며, 프로덕션 읽기를 전환하지 않습니다.
- 보존 삭제가 불확실하면 매니페스트와 공급자 상태를 조정한 후 재시도합니다.
검증 및 운영
- 최신 성공 복구 지점, 보호된 바이트/객체, 건너뛴 객체, 불변 보존 범위, 복원 소요 시간, 다이제스트 실패, 마지막 훈련 이후 시간 추적.
- RPO 위반 전 및 정책 기간 내 성공적인 복원 증거가 없을 때 경고.
- 인력 또는 사고 변경 후 백업 접근 및 파괴 권한 검토.
이 패키지의 실행 가능한 예제는 픽스처 및 수락 계약입니다. 컬렉션 루트에서
python tools/validate.py를 실행하여 패키지 구조와 메타데이터를 확인한 후,
대상 저장소에서 시나리오를 구현하고 실행하세요.
도입 가정
example.yaml의 이름과 숫자 값은 도입 프로필이며, 보편적 기본값이 아닙니다.- 도입 팀은 행위자, 데이터 클래스, 오류 어휘, 소유권을 자사 시스템에 매핑해야 합니다.