Как сделать снимок экземпляра EC2 для защиты данных AWS EC2

Если вы используете Amazon Web Services (AWS) для запуска экземпляров EC2 (виртуальных машин) в Elastic Compute Cloud, у вас есть несколько способов защиты ваших рабочих нагрузок от потери данных, вызванной сбоями программного обеспечения, заражения вредоносными программами, случайного удаления и другими проблемами. Одним из доступных вариантов является встроенная функция резервного копирования AWS для экземпляров EC2, называемая снимками EBS. В этом блоге объясняется, как создать снимок экземпляра EC2, используя снимки томов EBS с подробными примерами процесса настройки.

Что такое снимки EBS?

Снимки EBS – это инкрементальные копии тома Elastic Block Store (EBS), которые хранятся в Amazon S3. Это означает, что при создании снимка EBS в первый раз создается полное резервное копирование, и только измененные данные копируются для последующих снимков EBS. Тома EBS – это виртуальные диски, присоединенные к экземплярам EC2.

Несмотря на то, что снимки EBS хранятся в Amazon S3, вы не можете получить доступ к снимкам в хранилище S3 вручную. Вы можете управлять этими снимками в консоли управления EC2.

Примечание: Термины снимок AWS EC2 и снимок Amazon иногда также используются для обозначения снимков EBS.

Как работают снимки EBS

Снимки EBS являются резервными копиями на уровне блока данных экземпляра EC2, представляющими том EBS в конкретный момент времени, когда была выполнена команда снимка. Это означает, что если экземпляр работает, блоки данных, записанные на тома EBS после начала создания снимка, не сохраняются в снимке. В результате снимки EBS являются консистентными при сбое и не консистентными с приложением.

Обратите внимание, что снимки EBS не являются аналогичными снимкам в контексте VMware vSphere и Microsoft Hyper-V. Снимки Hyper-V и VMware не являются резервными копиями и не могут заменить правильные резервные копии.

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

Как создать снимок в консоли AWS для экземпляров EC2

Консоль управления AWS – это веб-интерфейс с графическим интерфейсом пользователя, используемый для управления всеми вычислительными, хранилищами и другими ресурсами AWS, включая создание снимков EBS.

Чтобы получить доступ к экземпляру EC2, для которого вы хотите создать снимок:

  1. Войдите в консоль управления AWS, используя учетную запись, у которой есть необходимые разрешения для создания экземпляров EC2, томов EBS и снимков EBS.
  2. Нажмите Службы и в разделе Вычисление нажмите EC2, чтобы открыть консоль управления экземплярами EC2, томами EBS и другими функциями EC2.

Мы подготовили экземпляр EC2 для демонстрации шагов по созданию снимков EBS. Параметры нашего экземпляра EC2, который мы собираемся резервировать и восстанавливать с помощью снимков EBS, следующие:

Имя: blog-temp

Идентификатор экземпляра EC2: i-0071290000000cb84

Тип экземпляра: t2.micro

Зона доступности: eu-central-1c

Том EBS 1: vol-0617000000000763c

Тип тома: gp2

Размер тома: 8 ГБ

Гостевая операционная система (ОС), работающая на экземпляре EC2, – Ubuntu Server (Linux).

Запись файлов на том EBS

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

lspci > file01.txt

echo "test EC2 snapshot 01" > snapshot01.txt

Подготовка экземпляра

Остановите экземпляр EC2, чтобы убедиться, что снимок содержит согласованные данные. Причина в том, что тома EBS работают на уровне блоков. Когда создается снимок EBS, сохраняется состояние тома EBS на момент времени. Блоки хранятся как есть. Система не знает о операциях с файлами на уровне файловой системы в это время. Если файлы записываются на том EBS в момент создания снимка, снимок будет содержать несогласованные данные. Эффект аналогичен отключению кабеля питания от физического компьютера во время записи файлов.

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

Чтобы подготовить ваш экземпляр EC2 для создания снимка:

  1. Откройте страницу со списком экземпляров EC2 в консоли управления EC2. Щелкните правой кнопкой мыши имя экземпляра и в контекстном меню щелкните Остановить экземпляр.

  1. Найдите том, используемый экземпляром EC2. Щелкните вкладку Хранилище и щелкните идентификатор тома соответствующего тома EBS (vol-0617000000000763c в нашем случае).

Создание снимка

Мы готовы создать снимок экземпляра EC2:

  1. Выберите том EBS (отметьте флажок слева от строки) и щелкните Действия > Создать снимок.

  1. Введите описание, установите параметры шифрования и добавьте тег. Я использую следующие параметры:
  • Описание: Снимок EBS блог 01
  • Не зашифровано

Нажмите Создать снимок.

