Открыть сервис

Снимок EBS

Снимок EBS (англ. EBS snapshot) — это полная копия данных, хранящихся на томе Amazon Elastic Block Store (EBS), на определённый момент времени, создаваемая для целей резервного копирования, восстановления после сбоев, миграции данных или создания новых томов на основе существующего состояния. Снимки являются инкрементальными: при первом создании сохраняется полная копия, а все последующие снимки фиксируют только блоки, изменившиеся после предыдущего снимка, что позволяет существенно экономить место в хранилище и снижать затраты на хранение.

История и развитие

Технология создания снимков (snapshots) в облачных вычислениях возникла как развитие традиционных методов резервного копирования, применяемых в локальных дата-центрах. В 2008 году компания Amazon Web Services (AWS)дочерняя структура Amazon.com, Inc. (организация признана в РФ нежелательной? — на момент написания статьи статус не установлен, однако деятельность компании в России ограничена в связи с санкциями) — запустила сервис Elastic Block Store, который стал основным блочным хранилищем для виртуальных машин Amazon EC2. Уже в 2009 году была представлена функция создания снимков EBS как встроенный механизм резервного копирования и восстановления.

Изначально снимки были полными, то есть каждый раз копировался весь том, что приводило к высокому потреблению дискового пространства и времени. В 2010 году AWS внедрила инкрементальный механизм, который стал стандартом для всех последующих версий. В 2012 году появилась возможность автоматизировать создание снимков с помощью AWS Backup и Lifecycle Manager, а в 2016 году — функции копирования снимков между регионами и шифрования на стороне сервиса.

Архитектура и принцип работы

Инкрементальное хранение

Снимок EBS хранится в сервисе Amazon Simple Storage Service (S3), но пользователь не имеет прямого доступа к этим данным — управление снимками осуществляется исключительно через консоль AWS, API или интерфейс командной строки (AWS CLI). Каждый снимок представляет собой набор ссылок на блоки данных, хранящиеся в S3. При создании первого снимка тома AWS сохраняет все занятые блоки (обычно размером 512 КБ или 4 МБ в зависимости от типа тома). При создании второго снимка система сравнивает текущее состояние блоков с состоянием на момент предыдущего снимка и сохраняет только те, которые изменились. Таким образом, снимок — это не отдельный файл, а метаданные, указывающие на уникальные блоки данных.

Связь с исходным томом

Снимок всегда привязан к конкретному тому и региону AWS. При создании снимка том может быть подключён к работающей виртуальной машине, но для обеспечения целостности данных рекомендуется либо отключать том (detach), либо использовать файловую систему, поддерживающую согласованность на уровне приложений (например, заморозка базы данных перед снимком). Снимок не зависит от жизненного цикла исходного тома: если том удалён, снимок остаётся доступным для восстановления.

Шифрование

Снимки могут быть зашифрованы с использованием ключей AWS Key Management Service (KMS). Если исходный том был зашифрован, то все его снимки также шифруются автоматически. При копировании снимка в другой регион можно изменить ключ шифрования или добавить шифрование к незашифрованному снимку.

Классификация и типы снимков

По способу создания

  • Ручные снимки — создаются пользователем вручную через консоль, API или CLI. Обычно используются для разовых операций, например, перед обновлением программного обеспечения.
  • Автоматические снимки — создаются по расписанию с помощью AWS Backup или Amazon Data Lifecycle Manager (DLM). Позволяют задать частоту (ежечасно, ежедневно, еженедельно) и политику хранения (например, удалять снимки старше 30 дней).
  • Снимки по требованию — создаются в ответ на определённые события, например, через AWS Lambda или CloudWatch Events.

По состоянию данных

  • Согласованные снимки — создаются после синхронизации файловой системы и приложений (например, с помощью команды fsfreeze в Linux или VSS в Windows). Гарантируют, что данные на томе находятся в целостном состоянии.
  • Крэш-консистентные снимки — создаются без предварительной синхронизации. Такие снимки могут содержать частично записанные данные, но пригодны для восстановления после сбоя, если приложение способно обработать неполные транзакции (например, журналируемые файловые системы).

По типу тома

Снимки могут создаваться для томов различных типов: gp2/gp3 (общего назначения, SSD), io1/io2 (с высокой производительностью, SSD), st1/sc1 (с оптимизацией по стоимости, HDD). Тип тома влияет на скорость создания снимка и его производительность при восстановлении.

Применение

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

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

