Резервне копіювання даних, що зберігаються на Amazon S3


16

У мене є екземпляр EC2, на якому працює веб-сервер, який зберігає завантажені користувачами файли в S3. Файли записуються один раз і ніколи не змінюються, але їх періодично отримують користувачі. Ми, ймовірно, накопичуємо десь близько 200-500 ГБ даних на рік. Ми хотіли б забезпечити безпеку цих даних, особливо від випадкових видалень, і хотіли б мати можливість відновити видалені файли незалежно від причини.

Я читав про функцію версії для відро S3, але, здається, не знаю, чи можливе відновлення для файлів без історії змін. Дивіться документи AWS тут щодо версії:

http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html

У цих прикладах вони не показують сценарій, коли дані завантажуються, але ніколи не змінюються, а потім видаляються. Чи підлягають відновленню файли, видалені в цьому сценарії?

Тоді ми думали, що ми можемо просто створити резервну копію файлів S3 в Glacier за допомогою управління життєвим циклом об'єкта:

http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

Але, схоже, це не спрацює для нас, оскільки файловий об’єкт не скопійований у льодовик, а переміщений до льодовика (точніше здається, це атрибут об’єкта, який змінюється, але все одно ...).

Тому, здається, немає прямого способу резервного копіювання даних S3, а передача даних із S3 на локальні сервери може зайняти багато часу і може спричинити за собою значні витрати на передачу з часом.

Нарешті, ми думали, що ми будемо створювати нове відро щомісяця, яке слугуватиме щомісячним повним резервним копієм, та копіювати вихідні дані відра в нове в перший день. Потім використовуючи щось на зразок дублікату ( http://duplicity.nongnu.org/ ) ми будемо синхронізувати відро резервного копіювання щовечора. Наприкінці місяця ми помістимо вміст відра для резервного копіювання у сховище Glacier і створимо нове відро для резервного копіювання, використовуючи нову, поточну копію оригінального відра ... та повторимо цей процес. Це здається, що це спрацювало б і мінімізувало витрати на зберігання / передачу, але я не впевнений, чи подвійність дозволяє безпосередньо передавати «від кошика до кошика» без зведення даних спочатку до керуючого клієнта.

Отже, я думаю, тут є пара питань. По-перше, чи дозволяє версія версії S3 відновити файли, які ніколи не були змінені? Чи є якийсь спосіб «скопіювати» файли з S3 в льодовик, який я пропустив? Чи може дублювання або будь-який інший інструмент передавати файли між відрами S3 безпосередньо, щоб уникнути витрат на передачу? Нарешті, чи я не забуваю про свій підхід до резервного копіювання даних S3?

Заздалегідь дякую за будь-яку інформацію, яку ви могли б надати!

Оновлення

Нещодавно Amazon оголосив, що версія версії зараз працює з правилами життєвого циклу


aws.amazon.com/blogs/aws/archive-s3-to-glacier/… + внизу є приємне коротке відео з YouTube, що пояснює s3 до льодовика
еквівалент88

Відповіді:


10

Я читав про функцію версії для відро S3, але не можу виявити, чи можливе відновлення для файлів без історії змін. Дивіться документи AWS тут на> версіях:

Я тільки що спробував це. Так, ви можете відновити з початкової версії. Коли ви видаляєте файл, він робить маркер видалення, і ви можете відновити версію до цього, тобто: єдину, єдину, версію.

Тоді ми думали, що ми можемо просто створити резервну копію файлів S3 в Glacier, використовуючи життєвий цикл об'єкта> управління:

Але, схоже, це не спрацює для нас, оскільки файловий об’єкт не скопійований у льодовик, а> переміщений до льодовика (точніше здається, це атрибут об'єкта, який змінюється, але> все одно ...).

Льодовик справді призначений для тривалого зберігання, до якого дуже рідко можна дістатися. Отримати велику частину даних за один раз може також дуже дорого, оскільки це не призначене для відновлення великої кількості даних у певний час (у відсотках).

Нарешті, ми думали, що ми будемо створювати нове відро кожного місяця, яке слугуватиме щомісячним повним резервним копієм та копіювати вихідні дані відра в нове в перший день. Потім використовуючи щось> на зразок дублікату ( http: //duplicity.nongnu). org / ) ми б синхронізували відро резервного копіювання кожну> ніч.

Не робіть цього, ви можете мати лише 100 відра на рахунок, тому через 3 роки ви взяли третину надбавки на відро за допомогою резервного копіювання.

Отже, я думаю, тут є пара питань. По-перше, чи дозволяє версія версії S3 відновити файли, які ніколи не були змінені?

Так

Чи є якийсь спосіб «скопіювати» файли з S3 в льодовик, який я пропустив?

Не те, що я знаю


Спасибі Sirex, одне уточнення: ми мали намір зберегти одночасно одне відро для резервного копіювання (поточний місяць) та архівувати резервне копіювання минулого місяця до льодовика, а потім видалити копії льодовика за деякою загальною політикою зберігання (щомісяця протягом 3 місяців потім щокварталу на рік). Чи вважаєте ви, що це можливо, чи є якесь інше обмеження AWS, що заважає цій стратегії?
Fiver

хм, я думаю, це розумно. Я не пробував цього в гніві (або льодовик з цього приводу, ми використовуємо Сідней, і він не був доступний, коли ми заглянули в нього)
Sirex

3

Мені не подобається встановити s3, тому що його повільно, він може висіти та виконує функцію старого шкільного НФС. краще просто вгору / вниз по мірі необхідності.

http://s3tools.org/s3cmd

його простий у скрипті ... не забудьте свій файл ~ / .s3cfg


Ого, це виглядає круто!
JakeGould

@nandoP +1 Я думав про використання s3cmd та прокат свого власного
Fiver

1

Здається, вам може знадобитися S3FS, який в основному монтує ваші відра S3 так, як якщо б це були локальні файлові системи:

http://code.google.com/p/s3fs/wiki/FuseOverAmazon

Я вважаю за краще використовувати цю роздвоєну версію, оскільки вона зберігає таку ж структуру папок, що і створена на веб-панелі управління для Amazon S3:

https://github.com/tongwang/s3fs-c

Тоді у мене є кілька скриптів оболонки, які в основному використовуються rsyncдля синхронізації даних з моїми локальними налаштуваннями.

Загалом, я вважаю, що S3FS найкраще працює для читання вмісту, розміщеного в ковшах Amazon S3. Писати не так послідовно. Але для резервного копіювання відра S3 вилка Tony Wang із S3FS чудово працює.


1
Це звучить корисно. Чи передається він безпосередньо між відрами, не завантажуючи клієнта?
Фівер

Можливо, так. Я в основному використовую його для встановлення на локальному сервері та резервного копіювання на наших локальних машинах. Але оскільки він має можливість запису, я б не став використовувати його як «перехід між» для переміщення даних між відрами. В основному на посередницькій машині монтуйте одне відро на одній точці кріплення. Потім встановіть інше відро як іншу точку кріплення. А потім просто зробіть rsync. Але, як я вже сказав, час / дати модифікації можуть бути дивними з Amazon S3, оскільки це насправді не файлова система. Але експериментуйте.
JakeGould
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.