Примечание: Мы используем незашифрованный объем и создаем незашифрованный снимок. В этом случае параметры шифрования для снимка можно установить вручную. При создании снимка зашифрованного объема снимок автоматически шифруется.

  1. Вы должны увидеть следующее сообщение и идентификатор снимка:

Создание запроса снимка выполнено успешно
snap-0778000000000ab40

Щелкните по идентификатору снимка, чтобы открыть страницу с параметрами и статусом снимка.

  1. Статус снимка ожидание означает, что данные с тома EBS в настоящее время передаются в Amazon S3. Дождитесь завершения создания снимка (статус изменится на завершено). Время зависит от размера данных, сохраненных в снимке.

Как создать снимки нескольких томов

Часто можно встретить экземпляр EC2, использующий несколько томов EBS. В этом случае вы можете создать снимок нескольких томов для всех томов EBS, подключенных к этому экземпляру EC2 для резервного копирования Amazon EC2.

В этом разделе мы рассмотрим:

Создание второго тома EBS для экземпляра EC2

Давайте сначала добавим второй том EBS к нашему экземпляру EC2, который мы используем для демонстрационных целей:

  1. В панели навигации консоли управления EC2 перейдите к Эластичному блочному хранилищу > Томам. Нажмите Создать том.

  1. Для Зоны доступности регион должен быть таким же, как у экземпляра (eu-central-1c в нашем случае).

Введите тип/размер тома, установите параметры шифрования и введите теги. Теги помогают найти том в списке томов. Мы устанавливаем размер тома на 1 ГиБ и используем следующие теги:

  • Ключ: блог

  • Значение: временный том 2

Нажмите Создать том.

  1. Запомните (или запишите) идентификатор тома (vol-0b4a0000000003d01 в нашем случае). Нажмите на идентификатор тома, чтобы открыть свойства тома.

  1. Прикрепите том к экземпляру EC2. Щелкните правой кнопкой мыши на томе или нажмите Действия, а затем в открывшемся меню выберите Прикрепить том.

  1. Выберите экземпляр, к которому нужно прикрепить том EBS. Выберите идентификатор экземпляра EC2. В нашем случае идентификатор экземпляра i-0071290000000cb84.

Вы можете выбрать устройство в гостевой операционной системе, используемое для доступа к прикрепленному тому. В нашем случае используется /dev/sdf.

Нажмите Прикрепить, чтобы прикрепить новый том к экземпляру EC2.

Примечание: Важная информация о переименовании дисковых устройств отображается в заметке. В нашем случае /dev/sdf переименован в /def/xvdf в гостевой ОС.

Теперь к нашему экземпляру EC2 (blog-temp) подключены два тома:

vol-0617000000000763c

vol-0b4a0000000003d01

Запись данных на втором томе EBS

Затем мы создадим файл на втором томе EBS. Этот файл будет использоваться для проверки, восстановлены ли все данные после восстановления тома из снимка EBS. Для этой цели мы создадим раздел, создадим файловую систему и смонтируем файловую систему в гостевой ОС Linux, работающей на экземпляре EC2.

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

Управление хранилищем

  • Используйте lsblk, чтобы отобразить подробную информацию о блочных устройствах в Linux.
  • Используйте df -h, чтобы проверить свободное место на смонтированных дисках.
  • Используйте mount, чтобы проверить смонтированные диски.

Создание и монтирование раздела

Создание и форматирование раздела на втором томе EBS в parted:

sudo parted -l

parted /dev/xvdf

(parted) mklabel msdos

(parted) print

(parted) mkpart primary ext4 1MB 955MB

(parted) print

(parted) quit

Создание файловой системы на подготовленном разделе:

mkfs.ext4 /dev/xvdf1

Создание каталога для использования в качестве точки монтирования:

mkdir disk2

Монтирование раздела с файловой системой в созданный каталог:

mount /dev/xvdf1 /disk2/

Переход в каталог смонтированного раздела:

cd /disk2

Запись изменений на 2 томах EBS

  1. Создание файла на разделе, расположенном на втором томе EBS, присоединенном к экземпляру EC2, работающему под управлением Linux:

echo “Снимок EBS для диска 2” > /disk2/d2-file01.txt

  1. Внесение изменений на первом диске для создания нового снимка EBS первого тома, используемого экземпляром EC2. Оба тома должны содержать изменения с момента создания предыдущего снимка.

Мы создаем файл snapshot02.txt на первом томе для более удобного обнаружения изменений, сохраненных в новом снимке первого тома.

После подключения двух томов EBS с новыми данными к экземпляру EC2 мы можем создать многотомные снимки.