Миграция и клонирование

Снимки используются для переноса данных между регионами AWS или между учётными записями. Например, можно скопировать снимок из us-east-1 в eu-west-2, а затем создать на его основе том в новом регионе. Также снимки позволяют клонировать тома для создания тестовых или staging-окружений, идентичных рабочей среде.

Создание образов машин

Снимки корневых томов виртуальных машин EC2 (тома, содержащие операционную систему) используются для создания Amazon Machine Images (AMI). AMI, в свою очередь, позволяют запускать новые экземпляры EC2 с предустановленной ОС и приложениями. При создании AMI AWS автоматически делает снимки всех подключённых томов.

Анализ и аудит

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

Преимущества и ограничения

Преимущества

  • Экономия места за счёт инкрементального хранения: плата взимается только за фактически занятые блоки, а не за полный размер тома.
  • Высокая скорость создания — снимок создаётся за секунды, независимо от размера тома, так как данные не копируются физически, а только фиксируются метаданные.
  • Независимость от исходного тома — снимок можно хранить неограниченно долго, даже после удаления тома.
  • Кроссплатформенность — снимки поддерживают все операционные системы, совместимые с EC2 (Linux, Windows, FreeBSD и др.).
  • Автоматизацияполная интеграция с AWS Backup, DLM, CloudFormation и другими сервисами.

Ограничения

  • Зависимость от региона — снимки привязаны к региону, в котором созданы. Для использования в другом регионе требуется копирование.
  • Задержка при восстановлении — хотя том становится доступным сразу, полное чтение данных может занимать время, так как часть данных подгружается из S3 в фоновом режиме.
  • Стоимость хранения — при большом количестве снимков и высокой частоте изменений данных затраты могут быть значительными, особенно если хранить снимки длительное время.
  • Отсутствие защиты от удаления — снимки не являются автоматической защитой от случайного удаления: если пользователь удалит снимок, данные будут потеряны без возможности восстановления (если не настроены политики защиты от удаления, например, с помощью AWS Backup Vault Lock).

Сравнение с другими методами резервного копирования

МетодПреимуществаНедостатки
Снимки EBSИнкрементальность, скорость создания, интеграция с AWSЗависимость от региона, стоимость при большом объёме
Резервное копирование на уровне ОС (rsync, tar)Гибкость, независимость от облачного провайдераТребует ручного управления, занимает место на диске
Резервное копирование в S3 (AWS Backup)Централизованное управление, поддержка нескольких сервисовДополнительные затраты на сервис Backup
Репликация томов (DRBD, Ceph)Синхронность данных, высокая доступностьСложность настройки, высокая стоимость

Критика и проблемы

Несмотря на широкое распространение, снимки EBS имеют ряд недостатков, которые критикуются специалистами. Во-первых, при высокой частоте изменений данных (например, в базах данных с интенсивной записью) инкрементальные снимки могут становиться всё более «тяжёлыми», так как изменяется большое количество блоков, и экономия места снижается. Во-вторых, отсутствие встроенного механизма проверки целостности снимков — AWS не гарантирует, что данные в снимке не повреждены, и пользователь должен самостоятельно тестировать восстановление. В-третьих, при массовом создании снимков (например, для тысяч томов) могут возникать задержки в API и увеличение времени обработки запросов.

Интересные факты

  • Снимки EBS используются не только для резервного копирования, но и для создания «золотых образов» (golden images) — эталонных конфигураций операционных систем и приложений, которые затем развёртываются на сотнях и тысячах виртуальных машин.
  • В 2020 году AWS объявила о возможности создания снимков с «мгновенным восстановлением» (instant recovery), когда данные снимка сразу доступны для чтения без фоновой загрузки.
  • Снимки могут быть использованы для восстановления данных в случае «программной» ошибки, например, после неудачного обновления драйвера или вирусной атаки, но не защищают от физического уничтожения дата-центра (для этого требуется копирование снимков в другой регион).

Источники

  • Amazon Web Services. «Amazon EBS Snapshots» — документация AWS.
  • Amazon Web Services. «Amazon EBS Product Details» — описание продукта.
  • AWS re:Invent 2019. «Deep Dive on Amazon EBS Snapshots» — технический доклад.
  • Блог AWS. «New – Fast Snapshot Restore for Amazon EBS» (2020).
  • Книга: «AWS Certified Solutions Architect Study Guide» (Ben Piper, David Clinton) — глава о резервном копировании.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →