3

WebTech

Личный кабинет

Проекты, коммерческие предложения, документы и отчёты — в одном месте.

Войти Зарегистрироваться Забыли пароль?
Резервное копирование

Копия есть — восстановление проверено

Настраиваем копирование базы, файлов и конфигураций с выгрузкой за пределы площадки и шифрованием. Ключевая часть работы — регулярная проверка того, что из этих копий действительно поднимается рабочий сервис.

Или сразу: +7 (962) 368-39-51 Telegram

15 мин
целевой RPO для базы данных
3–2–1
три копии, два носителя, одна вне площадки
ежедневно
контроль целостности архивов
раз в месяц
тестовое восстановление на отдельный стенд
Задачи

Почему бэкапы не спасают

Копии, которые делаются без проверки, создают ложное чувство защищённости — и обнаруживают свою бесполезность в самый неудачный момент.

Копии лежат на том же сервере

Архивы складываются в каталог рядом с приложением. Ошибка в скрипте удаления, шифровальщик или отказ диска уничтожают и данные, и их копии одновременно.

Дампы делаются, но не открываются

Скрипт отрабатывает без ошибок, файлы растут, но архив обрывается на середине или повреждён. Никто этого не замечал, потому что восстановление никогда не пробовали.

Восстановление занимает сутки

Копия есть, но её размер и способ хранения таковы, что загрузка и разворачивание тянутся больше суток — а простой в это время стоит денег и репутации.

Забыты файлы и конфигурация

База копируется, а загруженные документы, изображения, пользовательские вложения и переменные окружения — нет. После восстановления сервис поднимается, но без половины данных.

Копии не защищены

Архивы с персональными данными клиентов лежат на диске в открытом виде, доступны всем администраторам и выгружаются в общедоступное хранилище.

Непонятно, кто и как восстанавливает

Процедуры нет, доступы к хранилищу у одного человека, команда не знает последовательности шагов. Каждая минута аварии уходит на выяснение ролей.

Решения

Как устроена схема копирования

Схему подбираем под требования к сохранности данных: для интернет-магазина и для системы документооборота приоритеты разные.

Что копируем

Полный состав данных, без которого сервис не поднимется в рабочем виде.

  • База данных: полная копия раз в сутки, инкремент или журнал транзакций каждые 15 минут
  • Файлы: загруженные документы, изображения, вложения, пользовательский контент
  • Конфигурации приложения, веб-сервера и описание окружения
  • Секреты и ключи — в защищённом хранилище с ограниченным доступом

Как храним

Схема 3-2-1: три копии данных, на двух разных носителях, одна из них — за пределами основной площадки.

  • Локальная копия для быстрого восстановления отдельных данных
  • Копия в другом дата-центре или в объектном хранилище
  • Шифрование архивов перед выгрузкой за пределы площадки
  • Политика хранения: ежедневные копии за месяц, недельные за квартал

Проверка и восстановление

Главный блок работ: без регулярной проверки нельзя утверждать, что копия рабочая.

  • Ежедневная автоматическая проверка целостности архивов и полноты выгрузки
  • Ежемесячное тестовое восстановление на отдельный стенд с замером времени
  • Сверка количества записей и ключевых сущностей после восстановления
  • Уведомление, если копия не создалась или не прошла проверку

Регламент и доступы

Процедура восстановления должна работать без человека, который её придумал.

  • Документированная инструкция по восстановлению с точными командами
  • Разграничение доступа к копиям и журнал операций с ними
  • Хранение части ключей отдельно от архивов
  • Указание ответственных и порядка оповещения при аварии
Процесс

Как мы строим резервное копирование

Работы идут от аудита текущей схемы до регулярной проверки, которую можно предъявить при разборе инцидента.

  1. 01 2–4 дня

    Аудит текущей схемы

    Смотрим, что копируется сейчас, куда выгружается, как хранится и кто имеет доступ. Определяем целевые RPO и RTO для каждого типа данных.

  2. 02 3–7 дней

    Настройка копирования

    Настраиваем расписания, шифрование и выгрузку за пределы площадки. Добавляем то, что раньше не копировалось: файлы, конфигурации, секреты.

  3. 03 2–5 дней

    Проверка восстановления

    Разворачиваем сервис из копии на отдельном стенде, замеряем время и фиксируем расхождения. Уточняем инструкцию по фактическим шагам.

  4. 04 постоянно

    Регулярный контроль

    Ежедневный автоматический контроль целостности, ежемесячное тестовое восстановление и отчёт с фактическим временем развёртывания.