Создание многотомного снимка

  1. Перейдите к Блоку упругого хранилища> Снимкам в панели навигации страницы управления экземплярами EC2. Нажмите Создать снимок.

  1. Выберите тип ресурса: Экземпляр.
  2. Введите идентификатор экземпляра нужного экземпляра EC2, чьи тома вы хотите резервировать с помощью снимков EBS.

Все тома, подключенные к выбранному экземпляру, выбираются автоматически.

  1. Введите описание, чтобы вам было легче найти снимок EBS в AWS, когда это будет необходимо. В нашем примере описание – Снимок EBS блог 02.
  2. Выберите флажок Скопировать теги с тома, если хотите использовать теги, назначенные томам EBS.
  3. После нажатия Создать снимок создаются снимки для всех выбранных томов.

Если процесс успешен, вы увидите следующее сообщение:

Создание запроса на создание снимка выполнено успешно

Отображаются два идентификатора снимков Amazon: snap-0f95000000000de71 и snap0a91000000000769b в нашем случае.

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

A new snapshot for each volume has been created.

Использование AWS CLI для создания снимков

Вы можете использовать AWS CLI в качестве альтернативы консоли управления AWS, если предпочитаете интерфейс командной строки или нуждаетесь в автоматизации создания снимков.

Команда для создания снимка EBS в AWS CLI:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "Это тестовый снимок для блога"

Результат должен выглядеть так:

{

    "Description": "Это тестовый снимок для блога",

    "Tags": [],

    "Encrypted": false,

    "VolumeId": "vol-0b4a51e1cea333d01",

    "State": "pending",

    "VolumeSize": 8,

    "StartTime": "2021-08-28T21:06:01.000Z",

    "Progress": "",

    "OwnerId": "012345678910",

    "SnapshotId": "snap-0689749a39a7b822b"

}

Команда для создания снимка с тегами:

aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Резервная копия продукта' --tag-specifications

'ResourceType=snapshot,Tags=[{Key=Blog,Value=Test},{Key=AWS,Value=EC2-snapshot}]'

Как восстановить экземпляр EC2 с использованием снимков EBS

Мы создали снимки томов EBS, прикрепленных к экземпляру Amazon EC2. Эти снимки являются формой резервного копирования данных в AWS. Теперь давайте выясним, как создать экземпляр EC2 из снимка, восстановив:

  • конкретные тома EBS в AWS
  • весь экземпляр EC2

Восстановление второго тома EBS

Давайте восстановим второй том EBS (размер 1 ГБ) из моментального снимка. Этот том используется для хранения файлов, и операционная система не установлена на этом томе.

  1. В панели навигации консоли управления EC2 перейдите к Elastic Block Store > Snapshots.

В поле поиска вводим “blog” для отображения всех снимков, созданных для томов EBS экземпляра EC2, используемого для написания этого блога. Это пример того, почему стоит добавлять описания и теги.

  1. Выберите снимок 1-гигабайтного тома и создайте новый том из снимка. Щелкните правой кнопкой мыши по снимку и в открывшемся меню нажмите Create Volume.

  1. Определите необходимые параметры тома на странице Create Volume: выберите тип тома и определите размер тома, зону доступности, параметры шифрования, ключи тегов и значения.

Зона доступности должна быть такой же, как и у экземпляра EC2 (eu-central-1c в нашем случае).

Размер тома такой же, как и у оригинального скопированного тома (1 ГБ) в нашем примере.

Ключ тега – blog, а значение – восстановленный том 1.

  1. Нажмите Create Volume для завершения и создания тома EBS с использованием снимка EBS.

Вы увидите следующее сообщение:

Create Volume Request Succeeded

Вы можете сохранить идентификатор тома. Новый идентификатор тома – vol-09cd000000000b502 в нашем случае.

Восстановление системного тома

Для восстановления инстанса EC2 вам необходимо восстановить том EBS, на котором установлена операционная система. В этом случае вы можете создать образ из снимка тома EBS, используемого гостевой операционной системой, и запустить инстанс с использованием этого образа (восстановленный инстанс EC2).

Создание образа

  1. В консоли управления EC2 перейдите в Elastic Block Store > Snapshots и выберите нужный снимок тома EBS, на котором установлена гостевая ОС.

Выбираем самый последний снимок 8-гигабайтного тома, используемого гостевой ОС (Ubuntu Server). Этот снимок тома EBS был создан, когда мы создали снимок мультитома для инстанса EC2.

Щелкните правой кнопкой мыши снимок и в открывшемся меню нажмите Create Image.

  1. В открывшемся окне введите необходимую информацию и выберите параметры для создания образа из снимка EBS. Мы используем следующие параметры.

Имя: blog-recovered

Описание: Восстановлен из снимка EBS (blog)

Остальные настройки оставляем по умолчанию.

