Гид по технологиям

Резервное копирование в DigitalOcean

8 min read DevOps Обновлено 05 Dec 2025
Резервное копирование DigitalOcean
Резервное копирование DigitalOcean

Быстрые ссылки

  • Чем отличаются Backups и Snapshots?
  • Настройка Backups для Droplet
  • Восстановление из резервной копии
  • Snapshots: создание и управление
  • Резервное копирование других ресурсов DigitalOcean
  • Дополнения: чек-листы, playbook, тесты
  • Краткое резюме

Логотип DigitalOcean

Чем отличаются Backups и Snapshots?

Обе системы создают полное изображение диска (disk image) droplet в определённый момент времени и позволяют восстановить состояние машины или создать новую на основе этого образа. Главное отличие — способ создания и политика хранения:

  • «Backups» — полностью управляемая автоматическая система. Включается на уровне droplet. DigitalOcean делает снимок еженедельно и хранит последние четыре снимка (четыре недели).
  • «Snapshots» — снимки по запросу. Вы создаёте их вручную через панель управления или API. Хранятся до тех пор, пока вы не удалите их.

Особенности и финансовые моменты:

  • Стоимость Backups: +20% к ежемесячной цене droplet.
  • Стоимость Snapshots: тарификация по объёму, 0.05 $/GiB в месяц.
  • Оба типа хранятся в том же дата-центре по умолчанию; snapshots можно переносить по регионам по отдельности.
  • Snapshots доступны и для Block Storage Volumes; volume не включается в droplet backups автоматически — требуются отдельные снимки.

Важно помнить: если вам нужна устойчивость к отказу целого региона (катастрофа, массовый отказ), только локальные Backups и Snapshots в том же дата-центре не дают полной гарантии. В таких случаях планируйте репликацию снимков в другие регионы или внешнее хранение.

Настройка Backups для Droplet

Ниже — пошаговая инструкция и рекомендации по автоматизации.

  1. Войдите в панель управления DigitalOcean.
  2. Выберите нужный droplet на главной странице.
  3. На странице деталей droplet в левой боковой панели нажмите «Backups».
  4. Нажмите кнопку «Enable Backups» для активации автоматических еженедельных снимков.

Страница настройки Backups в панели DigitalOcean

Примечания о расписании:

  • DigitalOcean назначает окно резервного копирования автоматически; изменить его невозможно.
  • До первого выполнения вашего окна резервного копирования снимки не будут доступны.

Автоматизация через CLI (Doctl)

Если вы предпочитаете автоматизировать через CLI, используйте официальный клиент doctl. Последовательность команд:

doctl compute droplet list

Получите ID droplet, который нужно настроить, затем включите backups:

doctl compute droplet-action enable-backups 

После создания резервных копий можно просмотреть их список:

doctl compute droplet backups 

Советы по практике:

  • Добавьте теги или метаданные к droplet, чтобы быстро находить критичные машины при автоматическом скриптинге.
  • Включите уведомления об успешном/неуспешном выполнении резервных копий через вашу систему инцидентов.

Восстановление из резервной копии

Просмотреть доступные четыре резервные копии можно внизу страницы Backups выбранного droplet. Нажмите «More», чтобы увидеть варианты действия.

Варианты восстановления:

  • «Restore Droplet» — восстановит текущее состояние droplet из выбранной резервной копии. Будьте внимательны: это перезапишет текущую виртуальную машину.
  • «Create Droplet» — создаёт новый droplet на основе выбранной резервной копии. Это безопасный вариант, если вы хотите сохранить текущую машину.
  • «Convert to Snapshot» — превращает резервную копию в snapshot, позволяя хранить её долго и переносить между регионами.

Восстановление droplet из резервной копии в панели DigitalOcean

Рекомендации при восстановлении:

  • Перед восстановлением снимите актуальные конфигурационные данные и экспортируйте критичные логи.
  • Планируйте время простоя; хотя создание нового droplet занимает минуты, восстановление и финальная проверка сервисов могут потребовать больше времени.

Snapshots: создание, управление, перенос

Snapshots удобны для быстрых контрольных точек, миграций и архивирования.

Как создать snapshot droplet через веб-интерфейс:

  1. Выберите droplet.
  2. В боковой панели нажмите «Snapshots».
  3. Вверху страницы задайте имя и нажмите «Take live snapshot» для снимка без выключения машины.

Если нужна консистентность данных (например, база данных), перед снимком рекомендуется корректно остановить сервис или завершить работу droplet.

Время создания snapshot обычно оценивают как до 1 минуты на каждый гигабайт используемых данных. После завершения снимок появится в разделе «Droplet snapshots».

Создание snapshot в панели DigitalOcean

Создание snapshot тома (Volume):

  1. Нажмите «Volumes» в левой панели.
  2. Нажмите «More» рядом с нужным томом.
  3. Выберите «Take snapshot» и задайте имя.

Просмотр всех снимков: раздел «Images» в боковой панели, вкладки «Droplets» и «Volumes».

Доступные действия для снимков:

  • Создать droplet из snapshot.
  • Восстановить droplet или том из snapshot.
  • Перенести snapshot в другой регион (Transfer), чтобы затем создать droplet в другом дата-центре.

CLI (doctl) для управления snapshots

# Получить все снимки для droplet

doctl compute droplet snapshots 

# Создать snapshot droplet

doctl compute droplet-action snapshot 

# Создать snapshot тома

doctl compute volume snapshot 

# Показать все snapshot в аккаунте

doctl compute snapshot list

# Удалить snapshot

doctl compute snapshot delete 

Подсказка: используйте команды doctl compute droplet list, doctl compute volume list и doctl compute snapshot list, чтобы получить ID ресурсов для операций над snapshot.

Резервное копирование других ресурсов DigitalOcean

  • Backups доступны только для droplets.
  • Snapshots доступны для droplets и Block Storage Volumes.
  • Managed services (например, Managed Databases, Spaces) обычно имеют встроенные механизмы резервного копирования и экспорт/слепки; проверьте документацию конкретного сервиса.

Если вы хотите максимальную отказоустойчивость, рассмотрите хранение копий за пределами платформы (еще один облачный провайдер или собственное архивное хранилище). Это требует разработки конвейера экспорта и проверки целостности данных.

Когда стандартные Backups и Snapshots недостаточны

Примеры, когда встроенные инструменты не подходят:

  • Требуется RPO (Recovery Point Objective) меньше недели — тогда еженедельные Backups не подойдут.
  • Требуется хранение резервных копий в другом регионе для защиты от региональных катастроф.
  • Нужен инкрементальный резерв для больших баз данных с минимальными затратами.

В таких случаях альтернативы:

  • Частые ручные или автоматизированные Snapshots (через cron + doctl).
  • Репликация баз данных в другой регион или к другому провайдеру.
  • Лог-шифтовые (WAL) выгрузки и хранение в объектном хранилище с ретеншеном.

Playbook: быстрая инструкция для восстановления и тестирования

SOP — короткий набор шагов, который можно включить в runbook команды:

  1. Регулярно: еженедельно проверять список snapshot и статус Backups.
  2. Ежемесячно: проводить тестовое восстановление на изолированной среде.
  3. Перед крупными изменениями: создать snapshot (именование: yyyy-mm-dd-service-цель).
  4. В случае инцидента:
    • Оценить последний доступный snapshot или backup.
    • Если нужно минимизировать downtime — создать новый droplet из snapshot и переключить трафик.
    • Если нужно вернуть текущий droplet в предыдущее состояние — восстановить backup.
  5. После восстановления: проверить логи, целостность БД, сетевые настройки и сертификаты.

Критерии приёмки восстановленной машины:

  • Сервисы стартуют успешно и отвечают на health-checks.
  • База данных не повреждена и возвращает ожидаемые данные.
  • Ключевые интеграции (внешние API, очереди, S3-совместимые хранилища) работают.

Роли и чек-листы

DevOps / SRE:

  • Проверить включение Backups для критичных droplet.
  • Настроить автоматизированные Snapshots перед изменениями.
  • Документировать время backup window и уведомления.

Разработчик:

  • Перед развёртыванием на production создавать snapshot образа окружения.
  • Писать миграции и сценарии отката, совместимые с восстановленными данными.

Менеджер продукта / Руководитель:

  • Определить RPO/RTO и подтвердить, что стратегия резервного копирования им соответствует.
  • Утвердить бюджет на хранение Snapshots и Backups.

Тестовые сценарии и критерии приёмки

