Назад | Перейти на главную страницу

Как сделать резервную копию AWS S3 и EBS у поставщика, не принадлежащего Amazon?

Мы сконцентрировали большинство наших операций на AWS, и нам нравится простота его использования. Однако время от времени параноидальная сторона моего мозга задается вопросом: что могло бы случиться, если бы, скажем, плохие парни завладели нашими ключами администратора?

В экосистеме Amazon у нас есть неплохой план резервного копирования: мы храним большую часть статических данных в S3. Моментальные снимки томов EBS создаются каждую ночь. Однако настоящая паранойя будет означать поддержку провайдера за пределами экосистемы Amazon. Как вы справляетесь с этим? Меня особенно интересует резервное копирование снимков EBS и содержимого S3. Бонусные баллы за резервное копирование RDS.

Я не реализовал это лично, но моя стратегия была бы примерно такой:

Ковши S3

Некоторые другие провайдеры реализуют S3 API, например Объекты мечты или Google мог хранилище. У меня был бы просто сценарий, который выполняет итерацию по ведру и передает объекты другому поставщику. Чтобы сэкономить трафик, вы можете проверить контрольную сумму.

EBS

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

RDS

Подобно EBS, но вместо клонирования диска я бы использовал моментальный снимок для запуска нового экземпляра, затем запустил mysqldump (или другой аналогичный инструмент для вашей СУБД) и загрузил результат в S3.

В качестве альтернативы у вас может быть внешний раб в свой экземпляр RDS и храните его внешнюю резервную копию.

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