Как обрабатывать резервное копирование AWS EC2 снимками EBS

Amazon Web Services (AWS) Экземпляры EC2 – удобный способ выполнения рабочих нагрузок на виртуальных машинах (VM). Но что произойдет, если хранилище, к которому они подключены, выйдет из строя или испортится? Пришло время обсудить резервное копирование EC2 в AWS.

При создании резервной копии экземпляра EC2 вы будете работать с томами Elastic Block Store (EBS), более конкретно – снимками томов EBS (EBS snapshots). EC2 хранит все тома с использованием EBS, и создание снимка EBS – отличный способ создать резервную копию ваших данных.

В этом руководстве вы узнаете, как создавать снимки EBS с помощью Консоли управления AWS и Интерфейса командной строки AWS (AWS CLI).

Если вы хотите управлять резервными копиями EC2/снимками EBS легким способом, обязательно ознакомьтесь с Veeam Backup для AWS. Veeam заботится не только о создании снимков EBS, но и управляет репликацией, интеллектуально отслеживает измененные блоки и предоставляет общедоступный API.

Необходимые условия

Эта статья будет пособием. Если вы планируете следовать пошагово, вам понадобится следующее:

Создание политики IAM и разрешений интерфейса прикладного программирования (API) AWS не входит в рамки данной статьи. Всегда придерживайтесь принципа минимальных привилегий при авторизации учетных записей для выполнения действий.

  • Установлен AWS CLI и прошел аутентификацию вашим IAM-пользователем на локальной машине.

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

Существует несколько способов создания снимков EBS. Давайте начнем создание снимков через консоль управления AWS.

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

Переход к консоли EC2

Чтобы начать:

  1. Откройте консоль управления AWS и войдите в свою учетную запись AWS, предоставив учетные данные своей учетной записи AWS (root) или IAM.

2. Нажмите Службы в верхнем левом углу вашего экрана.

AWS Management Console showing services drop-down menu.

3. Выберите EC2 в выпадающем меню Службы. Опция EC2 расположена в разделе Вычисление, как показано ниже. Эта опция перенесет вас в консоль EC2.

AWS Management Console showing services drop-down menu and EC2 selection.

Теперь вы должны находиться на панели Ресурсы. Панель Ресурсы обеспечивает быстрый обзор ресурсов, связанных с EC2, установленных в выбранном вами регионе. На скриншоте ниже вы можете видеть, что на панели Ресурсы данного руководства указаны ресурсы, установленные для вошедшего пользователя в регионе US East (N. Virginia).

EC2 Console Resources Dashboard showing established resources.

Создание снимка EBS в консоли EC2

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

  1. Выберите Снимки в разделе Хранилище блочных томов в левой части экрана.
EC2 Console showing Snapshots selection.

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

Snapshots section of the EC2 Console showing Create Snapshot selection.

3. На странице Создать снимок установите тип ресурса в Том в поле Выбрать тип ресурса. Установка типа ресурса в Том указывает AWS создать снимок одного тома EBS; не всех томов, подключенных к экземпляру EC2.

Create Snapshot menu showing Volume and Instance selection.

4. Затем выберите идентификатор тома EBS для создания снимка из выпадающего меню. Идентификатор тома – это уникальный идентификатор, присвоенный каждому тому EBS. На следующем снимке экрана вы увидите, что выбран идентификатор тома этого учебного пособия vol-0b4f056a0b709240a.

Create Snapshot menu showing completed Volume field.

5. Теперь введите описание для вашего снимка EBS в поле Описание. Поле Описание необязательно и может содержать до 255 символов.

Это описание будет видно позже как свойство снимка EBS. В этом учебном пособии будет использоваться Снимок тома для блога ATA в качестве описания.

Create Snapshot menu showing the completed Description field.

6. Далее, вы можете пометить ваш снимок EBS, используя необязательные пары ключ/значение. Теги являются мощным инструментом для управления и организации ваших ресурсов в AWS. В этом руководстве будут использоваться теги, которые демонстрируют общий случай использования для сервера.

Другие общие теги включают Имя, Владелец, Окружение и Назначение.

