У мене є екземпляр 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 оголосив, що версія версії зараз працює з правилами життєвого циклу