Резервное копирование и восстановление данных¶
Требования применяются к production-хранилищам. Уровни обязательности
определены в корневом README.md.
DATA-BACK-001. Проектные RPO и RTO¶
Уровень: MUST
Применяется к: production-данным и состоянию, потеря которых нарушает обязательный результат или которые нельзя восстановить из другого источника в требуемый срок
Владелец проекта должен определить численные Recovery Point Objective (RPO) и Recovery Time Objective (RTO), область данных, зависимости и допустимые сценарии потери. Корпоративные значения по умолчанию не устанавливаются.
Обоснование¶
Без численной цели невозможно выбрать частоту backup и проверить recovery.
Проверка¶
- review утверждённых RPO/RTO;
- сопоставление с расписанием и архитектурой backup;
- проверка достижимости на recovery exercise.
Исключения¶
Эфемерный cache или производное состояние не требует backup, если автоматизированная проверка подтверждает его пересоздание из другого источника в пределах требуемого RTO и без нарушения RPO источника.
DATA-BACK-002. Полнота и защита backup¶
Уровень: MUST
Применяется к: резервной копии
Backup должен включать данные, schema, metadata и ключи или процедуру, необходимые для восстановления. Он должен шифроваться при передаче и хранении, иметь проверку целостности и доступ по минимальным привилегиям. Ключ шифрования не должен храниться только вместе с backup.
Обоснование¶
Неполная или недоступная копия не обеспечивает recovery.
Проверка¶
- inventory состава backup;
- тест целостности и доступа;
- security review ключей.
Исключения¶
Не допускаются для данных в области RPO.
DATA-BACK-003. Срок хранения и удаление¶
Уровень: MUST
Применяется к: backup и его копиям
Проект должен определить численный срок хранения по требованиям бизнеса, закона и RPO; корпоративный срок по умолчанию не устанавливается. Истёкшая копия должна удаляться проверяемо, включая реплики, если legal hold не требует сохранения.
Обоснование¶
Бессрочное хранение увеличивает объём утечки и противоречит удалению данных.
Проверка¶
- проверка lifecycle policy;
- выборочная проверка удаления;
- audit legal hold.
Исключения¶
Legal hold должен иметь владельца, основание и условия снятия.
DATA-BACK-004. Регулярная проверка восстановления¶
Уровень: MUST
Применяется к: каждому механизму backup
Проект должен установить численный максимальный интервал между проверками восстановления. Не реже этого интервала восстановление должно выполняться в изолированной среде из реально созданной копии. Проверка должна подтверждать целостность, применимость миграций, доступ приложения и фактические RPO/RTO. Успешное создание backup без restore-теста не считается проверкой.
Проверка должна использовать репрезентативный объём данных и зафиксированные
версии приложения, schema, процедуры получения ключей и зависимостей recovery.
Просроченная или неуспешная проверка должна создавать alert и блокировать
release, изменяющий persisted state или механизм восстановления, до успешного
повтора либо экстренного изменения по OPS-INC-003.
Обоснование¶
Ошибки копии часто обнаруживаются только при восстановлении.
Проверка¶
- протокол последнего recovery exercise;
- автоматические инварианты восстановленных данных;
- измерение точки и времени восстановления;
- тест просроченного результата и блокирующего release gate.
Исключения¶
Не допускаются для установленного максимального интервала.
DATA-BACK-005. Наблюдаемость и отказ backup¶
Уровень: MUST
Применяется к: выполнению backup и restore
Должны наблюдаться время последней успешной копии, длительность, объём и результат. Alert должен срабатывать до нарушения RPO. Неуспешный backup не должен удалять последнюю пригодную копию или сообщаться как успешный.
Обоснование¶
Тихий отказ расписания делает фактическую потерю данных больше RPO.
Проверка¶
- тест ошибки backup и alert;
- сверка метрики с каталогом копий;
- тест сохранения последней успешной копии.
Исключения¶
Не допускаются.