Нажмите Create.

  1. Откроется диалоговое окно Create Image request received. Нажмите на идентификатор образа, чтобы просмотреть информацию об образе (ami-08ed800000000872a в нашем случае). Ожидайте, пока создание образа не будет завершено.

Запуск образа

После создания образа щелкните правой кнопкой мыши образ и нажмите Launch.

Открывается мастер создания нового экземпляра EC2. Вы должны выбрать параметры экземпляра. Вы можете выбрать опции, которые такие же, как опции, выбранные для оригинальной виртуальной машины, которая была создана. Вы также можете восстановить экземпляр на новый более мощный экземпляр EC2.

Примечание: Мы перенаправляемся на Шаг 2 мастера (вместо Шаг 1. Выберите AMI), так как мы уже выбрали AMI blog-recovered на странице со списком AMI.

Шаг 2: Выбор типа экземпляра. Мы выбираем t2.micro в качестве типа экземпляра. Нажимаем Далее на каждом шаге мастера, чтобы продолжить.

Шаг 3: Настройка экземпляра. Настройте детали в зависимости от ваших требований, включая сетевые настройки, роли IAM, поведение при выключении и т. д.

Шаг 4: Добавление хранилища важен при восстановлении экземпляра EC2 с помощью снимков EBS. Нажмите Добавить новый том. На этой странице добавляется новая строка с параметрами тома. Введите идентификатор необходимого снимка тома в поле Снимок.

Мы вводим snap-0a91000000000769b, который является идентификатором нашего снимка 1 ГБ. В нашем примере размер тома 8 ГБ выбран по умолчанию. Мы можем установить размер тома на 1 ГБ, как настроено для исходного тома EBS. Вы также можете выбрать устройство хранения, тип тома, шифрование и опции удаления при завершении.

Шаг 5: Добавление тегов. Убедитесь, что теги полезны для целей поиска. Теги применяются ко всем объемам и экземплярам. В этом примере ключ тега – блог, а значение – восстановленный VM 01.

Шаг 6: Настройка группы безопасности. Отредактируйте параметры, чтобы контролировать сетевой трафик для вашего экземпляра EC2.

Шаг 7: Просмотр запуска экземпляра. Просмотрите детали запуска вашего экземпляра и нажмите Запустить, чтобы завершить. Вы должны выбрать пару ключей или создать новую для доступа к экземпляру EC2.

  1. Страница Статус запуска теперь отображается. Нажмите Просмотреть экземпляры.

  1. Введите имя для восстановленного экземпляра (blog-recovered в нашем случае). Состояние восстановленного экземпляра E2 – запущено. Оба объема EBS, восстановленные из снимков EBS, присоединены к экземпляру EC2 (см. снимок экрана ниже).

Проверка восстановленных файлов

Давайте проверим, были ли восстановлены файлы, созданные до взятия последнего снимка:

Перечислите подключенные блочные устройства:

lsblk

Перечислите файлы текущего (домашнего) каталога пользователя:

ls -al

Файлы snapshot01.txt и snapshot2.txt, созданные до взятия первого и второго снимков тома EBS, на котором установлена ОС, присутствуют.

Примонтируйте раздел, находящийся на втором диске (томе EBS):

sudo mount /dev/xvdb1 /disk2/

Имя раздела было изменено на /dev/xvdb1. Имейте в виду, что вам может потребоваться отредактировать /etc/fstab после восстановления экземпляра для автоматического монтирования.

ls -al /disk2/

d2-file01.txt присутствует в файловой системе, сохраненной на втором EBS-томе после восстановления.

Экземпляр AWS EC2, с прикрепленными томами EBS, успешно восстановлен из снимков EBS. Вся необходимая информация сохранена.

Заключение

Вы можете создать резервную копию одного тома или всех томов, используя много-томные снимки. Это очень удобная функциональность AWS для защиты данных и восстановления после катастрофы. Однако имейте в виду, что возникают дополнительные расходы при хранении снимков EBS в облачном сервисе Amazon из-за использования дополнительного облачного хранилища. Кроме того, есть другие ограничения при использовании снимков EBS для резервного копирования, такие как то, что система создания снимков не учитывает файлы, записываемые в момент создания снимка. В результате резервные копии, созданные с помощью снимков EBS, не являются согласованными с приложением.

NAKIVO Backup & Replication – это решение по защите данных, которое поддерживает создание резервных копий, учитывающих приложение, и реплики экземпляров Amazon EC2. Вы также можете использовать это решение для значительного упрощения и автоматизации процесса резервного копирования и восстановления. Быстро восстановите весь экземпляр EC2 из резервной копии без необходимости восстанавливать тома EBS, создавать экземпляр EC2 и вручную прикреплять тома к созданному экземпляру EC2.

Source:
https://www.nakivo.com/blog/how-to-create-snapshots-of-ec2-instance/