AWS EFS проти EBS проти S3 (відмінності та коли використовувати?)


315

Відповідно до назви цього питання, які практичні відмінності між AWS EFS, EBS та S3?

Моє розуміння кожного:

  • S3 - сховище, доступне будь-де
  • EBS - це пристрій, який можна встановити на EC2
  • EFS - це файлова система, яку можна встановити на EC2

То чому б я використовував EBS через EFS? Здається, вони мають однакові випадки використання, але незначні смислові відмінності? Хоча EFS тиражується через AZ, де EBS - лише встановлений пристрій. Я думаю, що моє розуміння EBS бракує, тому я не в змозі розрізнити.

Чому вибирати S3 над EFS? Вони обидва зберігають файли, масштабують і копіюються. Я думаю, що для S3 вам доведеться використовувати SDK, де, як і у випадку, якщо EFS є файловою системою, ви можете використовувати стандартні методи вводу / виводу з обраної вами мови програмування для створення файлів. Але хіба це єдина реальна різниця?


2
EFS - це як NFS. EBS по суті є SAN. S3 є свого роду як WebDav. Льодовик ймовірно BlueRay DVD - storagemojo.com/2014/04/25/amazons-glacier-secret-bdxl
Ніл МакГіган

Відповіді:


466

Відповідь одним словом: ГРОШІ: 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 (~ 10x більше), але він надає додаткові можливості.
  • Це високодоступний сервіс.
  • Це керована послуга
  • Ви можете приєднати сховище EFS до екземпляра EC2
  • Доступ можна отримати декілька екземплярів EC2 одночасно
  • Починаючи з 2016.dec.20, можна приєднати свій EFS-пам'ять безпосередньо до локальних серверів через Direct Connect. ()

EBS - це:

  • Блокове сховище (тому його потрібно відформатувати). Це означає, що ви можете вибрати, який тип файлової системи ви хочете.
  • Оскільки це блокове сховище, ви можете використовувати Raid 1 (або 0 або 10) з кількома блоковими сховищами
  • Це дійсно швидко
  • Це порівняно дешево
  • За допомогою нових оголошень від Amazon ви можете зберігати до 16 ТБ даних на сховище на SSD-накопичувачах.
  • Ви можете зробити знімок EBS (поки він все ще працює) з резервних причин
  • Але він існує лише у певному регіоні. Хоча ви можете перенести його до іншого регіону, ви не можете просто отримати доступ до нього через регіони (лише якщо ви ділитесь ним через EC2; але це означає, що у вас є файловий сервер)
  • Для цього вам потрібен екземпляр EC2
  • Нова функція (2017.Feb.15): тепер ви можете збільшити розмір гучності, відрегулювати продуктивність або змінити тип гучності під час використання гучності. Ви можете продовжувати використовувати свою програму, поки зміни набудуть чинності.

S3 є:

  • Магазин об'єктів (не файлова система).
  • Ви можете зберігати файли та "папки", але не може мати замків, дозволів тощо, як у традиційній файловій системі
  • Це означає, що за замовчуванням ви не можете просто встановити S3 і використовувати його як свій веб-сервер
  • Але він ідеально підходить для зберігання зображень та відео для вашого веб-сайту
  • Відмінно підходить для короткочасного архівування (наприклад, кілька тижнів). Це добре і для довгострокового архівації, але льодовик є більш економічним.
  • Чудово підходить для зберігання колод
  • Ви можете отримати доступ до даних з усіх регіонів (можливі додаткові витрати)
  • Високодоступний, надлишковий. В основному втрата даних неможлива (99,999999999% довговічність, 99,9 тривалості в режимі безперебійного використання)
  • Набагато дешевше, ніж EBS.
  • Ви можете подавати вміст безпосередньо в Інтернет, ви навіть можете мати повний (статичний) веб-сайт, що працює безпосередньо від S3, без екземпляра EC2

Льодовик:

  • Тривале зберігання архіву
  • Надзвичайно дешево зберігати
  • Потенційно дуже дорого знайти
  • Займає до 4 годин, щоб "прочитати" свої дані (тому зберігайте лише ті предмети, про які ви знаєте, що вам не потрібно буде довго завантажувати їх)

Як згадувалося в коментарі JDL, є кілька цікавих аспектів щодо ціноутворення. Наприклад, Glacier, S3, EFS виділяє сховище для вас залежно від вашого використання, тоді як у EBS потрібно заздалегідь визначити виділене сховище. Що означає, що вам потрібно переоцінити. (Однак додати більше обсягу пам’яті до своїх обсягів EBS досить просто. Це вимагає певної інженерії, а це означає, що ви завжди «переплачуєте» свій накопичувач EBS, що робить його ще дорожчим.)

Джерело: Оновлення зберігання AWS - нові можливості зберігання нижчих витрат S3 та зниження ціни на льодовики


8
Льодовик надзвичайно дорогий, якщо дані потрібно швидко відновити liangzan.net/aws-glacier-calculator
Анатолій

6
Не згоден з цим S3 дешевше EBS. З S3вами ви можете отримати лише 2000 PUT і 20 000 GET безкоштовно. З EBSвами 2 000 000 операцій вводу / виводу безкоштовно. Ось мій QA stackoverflow.com/questions/34048866/…
Зелений

2
2 000 000 витрат на читання S3 ~ 0,4 $, 2 000 000 витрат на запис ~ 5 доларів США ... Але головне - потрібно вибрати правильне сховище для завдання. S3 є (в основному) для великих, не надто часто мінливих, але широкодоступних файлів найкращим. (за великим винятком: D)
Адам Оквари

