AWS EFS против EBS против S3 (различия и когда использовать?)
Как следует из названия этого вопроса, каковы практические различия между AWS EFS, EBS и S3?
Мое понимание каждого:
- S3 - хранилище, доступное в любом месте
- EBS - это устройство, которое вы можете установить на EC2
- EFS - это файловая система, которую вы можете смонтировать на EC2
Так зачем мне использовать EBS поверх EFS? Кажется, у них одинаковые варианты использования, но есть небольшие семантические различия? Хотя EFS реплицируется через AZ, где EBS является просто смонтированным устройством. Я думаю, что мое понимание EBS отсутствует, поэтому я не могу отличить.
Почему стоит выбрать S3 вместо EFS? Они оба хранят файлы, масштабируются и реплицируются. Я предполагаю, что с S3 вы должны использовать SDK, где, как и EFS, являющаяся файловой системой, вы можете использовать стандартные методы ввода / вывода на любом языке программирования для создания файлов. Но это единственная реальная разница?
13 ответов
Одним словом ответ: ДЕНЬГИ: D
1 ГБ для хранения в США-Восток-1:(обновлено в 2016 г., 20 декабря)
- Ледник: $0,004/ месяц (Примечание: значительное снижение цен в 2016 году)
- S3: $0,023/ месяц
- S3-IA (объявлено в 2015.09): 0,0125 долл. США в месяц (+ 0,01 долл. США / плата за извлечение концерта)
- EBS: $0,045-0,1/ месяц (зависит от скорости - SSD или нет) + затраты IOPS
- EFS: $0.3/ месяц
Дополнительные параметры хранения, которые могут использоваться для временного хранения данных во время / до их обработки:
- SNS
- SQS
- Кинезис поток
- DynamoDB, SimpleDB
Стоимость выше только образцы. Там могут быть различия по регионам, и это может измениться в любой момент. Также есть дополнительные расходы на передачу данных (в Интернет). Однако они показывают соотношение между ценами на услуги.
Между этими услугами гораздо больше различий:
EFS это:
- Обычно доступно(вне предварительного просмотра), но может быть еще недоступно в вашем регионе
- Сетевая файловая система (это означает, что она может иметь большую задержку, но она может быть разделена между несколькими экземплярами; даже между регионами)
- Это дороже по сравнению с EBS (~ в 10 раз больше), но дает дополнительные возможности.
- Это очень доступный сервис.
- Это управляемый сервис
- Вы можете подключить хранилище EFS к экземпляру EC2
- Доступ к нескольким экземплярам EC2 возможен одновременно
- Начиная с 2016 года.20 можно подключать хранилище EFS непосредственно к локальным серверам через Direct Connect. ()
EBS это:
- Блочное хранилище (поэтому вам нужно отформатировать его). Это означает, что вы можете выбрать, какой тип файловой системы вы хотите.
- Поскольку это хранилище блоков, вы можете использовать Raid 1 (или 0 или 10) с несколькими хранилищами блоков.
- Это действительно быстро
- Это относительно дешево
- Благодаря новым объявлениям от Amazon вы можете хранить до 16 ТБ данных на одно хранилище на SSD-дисках.
- Вы можете сделать снимок EBS (пока он еще работает) по причинам резервного копирования
- Но это существует только в определенном регионе. Хотя вы можете перенести его в другой регион, вы не можете просто получить к нему доступ через регионы (только если вы делитесь им через EC2; но это означает, что у вас есть файловый сервер)
- Вам нужен экземпляр EC2, чтобы присоединить его к
- Новая функция (2017. 15 февраля): теперь вы можете увеличить размер тома, настроить производительность или изменить тип тома, пока он используется. Вы можете продолжать использовать свое приложение, пока изменения вступят в силу.
S3 это:
- Хранилище объектов (не файловая система).
- Вы можете хранить файлы и "папки", но не можете иметь блокировки, разрешения и т. Д., Как в обычной файловой системе.
- Это означает, что по умолчанию вы не можете просто смонтировать S3 и использовать его в качестве веб-сервера
- Но это идеально подходит для хранения ваших изображений и видео для вашего сайта
- Отлично подходит для краткосрочного архивирования (например, несколько недель). Это также хорошо для долгосрочного архивирования, но Glacier более экономичен.
- Отлично подходит для хранения логов
- Вы можете получить доступ к данным из каждого региона (может взиматься дополнительная плата)
- Высоко Доступный, Избыточный. В основном потеря данных невозможна (долговечность 99,99999999%, SLA безотказной работы 99,9)
- Гораздо дешевле, чем EBS.
- Вы можете предоставлять контент напрямую в Интернет, вы даже можете иметь полный (статический) веб-сайт, работающий напрямую с S3, без экземпляра EC2.
Ледник это:
- Долгосрочное хранение архива
- Чрезвычайно дешево хранить
- Потенциально очень дорого, чтобы получить
- "Чтение" ваших данных занимает до 4 часов (поэтому храните только те элементы, которые, как вы знаете, вам не нужно извлекать в течение длительного времени)
Как упоминалось в комментарии JDL, есть несколько интересных аспектов с точки зрения ценообразования. Например, Glacier, S3, EFS выделяет хранилище для вас в зависимости от вашего использования, в то время как в EBS вам необходимо заранее определить выделенное хранилище. Что означает, вам нужно переоценить. (Однако легко добавить больше памяти к вашим томам EBS, это требует некоторой разработки, что означает, что вы всегда "переплачиваете" свое хранилище EBS, что делает его еще более дорогим.)
Источник: Обновление хранилища AWS - новый более дешевый вариант хранилища S3 и снижение цены на ледник
Интересно, почему люди не выдвигают на первый план НАИБОЛЕЕ вескую причину в пользу EFS. EFS можно монтировать одновременно на нескольких экземплярах EC2, одновременно обеспечивая доступ к файлам в EFS.
Исправление сравнения:
- S3 - хранилище, доступное в любом месте
- EBS - это устройство, которое вы можете установить на EC2
- EFS - это файловая система, которую вы можете монтировать на несколько экземпляров EC2 одновременно
На данный момент сравнивать EFS и EBS несколько преждевременно - производительность EFS неизвестна и ее надежность не известна.
Почему вы используете S3?
- Вам не нужно, чтобы файлы были "локальными" для одного или нескольких экземпляров EC2.
- (эффективно) бесконечная емкость
- встроенный веб-сервис, аутентификация
Помимо цены и возможностей, пропускная способность также сильно варьируется (как упомянуто пользователем 1677120):
EBS
Взято из документации EBS:
| EBS volume | Throughput | Throughput |
| type | MiB/s | dependent on.. |
|------------|------------|-------------------------------|
| gp2 (SSD) | 128-160 | volume size |
| io1 (SSD) | 0.25-500 | IOPS (256Kib/s per IOPS) |
| st1 (HDD) | 20-500 | volume size (40Mib/s per TiB) |
| sc1 (HDD) | 6-250 | volume size (12Mib/s per TiB) |
Обратите внимание, что для io1, st1 и sc1 вы можете увеличить пропускную способность по крайней мере до 125Mib/s, но до 500Mib/s, в зависимости от размера тома.
Вы можете дополнительно увеличить пропускную способность, например, путем развертывания томов EBS как RAID0.
EFS
Взято из документов EFS
| Filesystem | Base | Burst |
| Size | Throughput | Throughput |
| GiB | MiB/s | MiB/s |
|------------|------------|------------|
| 10 | 0.5 | 100 |
| 256 | 12.5 | 100 |
| 512 | 25.0 | 100 |
| 1024 | 50.0 | 100 |
| 1536 | 75.0 | 150 |
| 2048 | 100.0 | 200 |
| 3072 | 150.0 | 300 |
| 4096 | 200.0 | 400 |
Базовая пропускная способность гарантирована, пакетная пропускная способность использует накопленные вами кредиты, будучи ниже базовой пропускной способности (так что вы будете иметь ее только в течение ограниченного времени, подробнее см. Здесь.
S3
S3 - это совершенно другое, поэтому его нельзя сравнивать с EBS и EFS. Плюс: нет опубликованных показателей пропускной способности для S3. Вы можете улучшить пропускную способность, загружая параллельно (я где-то читал, что AWS заявляет, что вы будете иметь практически неограниченную пропускную способность таким образом), или добавляя CloudFront к смеси.
Чтобы добавить к сравнению: (взрыв) производительность чтения / записи на EFS зависит от собранных кредитов. Сбор кредитов зависит от количества данных, которые вы храните на нем. Больше даты -> больше кредитов. Это означает, что когда вам требуется всего несколько ГБ памяти, которая часто читается или записывается, у вас очень скоро закончатся кредиты, и производительность снизится примерно до 50 Кбит / с. Единственный способ исправить это (в моем случае) - добавить большие фиктивные файлы, чтобы увеличить процент заработанных кредитов. Однако больше памяти -> больше стоимость.
AWS (Amazon Web Services) хорошо известен своей обширной линейкой продуктов. Есть (вероятно) несколько ниндзя Amazon Web Services, которые точно знают, как и когда использовать какой продукт Amazon для той или иной задачи. Остальные из нас отчаянно нуждаются в помощи.
AWS предлагает три распространенных сервиса хранения: S3, Elastic Block Store (EBS) и Elastic File System (EFS), которые работают по-разному и обеспечивают различные уровни производительности, стоимости, доступности и масштабируемости. Мы сравним производительность, стоимость и доступность хранимых данных этих вариантов хранения, а также варианты их использования.
Варианты хранилища AWS:
Amazon S3 - это базовая служба хранения объектов, которую можно использовать для размещения изображений и видео веб-сайтов, а также для аналитики данных и приложений для смартфонов и веб-приложений. Данные управляются как объекты в объектном хранилище, что означает, что все типы данных хранятся в своих собственных форматах. В объектном хранилище отсутствует иерархия файловых отношений, и объекты данных могут быть распределены по многим машинам. Вы можете использовать службу S3 с любого компьютера, подключенного к Интернету.
AWS EBS предлагает постоянное блочное хранилище данных. Системы блочного хранения более универсальны и обеспечивают лучшую емкость, чем стандартное файловое хранилище, поскольку файлы хранятся в нескольких томах, называемых блоками, которые служат отдельными жесткими дисками. Экземпляр Amazon EC2 должен быть смонтирован с EBS. Непрерывность бизнеса, тестирование программного обеспечения и управление базами данных - примеры вариантов использования.
AWS EFS - это общая эластичная структура хранения файлов, которая расширяется и сжимается в ответ на добавление и удаление файлов. Он следует традиционной модели хранения файлов, в которой данные организованы в папки и подкаталоги. EFS полезен для систем управления контентом и приложений SaaS. EFS можно смонтировать сразу на нескольких инстансах EC2.
Какой сервис облачного хранилища AWS лучше всего?
Как всегда, зависит от обстоятельств.
Только для хранения данных Amazon S3 - самый дешевый выбор. S3, с другой стороны, имеет ряд других критериев ценообразования, включая стоимость загрузки, S3 Analytics и передачу данных из S3 на гигабайт. Структура затрат EFS наиболее проста.
Amazon S3 - это облачная служба хранения, к которой можно получить доступ из любого места. AWS EBS доступен только в одном регионе, в то время как несколько экземпляров EFS могут обмениваться файлами в нескольких регионах.
EBS и EFS превосходят Amazon S3 по показателям IOPS и задержке.
С помощью одного вызова API можно увеличить или уменьшить масштаб EBS. Вы можете использовать EBS для резервного копирования баз данных и других интерактивных приложений с малой задержкой, которым нужна надежная и предсказуемая производительность, поскольку это дешевле, чем EFS.
EFS лучше обслуживает большие объемы данных, например, большие аналитические рабочие нагрузки. Пользователи должны разбивать данные и распределять их между экземплярами EBS, поскольку данные в этом масштабе не могут храниться в одном экземпляре EC2, разрешенном в EBS. Служба EFS обеспечивает одновременный доступ к тысячам экземпляров EC2, позволяя обрабатывать и анализировать огромные объемы данных в режиме реального времени.
EBS прост - хранилище на уровне блоков, которое может быть подключено к экземпляру из той же зоны доступности и может выжить независимо от срока службы экземпляра.
Тем не менее, интересная разница между EFS и S3 и в определении правильных вариантов использования.
Стоимость: EFS примерно в 10 раз дороже, чем S3.
Сценарии использования:
- Если у нас есть тысячи экземпляров, которым необходимо обрабатывать файл одновременно, рекомендуется использовать EFS вместо S3.
- Также обратите внимание, что S3 - это объектно-ориентированное хранилище, тогда как EFS - файловое, это означает, что всякий раз, когда у нас есть требование, чтобы файлы постоянно обновлялись (обновлялись), мы должны использовать EFS.
- S3 в конечном итоге согласован, в то время как EFS строго согласован. Если вы не можете позволить себе согласованность в конечном итоге, вам следует использовать EFS.
Простыми словами
Amazon EBS предоставляет хранилище на уровне блоков.
Amazon EFS предоставляет сетевое хранилище общих файлов.
Amazon S3 обеспечивает хранение объектов.
Основное различие между EBS и EFS заключается в том, что EBS доступен только из одного экземпляра EC2 в вашем конкретном регионе AWS, тогда как EFS позволяет монтировать файловую систему в нескольких регионах и экземплярах.
Наконец, Amazon S3 - это хранилище объектов, в котором можно хранить огромное количество резервных копий или пользовательских файлов.
AWS EFS, EBS и S3. С функциональной точки зрения, вот разница
EFS:
Сетевая файловая система: может использоваться несколькими серверами; даже между регионами. То же самое недоступно для корпуса EBS. Его можно использовать особенно для хранения программ ETL без риска для безопасности.
Высокодоступный, масштабируемый сервис.
Запуск любого приложения, которое имеет высокую рабочую нагрузку, требует масштабируемого хранилища и должно быстро производить вывод.
Это может обеспечить более высокую пропускную способность. Это соответствует внезапному росту файловой системы даже для рабочих нагрузок до 500000 IOPS или 10 ГБ в секунду.
Постоянная поддержка приложений: EFS эластична, доступна и масштабируема, а также позволяет легко и быстро перемещать корпоративные приложения без необходимости их повторной архитектуры.
Аналитика для больших данных: он может запускать приложения для работы с большими данными, которые требуют значительной пропускной способности узлов, доступа к файлам с малой задержкой и операций чтения-после-записи.
EBS:
- для баз данных NoSQL EBS предлагает базам данных NoSQL производительность с малой задержкой и надежность, необходимую для максимальной производительности.
S3:
Надежная производительность, масштабируемость и доступность: Amazon S3 масштабирует ресурсы хранения, освобождая от циклов приобретения ресурсов или предварительных вложений.
2) Озеро данных и аналитика больших данных: создайте озеро данных для хранения необработанных данных в их собственном формате, а затем используйте инструменты машинного обучения и аналитику для получения информации.
- Резервное копирование и восстановление: безопасные и надежные решения для резервного копирования и восстановления
- Архивирование данных
- S3 - это объектное хранилище, удобное для хранения огромного количества резервных копий или пользовательских файлов. В отличие от EBS или EFS, S3 не ограничивается EC2. К файлам, хранящимся в корзине S3, можно получить доступ программно или напрямую из таких сервисов, как AWS CloudFront. Многие веб-сайты используют его для хранения своего контента и медиафайлов, которые можно эффективно обслуживать через AWS CloudFront.
EFS и S3 имеют ту же цель, вы можете хранить любые объекты или файлы.
Но для меня единственная разница в том, что EFS позволяет вам иметь традиционную файловую систему в облаке виртуальной машины (EC2) с большей гибкостью, например, вы можете подключаться к нескольким экземплярам.
С другой стороны, S3 - это отдельный гибкий и эластичный сервер для ваших объектов. Его можно использовать для ваших статических файлов, изображений, видео или даже для размещения статических приложений (js).
EBS, очевидно, предназначен для блочного хранилища, где вы можете установить ОС или что-либо, связанное с вашей ОС.
На этот вопрос очень часто отвечают другие люди, я просто хочу подчеркнуть, что всякий раз, когда принимается решение о том, чтобы какой-либо сервис был в AWS, нужно понимать вариант использования для каждого, а также видеть решение, которое сервис предоставит с точки зрения Well Архитектурная среда, вам нужна высокая доступность, устранение неисправностей, оптимизация затрат. Это поможет решить, какую услугу использовать.
Amazon EBS предоставляет хранилище на уровне блоков - оно используется для создания файловой системы и хранения файлов. Amazon EFS - его общая система хранения, аналогичная NAS/SAN. Вам необходимо смонтировать его на unix-сервере и использовать. Amazon S3 - это объектно-ориентированное хранилище, в котором каждый элемент хранится с URL-адресом http.
Одно из различий заключается в том, что EBS можно подключать к одному экземпляру за раз, а EFS можно подключать к нескольким экземплярам, поэтому общее хранилище. Простое хранилище объектов S2 не может быть смонтировано.