Резервное копирование: Amazon S3 или Glacier-много маленьких файлов?

Я пытаюсь понять сложную модель ценообразования Amazon Glacier. Я не хочу хранить огромное количество данных, скажем, несколько ГБ 10. Я надеюсь никогда не загружать файлы, и если мне это нужно, мне все равно, сколько времени это займет.

есть ли стоимость за файл, который я загружаю? Дешевле ли zip много крошечных файлов и загружать в несколько кусков или 10,000 говорит, что изображения не имеют значения? (не удается получить прямой ответ на это во время поиска)

могу ли я запросить загрузку всего архива / ведра или это файл за файлом?

3 ответов


подробная информация о ценах на S3 доступна здесь. Специфика доступных функций API:здесь.

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

Итак, если вы загружаете свои 10GB данных в S3 в 10,000 1Mb-файлах, храните его в течение месяца, а затем загрузите каждый из файлов один раз, вам будет взиматься плата:

  • $0.00 для загрузки полосы пропускания (это бесплатно)
  • $0.10 за 10 000 запросов PUT для загрузки файлов
  • $ 0.95 за хранение 10GB в течение месяца
  • $1.08 для пропускной способности загрузки 10GB (первый бесплатный, затем $0.12/GB)
  • $ 0.01 для 10,000 получить запросы на загрузку файлов

Это $2.14. Если вы загруженный и загруженный один раз каждый, но сохранил данные в течение года, только стоимость хранения поднимется до 12 * $0.95, или $11.40. Если бы ваши файлы в среднем составляли всего 100 кб, то вы бы заплатили в 10 раз больше за запросы PUT и GET, или 1,10 доллара вместо 0,11 доллара.

вы можете загружать и загружать только один файл за операцию. Если вы объединили свои файлы в один с помощью Zip, вы бы сохранили только с помощью меньшего количества операций, которые, как вы можете видеть, довольно дешевы для начала с.

здесь есть одна причуда. Я почти уверен, что вы платите за все использование полосы пропускания при загрузке и загрузке, включая заголовки запросов, а не только тела, содержащие ваши данные. Поэтому, если ваши файлы были действительно крошечными, заголовки запросов могут стать значимыми, возможно, так же, как и сами файлы. В этом случае стоимость пропускной способности удвоится.

цены на ледник сложнее, и я никогда не использовал его сам. В основном, это уменьшает хранение стоимость почти в десять раз, оставляя другие затраты одинаковыми, и добавляя затраты на архивирование и восстановление на один объект. Эти затраты кажутся значительными, если у вас много небольших объектов, вам нужно получить много файлов за раз или часто получать файлы. Glacier кажется лучшим, когда у вас много данных (терабайт или больше, а не только гигабайт), но и несколько операций. Учитывая, что у вас есть только 10GB данных, S3 настолько недорог, что, похоже, не стоит рассматривать Glacier.

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


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

Glacier предназначен для редкого доступа к файлам. Имея это в виду, они накажут вас, если вам нужно получить много файлов одновременно. в вашем конкретном случае я бы предложил загрузить 10.000 отдельных файлов вместо, скажем, 100 ZIP-файлов с 100 файлами каждый. Причина очень проста. Ледник позволит вам скачать бесплатно только 5% от общего архива и пропорционально ежедневно. Так, например, если вам нужно загрузить 10 фотографий, которые вы сделали в выходные, вы сможете получить эти 10 фотографий бесплатно, если они будут распространены в хранилище. С другой стороны, если у вас есть ZIP-файл с 100 фотографиями внутри, вы будете вынуждены загрузить этот zip, который, вероятно, будет составлять более 5% от общего архива, что означает, что вы будете платить некоторые сборы за извлечение.

единственная причина, по которой это имеет смысл загрузить меньше файлов, чтобы избежать высоких запросов на загрузку (10.000 файлов обычно означает 10.000 запросов). Запросы взимаются $0,05 за 1000. Эта плата намного ниже, чем плата за извлечение (с учетом введенных ограничений), поэтому я всегда рекомендую загружать отдельные файлы. Конечно, можно zip файлы, которые имеют смысл быть вместе.

затраты на извлечение очень сложны в Amazon Glacier. У них есть хорошее объяснение здесь: http://aws.amazon.com/glacier/faqs/#How_much_data_can_I_retrieve_for_free Но даже там вам нужно будет обратить внимание на расчеты, чтобы получить четкое представление о том, как оплачиваются расходы.

по этому вопросу: Могу ли я запросить загрузку всего архива/ведра или это файл за файлом?

запросы по файлам, хотя вы можете выбрать много файлов сразу и загрузить их в целом.

решение о том, использовать ли S3 или Glacier действительно зависит от ваших потребностей в доступе к файлам. Если вам понадобится доступ к вашим файлам, то Glacier - ваш ответ. В противном случае для 10GB S3 все еще может быть дешевым и быть более гибким, чем Glacier. В моем случае я считаю семейные фотографии очень ценной вещью. Вот почему у меня есть резервная копия 100GB на glacier со всеми моими семейными фотографиями. Я не собираюсь обращаться к нему, если только дома не произойдет какая-то катастрофа. В этом случае я думаю, что не возражал бы против стоимости поиска, если бы это спасло что-то я действительно волнует. Но это всего лишь я.


лучше использовать несколько больших файлов, чем много маленьких

существует два подхода к размещению файлов в Amazon Glacier. Вы либо напрямую взаимодействуете со хранилищами, либо используете S3 в качестве интерфейса.

Я использую S3 (и консоль управления Amazon), чтобы я мог видеть содержимое архива и в то же время хранить его дешево в Glacier.

этот подход имеет один недостаток - поскольку хранение любой части информации в Glacier имеет некоторые накладные расходы на данные (за что Вы тоже платите), тогда логически есть точка безубыточности. До 2014-04 снижение цен я сделал расчет и критический размер составляет около 16 кб, хранение небольших файлов в Glacier (используя AWS S3 в качестве интерфейса) было дороже, чем держать его только на S3. При снижении цены на хранение S3 (ледник не изменился) точка безубыточности пошла еще выше.

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