Поиск по сайту:

Как сделать резервную копию ваших экземпляров AWS EC2 на S3 с помощью снимков состояния EBS


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

Зачем делать резервную копию сервера, который уже находится в облаке?

Даже облачные серверы не застрахованы от сбоев. Тома EBS, на которых работают все инстансы AWS EC2, не являются полностью избыточными. Это означает, что если на вашем сервере произойдет сбой диска, вы можете потерять свои данные.

Однако не стоит паниковать, так как тома EBS фактически достаточно безопасны, учитывая все обстоятельства. Они используют RAID и, как таковые, являются избыточными и примерно в 20 раз безопаснее, чем обычные диски.

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

Тома EBS io2 являются наиболее надежными, но все остальные типы имеют надежность только 99,8 – 99,9 %, что меркнет по сравнению с надежностью S3 99,999999999 % (которая в основном настолько хороша, насколько это возможно, прежде чем он потеряет все его значение). Резервное копирование объектов S3 выполняется в нескольких центрах обработки данных. EBS хранится в одной зоне доступности.

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

К счастью, это очень легко исправить, поскольку AWS предоставляет простой в настройке сервис для автоматизации резервного копирования на S3, который настолько безопасен, насколько это возможно.

Настройка моментальных снимков EBS

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

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

Включить моментальные снимки EBS довольно просто. Перейдите в консоль управления EC2 и нажмите «Менеджер жизненного цикла» в разделе Elastic Block Store. Создайте новую политику жизненного цикла.

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

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

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

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

Перезапуск сервера из моментального снимка EBS

Восстановить невероятно просто. Вы найдете список моментальных снимков в разделе EBS на боковой панели. Щелкните правой кнопкой мыши любой из них и нажмите «Создать том».

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

Если вы используете том без полномочий root, вы можете подключить его без простоев, вам просто нужно вручную подключить диск в ОС с umount в Linux или Управление дисками в Windows.

Однако восстановление может занять некоторое время. У AWS есть дополнительная функция под названием Fast Snapshot Restore, которая поддерживает избыточность, что делает этот процесс практически мгновенным. Однако это стоит денег, и мы не рекомендуем использовать его для большинства рабочих нагрузок. Сбои EBS достаточно редки, поэтому, скорее всего, это не будет проблемой, и даже с быстрым восстановлением моментальных снимков у вас все равно будут простои.