RPO и RTO: что это и какие значения считать нормой

RPO — это допустимый объём потерянных данных, выраженный во времени. Если база копируется раз в сутки, RPO равен суткам: при аварии в конце дня вы потеряете все заказы и заявки за этот день. RTO — допустимое время простоя, то есть срок, за который сервис должен снова работать.

Для интернет-магазина с постоянным потоком заказов разумный ориентир — RPO не более 15 минут и RTO в пределах одного-двух часов. Для внутренней системы документооборота часто достаточно RPO в один час и RTO в рабочий день. Значения определяются бизнесом, а не техническими соображениями, и именно от них зависит схема копирования и её стоимость.

Почему проверка восстановления важнее самой копии

Архив, из которого никто не восстанавливался, — это обещание, а не гарантия. За годы практики мы регулярно встречаем копии, которые формально создаются и имеют ненулевой размер, но не разворачиваются: обрыв выгрузки, несовпадение версии базы, отсутствие нужных файлов, забытые ключи шифрования.

Поэтому мы включаем в работу регулярное тестовое восстановление на отдельный стенд с замером времени каждого этапа. Это позволяет не только убедиться в работоспособности копий, но и уточнить фактический RTO: например, выясняется, что развёртывание базы занимает 20 минут, а загрузка файлов из холодного хранилища — два часа. Без такого замера оценка времени восстановления остаётся догадкой.

Как хранить копии, если в них персональные данные

Резервные копии содержат те же персональные данные, что и продакшен, но часто без тех же мер защиты. Мы шифруем архивы до выгрузки за пределы площадки и храним ключи отдельно от самих копий: тогда утечка носителя или ошибка в настройках доступа к хранилищу не приводит к компрометации данных.

Дополнительно ограничиваем круг лиц с доступом к копиям, ведём журнал скачиваний и устанавливаем срок хранения. Данные, которые больше не нужны, удаляются из архивов по регламенту — это снижает и риск, и стоимость хранения, и объём обязательств перед клиентами.

Частые вопросы

Зависит от того, сколько данных вы готовы потерять. Для баз данных активных сервисов мы обычно настраиваем ежедневную полную копию и инкрементальные копии или журнал транзакций каждые 15 минут — это даёт RPO в пределах четверти часа. Файлы копируются ежедневно, а конфигурации и секреты — при каждом изменении. Частота напрямую влияет на объём хранилища и стоимость.

Единственный надёжный способ — развернуть из него сервис. Мы настраиваем ежедневную автоматическую проверку целостности архивов, а раз в месяц восстанавливаем копию на отдельный стенд: поднимаем базу, разворачиваем файлы, запускаем приложение и проверяем ключевые сценарии. После этого сверяем количество записей и фиксируем фактическое время восстановления в отчёте.

Да, и для территориально распределённого хранения это удобный вариант. Обязательные условия: шифрование до выгрузки, отдельные ключи доступа, ограниченные права на запись и удаление, а также проверка того, что хранилище не открыто публично. Мы предпочитаем схему, при которой копия лежит вне площадки продакшена, но при этом доступна для восстановления без участия сторонних людей.

Обычно в три-пять раз больше объёма самих данных, если хранить ежедневные копии за месяц и недельные за квартал. Сжатие и инкрементальные схемы заметно уменьшают объём: часто хватает удвоения. Мы рассчитываем размер хранилища заранее, исходя из темпа роста базы, и настраиваем политику хранения так, чтобы старые копии удалялись автоматически и предсказуемо.

Проверим ваши резервные копии

Расскажите, что и как копируется сейчас, — предложим схему хранения и проведём пробное восстановление.