Тестовые случаи для проверки резервных копий:

  • Тест восстановления: создать новый droplet из последнего snapshot и пройти smoke-tests.
  • Ручное восстановление: восстановить существующий droplet из backup и убедиться, что сервисы функционируют.
  • Тест переносимости: перенести snapshot в другой регион и создать droplet там.

Критерии успешного теста:

  • Доступность ключевых API в течение допустимого RTO.
  • Отсутствие ошибок целостности данных после восстановления.
  • Журнал теста с временными метками и ответственным исполнителем.

Модель принятия решений (простая)

Mermaid-диаграмма для выбора между Backups и Snapshots:

flowchart TD
  A[Нужно автоматическое резервирование?] -->|Да| B{Требуется частота больше одного раза в неделю}
  B -->|Да| C[Использовать Snapshots по расписанию]
  B -->|Нет| D[Включить Backups]
  A -->|Нет| C
  C --> E{Нужна переносимость между регионами}
  E -->|Да| F[Переносить snapshots в целевой регион]
  E -->|Нет| G[Хранить snapshots в том же регионе]

Риск-матрица и меры смягчения

  • Риск: Потеря данных при сбое региона. Мера: перенос snapshots в другой регион, внешняя репликация.
  • Риск: Битый snapshot / невалидный backup. Мера: автоматизированная проверка восстановления на тестовой среде.
  • Риск: Неожиданная плата за хранение. Мера: мониторинг затрат и правила lifecycle (удалять старые snapshot).

Советы по миграции и совместимости

  • Перед переносом snapshot в другой регион убедитесь, что выбранный образ/дистрибутив поддерживается в целевом регионе.
  • Обратите внимание на сетевые конфигурации: VPC и приватные сети могут отличаться между регионами.
  • Если используете тома (Volumes), убедитесь, что создали их snapshot отдельно от droplet snapshot.

Ключовые числа и факты

  • Backups: автоматические еженедельные снимки, хранение 4 недели, +20% к стоимости droplet.
  • Snapshots: платная хранение по объёму, 0.05 $/GiB/мес.
  • Snapshot может занимать до ≈1 минуты на 1 GiB данных при создании (время ориентировочное).

Короткое объявление для команды (100–200 слов)

Начиная с сегодняшнего дня мы используем комбинацию DigitalOcean Backups и Snapshots для защиты production-среды. Backups включены для всех критичных droplet (еженедельно, 4 недели хранения). Перед крупными изменениями разработчики обязаны создать Snapshot. DevOps отвечает за регулярные тесты восстановления и мониторинг затрат на хранение. Для задач с более строгими RPO/RTO планируется репликация данных в другой регион и внешнее резервное хранение.

Социальный превью

OG title: Резервное копирование DigitalOcean OG описание: Как выбирать между Backups и Snapshots, настраивать, восстанавливать и тестировать резервные копии. Практичный playbook и чек-листы.

1‑линейный глоссарий

  • Backups — управляемые еженедельные снимки droplet, хранятся 4 недели.
  • Snapshot — снимок по запросу, хранится до удаления, тарифицируется по объёму.
  • Droplet — виртуальная машина в DigitalOcean.
  • Volume — блочный том хранения, отдельный от droplet.

Краткое резюме

  • Backups хороши для «включил и забыл» сценариев, когда недельная частота устраивает.
  • Snapshots дают гибкость: контрольные точки перед изменениями, перенос между регионами и долговременное хранение.
  • Для бизнес-критичных данных комбинируйте snapshot-политики, тесты восстановления и внешнюю репликацию.

Важно: регулярно проверяйте восстановление резервных копий — наличие snapshot не равно гарантии успешного восстановления.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Починить YouTube в Kodi — личные API‑ключи
Руководства

Починить YouTube в Kodi — личные API‑ключи

Настройка панели задач Windows 10: RainbowTaskbar и NiceTaskbar
Windows

Настройка панели задач Windows 10: RainbowTaskbar и NiceTaskbar

Отключить звук звонков WhatsApp на Android
Мобильные приложения

Отключить звук звонков WhatsApp на Android

Как исправить ERROR_RECEIVE_PARTIAL_EXPEDITED
Сеть

Как исправить ERROR_RECEIVE_PARTIAL_EXPEDITED

Будильники и таймеры в Windows 10 — настройка
Руководство

Будильники и таймеры в Windows 10 — настройка

4 бесплатных AI‑игры от Google Arts & Culture
Игры

4 бесплатных AI‑игры от Google Arts & Culture