AWS: бекап EBS по расписанию через CloudWatch rules или Data Lifecycle Manager

Автор: | 24/07/2018
 

Выполнить снапшот EBS по расписанию можно двумя способами: старый — с помощью CloudWatch rules, и новый — с помощью Data Lifecycle Manager.

EBS backup with CloudWatch rules

Переходим в CloudWatch > Rules, жмём Create rule:

В Event source выбираем Schedule, задаём время — фиксированный период или по крону, например — в 18:10 каждый день (время тут задаётся в GMT, необходимо учитывать разницу, например  с Киевом сейчас это +3):

10 15 * * ? *

Если правило в cron правильное — CloudWatch выведет указание на следующее выполнение. Если список не появился — выражение указано неверно. Примеры есть в документации>>>.

В Targets выбираем EC2 CreateSnapshot API Call и указываем Volume ID:

Там же создаём или выбираем IAM роль, что бы CloudWatch имел доступ к EBS.

Задаём имя правилу:

Для конвертации времени между разными таймзонами можно использовать https://www.worldtimebuddy.com.

И в назначенное время — создаётся снапшот:

EBS backup with Data Lifecycle Manager 

Доступен пока не во всех регионах (в Ohio на июль 2018 ещё нет), но позволяет управлять снапшотами — можно указать кол-во копий, которое будет хранится, и можно добавить тег, например Name, который будет добавлен к снапшоту.

Документация тут>>>.

Переходим в DLM:

Создаём правило:

В Target volumes with tags — указываем фильтр, по которому будут выбираться EBS, в Retention rule — сколько копий хранить.

Учтите, что:

A snapshot will be taken within one hour from the start time.

Т.е. в расписании указывается стартовое время, после которого AWS рандомно в течении часа выполнит снапшот.

Сохраняем, и ждём:

Появился в 18.31:

Готово.