Нужно сделать резервную копию данных на Amazon S3?


16

Я размещаю 200 ГБ изображений продуктов на S3 (это мой основной файловый хост).

Нужно ли создавать резервные копии этих данных в другом месте или S3 безопасен?

Я экспериментировал с монтированием S3-контейнера в экземпляр EC2, а затем делал ночное резервное копирование rsync. Проблема в том, что это около 3 миллионов файлов, поэтому для генерации различных потребностей в rsync требуется некоторое время. На самом деле резервное копирование занимает около 3 дней.

Есть идеи, как сделать это лучше? (если это вообще необходимо?)

Ответы:


5

Я занимался исследованием этого, достаточно забавно.

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

Что касается необходимости сохранения их другим способом, это зависит от вашего управления рисками. Вы доверяете Amazon для хранения ваших данных?

Возможно, они могут что-то потерять или потерпеть больший сбой в своей системе хранения; у них, без сомнения, есть пункты в их контрактах, определяющие, что если они потеряют ваши данные, это ваша проблема. Не их. Кроме того, поскольку ваши данные размещены где-то еще, вы не знаете, что они будут с этим делать; правоохранительные органы хотят ваши данные? Вы можете даже не знать, что кто-то еще получил к нему доступ.

Вы в это верите? Если данные не являются ключевыми для вашего бизнеса, и вы готовы принять этот риск, нет необходимости загружать их в автономное хранилище. Если вы не готовы рисковать тем, что ваши данные будут в безопасности на серверах хранения Amazon, вам следует принять меры к тому, чтобы периодически сбрасывать их в свое собственное хранилище.

Другими словами, я не думаю, что есть прямой ответ на это, поскольку это зависит от вашей толерантности к риску и потребностей бизнеса. Многие люди не будут полностью доверять своим доходам исключительно на облачных хранилищах, лично я немного опасаюсь этого ...

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

РЕДАКТИРОВАТЬ В повторном чтении я вижу, что вы сохраняете ОТ S3 в экземпляр EC2, а не наоборот (хотя я не знаю, может ли проблема с согласованностью по-прежнему вызывать там проблемы). Вы пытаетесь сохранить данные в экземпляр EC2 в качестве резервной копии? Я думаю, что с точки зрения затрат это не разумная тактика; может быть дешевле создать резервные копии на локальном диске, если учесть долговременное хранение таких данных вместе со временем виртуальной машины. При стоимости дисков вы можете скопировать данные на локальный диск в качестве резервной копии.

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

Все зависит от того, насколько вы цените свои данные, сколько вы готовы за них заплатить и какой риск вы хотите терпеть.


Спасибо за ваш ответ, но я думаю, что вы не поняли. Я использую S3 в качестве основного хранилища (я размещаю файлы непосредственно оттуда как cdn). Таким образом, мой вопрос был, находятся ли файлы там в безопасности, или если мне нужно сделать их резервную копию где-нибудь (может быть, к другому S3 Bucker или и к экземпляру EC2)?
Chrille

Добавлено на редактирование.
Барт Сильверстрим

Хм, да, может быть, локальная резервная копия будет безопаснее. Знаете ли вы, если S3 и EC2 совместно используют одно и то же оборудование - в случае сбоя и S3, и моя резервная копия EC2 исчезнут? У меня есть две причины сделать резервную копию в EC2: (1) Между EC2 и S3 нет платы за передачу. Копировать 200 ГБ локально каждую неделю или около того (2) в случае аварии на S3, я мог бы довольно быстро преобразовать свой экземпляр EC2, чтобы вместо этого поделиться изображениями из резервной копии. Но я понимаю, что локальное резервное копирование также имеет много преимуществ ...
Chrille

Честно говоря, я не знаю, как аппаратная часть Amazon настроена в фоновом режиме; даже если бы я знал, нет никакой гарантии, что они не изменят это в будущем.
Барт Сильверстрим

4

Я использовал s3cmd s3cmd sync для этого. Он немного похож на rsync и может выдвигать и извлекать целые каталоги между S3 и другой системой Linux на ваш выбор.

Я не вижу причин, по которым вы не s3cmd syncсмогли запустить экземпляр EC2 или даже собственную рабочую станцию ​​разработчика (или сервер хранения).

Возможно, вы захотите настроить экземпляр VPC, а затем вы можете назначить небольшой узел внутри вашего VPC роль резервного сервера и назначить ему как IP-адрес внутри сети Amazon, так и внутри вашей локальной подсети.


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

EC2 от Amazon не дешевый по любому показателю, особенно если вы хотите заняться корпоративным уровнем или чем-то еще, кроме простых вещей. Если вам это не нравится, то, возможно, это не для вас.
Том О'Коннор

@BartSilverstrim: разве перевод в AWS бесплатный? Если это так, то для меня может быть дешевле скопировать в EC2, чем локально. В любом случае, у меня есть экземпляр EC2, работающий 24/7, так что это будет просто пространство EBS, которое будет стоить.
Chrille

2

Мой совет - ваши данные - ваша ответственность, а не Amazon. Если потеря данных не такая уж большая проблема, не делайте свою резервную копию. Если это так, то сделайте свою резервную копию (по крайней мере) дешевого JBOD (и регулярно проверяйте), как я.

Вы узнаете, какую ответственность Amazon готов принять на себя за ваши данные, в тот день, когда они их потеряют.


0

Если вы можете себе это позволить (как я это делаю), храните все мои данные на моем сервере, но извлекайте их из Amazon s3. Так что, если Amazon по какой-либо причине отключается (дотроньтесь до дерева), я могу просто мгновенно извлечь все свои данные прямо с моего сервера. Со своего сервера я делаю ежемесячные резервные копии на свой локальный диск. Поскольку мой сайт более 2 ТБ на сайте.


Мне немного неясно, какова ваша рекомендация. Какой у вас сервер и где он находится?
Касперд

0

Хотя это старый поток, это первое, что возникает при резервном копировании Googling S3, поэтому я решил добавить к нему ...

Проведя некоторые исследования по этому вопросу, я обнаружил Rclone https://rclone.org/ - это программное обеспечение rsync-ish, предназначенное для копирования между облачными службами хранения файлов и поддерживающее большинство из них. Никакой принадлежности, и я еще не использовал это, поэтому я не могу сказать, хорошо это или плохо, но я думал, что это может кому-то помочь.

Мне кажется, что есть возможность для размещенной службы, которая делает «автономные» резервные копии размещенных в облаке файлов (S3, Google Storage, Rackspace Cloud Files и т. Д.) ....

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.