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

Как создать резервную копию сегмента AWS S3 без управления версиями исходного сегмента

Есть ли способ восстановиться после случайного удаления корзины Amazon S3?

У нас есть важная информация в наших корзинах, и мне нужно снизить риск случайного или злонамеренного удаления самой корзины.

Я знаю, что могу синхронизировать всю корзину локально, но это не очень практично, если размер моей корзины составляет 100 ГБ.

Есть идеи по стратегиям резервного копирования?

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

Использование сторонних инструментов, таких как BucketExplorer делает работу с управлением версиями довольно тривиальной (вместо прямого вызова API).

Вы также можете включить удаление с многофакторной аутентификацией для ваших корзин S3, что немного усложняет "случайное удаление";)

Подробнее о многофакторной аутентификации Удалить
Подробнее об удалении объектов

Вы можете использовать s3cmd http://s3tools.org/s3cmd

Итак, для резервного копирования ведра под названием mybucket

s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup

Одним из возможных решений может быть создание «корзины для резервных копий» и дублирование в ней конфиденциальной информации. Теоретически ваши данные в S3 безопаснее, чем на жестком диске.

Кроме того, я не уверен, действительно ли случайное удаление является проблемой, потому что вам нужно случайно Удалите все ключи ведра, прежде чем сможете удалить ведро.

Это не дешевое решение, но если ваши ведра действительно критичны, вот как вы это делаете: загрузите Инстанс Amazon EC2 и периодически синхронизировать там контент.

Amazon EC2 - их провайдер виртуализации. Вы можете запускать экземпляры Linux, Windows и т. Д. И запускать все, что захотите. Вы платите почасово и получаете достаточно большое место для хранения на локальном сервере. Например, я использую экземпляр «большого» размера, который имеет 850 ГБ на локальном диске.

Самое интересное, что он находится в той же сети, что и S3, и вы получаете неограниченное количество передач между S3 и EC2. Я использую 20 долларов Диск джунглей программное обеспечение в экземпляре Windows EC2, которое позволяет мне получать доступ к моим корзинам S3, как если бы они были папками на локальном диске. Затем я могу выполнять запланированные пакетные файлы для копирования материалов с S3 на мое локальное дисковое пространство EC2. Вы можете автоматизировать его для ежечасного резервного копирования, если хотите, или, если вы хотите играть, настроить JungleDisk (или его эквиваленты в Linux) на синхронизацию примерно раз в час. Если кто-то удалит файл, у вас будет хотя бы несколько минут, чтобы вернуть его из EC2. Я бы порекомендовал обычные резервные копии по сценарию - легко сохранить несколько дней резервных копий, если вы сжимаете их на том 850 ГБ.

Это действительно полезно для доставки журналов SQL Server, но я вижу, как это поможет и в вашей цели.

Другое возможное решение - реплицировать ваше ведро в зону Европы в S3. После случайного удаления корзина может сохраниться достаточно долго, чтобы восстановиться.

Чтобы немного изменить (отличный) ответ Брента; вам не нужно держать экземпляр работающим. Создайте AMI EC2, который извлекает ваши данные, синхронизирует их с томом EBS, делает снимки этого тома и завершает работу.

Вы также можете оставить том работающим отдельно, но его снимков должно быть достаточно для резервного копирования. Если ваш пользовательский AMI выполняет все это (включая завершение работы после завершения) без взаимодействия, то ваш сценарий «резервного копирования» просто должен выполнить команду «ec2run -n 1 -t m1.small ami-» и запустить и забыть.