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

By | 07/24/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:

Готово.