2
Гарне порівняння. Але ще одна основна відмінність EBS від EFS - це EBS - це фіксований обсяг пам’яті. Так, так, порівняння в 1 Гбайт відрізняється, але навіщо ви створювали EBS-розділ розміром 1 ГБ? Мінімум, якщо ви збираєтеся створити розділ 10 ГБ, то ви шукаєте $ .5-1.0 за той самий 1 ГБ даних, що зберігається на 10 ГБ даних. Залежно від того, наскільки швидко зростає потреба у зберіганні даних, і скільки невикористаного простору ви хочете продовжувати платити, EFS може бути кращим варіантом.
JDL

3
Також варто зазначити: EFS зараз працює лише з Linux, а не з Windows.
Ендрю Кларк

110

Цікаво, чому люди не підкреслюють найважливішої причини на користь EFS. EFS можна монтувати одночасно на декількох екземплярах EC2, дозволяючи одночасно отримувати доступ до файлів на EFS.

(Редагувати 2020 травня. EBS підтримує змонтування до декількох EC2 одночасно, див .: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html )


Я також. Люди, які задали питання або проголосували за питання (не відповідь), просто не мають поняття, чим відрізняються UFS від NFS системи.
BMW

5
Аналогічно, це різниця між використанням S3 та EBS - S3 та EFS добре працюють для даних, що діляться на декількох серверах, тоді як EBS не робить.
Джеффрі Вісман

також EFS не можна використовувати як джерело для CDN, S3 краще для цієї ролі. Якщо у вас є багато активів, на які потрібно підключити CDN, краще скористайтеся S3
Moses Liao GZ

71

Виправлення порівняння:

  • S3 - сховище, доступне будь-де
  • EBS - це пристрій, який можна встановити на EC2
  • EFS - це файлова система, яку можна монтувати одночасно на декількох екземплярах EC2

На даний момент порівняння EFS та EBS трохи передчасно, але продуктивність EFS не відома, а також не відома її надійність.

Навіщо використовувати S3?

  • Вам не потрібно, щоб файли були "локальними" для одного або декількох екземплярів EC2.
  • (ефективно) нескінченна спроможність
  • вбудована веб-сервіровка, аутентифікація

2
Нещодавно я створив об'єм EFS, як він зараз доступний у West-2. Здається, у мене виникають проблеми із записом великих файлів. Наприклад, не вдалося створити контейнер docker з "файлом занадто великим", а також створити sqlite db. Не було цих проблем у томі EBS, який я використовував. Тож у EFS можуть виникнути проблеми із зручністю використання та надійністю, які потребують "виправлення" в цей час.
ДКеблер

7

Для порівняння: (сплеск) ефективність читання / запису на EFS залежить від зібраних кредитів. Збір кредитів залежить від кількості даних, які ви зберігаєте на них. Більше дати -> більше кредитів. Це означає, що коли вам потрібно лише кілька ГБ пам’яті, яке читається або записується часто, у вас незабаром не вистачить кредитів, а пропускна здатність падає приблизно до 50 кбіт / с. Єдиний спосіб виправити це (в моєму випадку) - додати великі фіктивні файли, щоб збільшити ставку зароблених кредитів. Однак більше зберігання -> більша вартість.


2
Це божевільно повільно. Спочатку я думав, що це помилка ОП, але після перевірки документації це правильно (Станом на 2017 рік)
Якобовський

7

Крім ціни та особливостей, пропускна здатність також сильно різниться (як згадує користувач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 ви можете розбивати пропускний трафік щонайменше до 125 Мбіт / с, але до 500 Мбіт / с, залежно від розміру гучності.

Ви можете додатково збільшити пропускну здатність, наприклад розгорнувши обсяги 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 до суміші


2

Простими словами

Amazon EBS забезпечує зберігання на рівні блоку.

Amazon EFS забезпечує спільне зберігання файлів, що додається до мережі.

Amazon S3 забезпечує зберігання об'єктів.


1

EBS - це просто - блокове сховище, яке може бути приєднано до екземпляра з того ж AZ, і може вижити незалежно від терміну служби екземпляра.

Однак цікава різниця між EFS та S3, і визначити належні випадки використання для цього.

Вартість: EFS приблизно в 10 разів дорожче, ніж S3.

Шафи використання:

  • Щоразу, коли у нас є тисячі примірників, кому потрібно одночасно обробляти файл, рекомендується використовувати EFS над S3.
  • Також зауважте, що S3 - це об'єктне сховище, тоді як EFS базується на файлах, це означає, що коли ми маємо вимогу, щоб файли постійно оновлювалися (оновлювалися), ми повинні використовувати EFS.
  • S3 врешті-решт є послідовним, тоді як EFS сильно відповідає. Якщо ви не можете дозволити собі можливу консистенцію, слід використовувати EFS

0

Amazon EBS забезпечує зберігання на рівні блоку - використовується для створення файлової системи на ньому та зберігання файлів. Amazon EFS - його спільна система зберігання схожа на NAS / SAN. Вам потрібно встановити його на unix-сервер і використовувати його. Amazon S3 - це об'єктне сховище, де кожен елемент зберігається з URL-адресою http.

Одна з різниць полягає в тому, що EBS може бути приєднана до 1 екземпляра одночасно, а EFS може бути приєднаний до декількох примірників, через що спільне зберігання. Зберігання простого об'єкта S2 неможливо встановити.


0

EFS & S3 мають ті самі цілі, ви можете зберігати будь-які об'єкти або файли.

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

S3, з іншого боку, є окремим гнучким та еластичним сервером для ваших об'єктів. Його можна використовувати для статичних файлів, зображень, відеозаписів або навіть розміщення статичних програм (js).

EBS, очевидно, є блоковим сховищем, де ви можете встановити ОС або все, що стосується вашої ОС.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.