Create Snapshot menu showing completed Tag field.

7. Теперь нажмите на кнопку Создать снимок, чтобы создать снимок EBS.

Create Snapshot menu showing Create Snapshot selection.

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

8. По завершении в консоли EC2 появится следующее сообщение об успешном выполнении. Отклоните сообщение, выбрав Закрыть.

Message indicating success Snapshot Create Request.

Теперь вы должны увидеть снимок EBS в консоли со статусом в ожидании. Он будет находиться в этом статусе до тех пор, пока все измененные блоки тома EBS не будут переданы в Amazon S3.

Snapshots section of the EC2 Console showing pending snapshot.

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

После завершения создания снимка вы увидите Статус завершен, как показано ниже.

Snapshots section of the EC2 Console showing completed snapshot.

Теперь у вас есть резервная копия AWS EC2!

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

На последнем этапе вы создали снимок EBS с использованием веб-консоли AWS, но это не единственный способ сделать это! Вы также можете создать резервную копию экземпляра EC2, создав снимок через AWS CLI.

Чтобы создать снимок с использованием AWS CLI, предполагая, что у вас установлен AWS CLI и вы вошли в свою учетную запись:

  1. Откройте командную строку или консоль PowerShell на вашем компьютере с Windows

2. Выполните команду aws ec2 describe-volumes с параметром --query, чтобы вывести список экземпляров и идентификаторов томов. Запишите идентификатор тома, который вы хотите сделать снимок.

aws ec2 describe-volumes --query 'Volumes[*].Attachments[].{VolumeID:VolumeId,InstanceID:InstanceId}' --output text

3. Выполните команду aws ec2 create-snapshot, указав следующие параметры:

  • volume-id – уникальный идентификатор тома EBS, который вы собираетесь резервировать
  • description – описание, которое вы хотели бы присвоить резервной копии
  • tag-specifications – теги, которые вы хотели бы добавить к резервной копии

Следующая команда создает снимок объема, который вы указываете справа с параметром --volume-id с описанием Снимок тома для блога ATA через AWS CLI и двумя тегами; Имя: FileServer01 и Цель: Предприятие файлового хранилища.

# Убедитесь, что вставили идентификатор вашего тома 
aws ec2 create-snapshot --volume-id <your volume ID> --description 'Volume Snapshot for ATA Blog via the AWS CLI' --tag-specifications 'ResourceType=snapshot,Tags=[{Key=Name,Value=FileServer01},{Key=Purpose,Value=Enterprise File Storage}]' 
AWS CLI output showing successful command output.

AWS позволяет вам настраивать формат вывода по умолчанию команд AWS CLI, в зависимости от предпочтений пользователя. Варианты выбора формата вывода включают JSON, YAML, YAML-Stream, текст и таблицу. Вывод вашей команды зависит от конфигурации вашего AWS CLI и может отличаться от приведенного выше вывода.

4. Теперь проверьте состояние снимка с помощью команды aws ec2 describe-snapshots, указав идентификатор снимка в параметре --snapshot-id. Найдите идентификатор снимка в свойстве SnapshotID, возвращенном на шаге 2.

Если вы не знаете идентификатор снимка, выполните поиск всех ваших снимков с помощью aws ec2 describe-snapshots --owner self.

# Убедитесь, что вставили идентификатор вашего снимка
aws ec2 describe-snapshots --snapshot-id <your snapshot ID>

В конечном итоге команда describe-snapshots должна вернуть Progress 100% и State completed, как показано ниже.

AWS CLI output showing completed EBS Snapshot.

Отличная работа! Вы только что программно создали снимок EBS с помощью AWS CLI!

Следующие шаги

В этом руководстве вы узнали, как создавать резервные копии экземпляров Amazon EC2 с помощью снимков EBS с использованием веб-интерфейса консоли AWS и программного интерфейса AWS CLI.

Если вы завершили тестирование снимка, созданного в этом учебнике, убедитесь удалить его, чтобы избежать дополнительных расходов!

Чтобы пойти дальше, что если бы вы попробовали восстановить экземпляр EC2?

Source:
https://adamtheautomator.com/aws-ec2-backup/