AWS EFS vs EBS vs S3 (farklar ve ne zaman kullanılır?)


315

Bu sorunun başlığına göre AWS EFS, EBS ve S3 arasındaki pratik farklılıklar nelerdir?

Her birini anlayışım:

  • S3 her yerden erişilebilen bir depolama tesisidir
  • EBS, EC2'ye monte edebileceğiniz bir cihazdır
  • EFS, EC2'ye monte edebileceğiniz bir dosya sistemidir

Öyleyse neden EBS'yi EFS üzerinden kullanayım? Aynı kullanım durumlarına ancak küçük anlamsal farklılıklara sahip gibi görünüyorlar mı? EFS, EBS gibi sadece bağlı bir cihaz olduğu AZ'lerde çoğaltılmasına rağmen. Sanırım EBS anlayışım yok, bu yüzden ayırt edemiyorum.

Neden EFS yerine S3 seçmelisiniz? Her ikisi de dosyaları depolar, ölçeklendirir ve çoğaltılır. Sanırım S3 ile SDK'yı kullanmak zorundasınız, burada EFS bir dosya sistemi gibi, dosya oluşturmak için seçtiğiniz programlama dilinizden standart I / O yöntemlerini kullanabilirsiniz. Ama tek gerçek fark bu mu?


2
EFS, NFS gibidir. EBS aslında bir SAN. S3 ise biraz WebDav gibi. Glacier muhtemelen blueray DVD olduğunu storagemojo.com/2014/04/25/amazons-glacier-secret-bdxl
Neil McGuigan

Yanıtlar:


466

Tek kelimeyle cevap: PARA: D

ABD-Doğu-1'de depolamak için 1 GB: (2016.dec.20'de güncellendi)

  • Buzul: 0,004 $ / Ay (Not: 2016'da büyük fiyat indirimi)
  • S3: 0,023 $ / Ay
  • S3-IA (2015.09'da ilan edildi): 0.0125 $ / Ay (+ 0.01 $ / gig alım ücreti)
  • EBS: 0.045-0.1 $ / Ay (hıza bağlı - SSD veya değil) + IOPS maliyetleri
  • EFS: 0,3 ABD doları / Ay

Verileri işlemden önce / işlemden önce geçici olarak depolamak için kullanılabilen diğer depolama seçenekleri:

  • SNS
  • SQS
  • Kinesis akışı
  • DinamoDB, SimpleDB

Yukarıdaki maliyetler sadece örnektir. Bölgeye göre farklılıklar olabilir ve herhangi bir noktada değişebilir. Ayrıca veri aktarımı için ek maliyetler de vardır (internete). Ancak hizmet fiyatları arasında bir oran göstermektedir .

Bu hizmetler arasında çok daha fazla fark var:

EFS:

  • Genel Olarak Kullanılabilir (önizleme dışında), ancak bölgenizde henüz mevcut olmayabilir
  • Ağ dosya sistemi (bu, daha fazla gecikmeye sahip olabileceği, ancak birkaç örnekte, hatta bölgeler arasında paylaşılabileceği anlamına gelir)
  • EBS (~ 10x daha fazla) ile karşılaştırıldığında pahalıdır, ancak ekstra özellikler sağlar.
  • Oldukça ulaşılabilir bir hizmettir.
  • Yönetilen bir hizmet
  • EFS depolama alanını bir EC2 Eşgörünümüne ekleyebilirsiniz
  • Aynı anda birden fazla EC2 örneği ile erişilebilir
  • 2016.dec.20'den beri EFS depolama alanınızı Direct Connect üzerinden doğrudan şirket içi sunuculara bağlamak mümkündür . ()

EBS:

  • Bir blok depolama (bu yüzden biçimlendirmeniz gerekir). Bu, istediğiniz dosya sistemi türünü seçebileceğiniz anlamına gelir.
  • Bir blok depolama alanı olduğundan, Raid 1'i (veya 0 veya 10) birden çok blok deposuyla kullanabilirsiniz
  • Gerçekten hızlı
  • Nispeten ucuz
  • Amazon'dan gelen yeni duyurularla SSD-s'de depolama başına 16 TB'a kadar veri saklayabilirsiniz.
  • Yedekleme nedenleriyle bir EBS'yi (çalışırken) anlık görüntü alabilirsiniz
  • Ancak sadece belirli bir bölgede var. Başka bir bölgeye taşıyabilseniz de, yalnızca bölgeler arasında erişemezsiniz (yalnızca EC2 aracılığıyla paylaşırsanız; ancak bu, bir dosya sunucunuz olduğu anlamına gelir)
  • Eklemek için bir EC2 örneğine ihtiyacınız var
  • Yeni özellik (2017.Feb.15): Artık birim kullanılırken ses boyutunu artırabilir, performansı ayarlayabilir veya ses türünü değiştirebilirsiniz. Değişiklik etkili olurken uygulamanızı kullanmaya devam edebilirsiniz.

S3:

  • Bir nesne deposu (dosya sistemi değil).
  • Dosyaları ve "klasörleri" depolayabilirsiniz, ancak geleneksel bir dosya sisteminde olduğu gibi kilitleri, izinleri vb. Olamaz
  • Bu, varsayılan olarak S3'ü bağlayamaz ve web sunucunuz olarak kullanamazsınız
  • Ancak, görüntülerinizi ve videolarınızı web siteniz için saklamak için mükemmeldir
  • Kısa süreli arşivleme için idealdir (örneğin birkaç hafta). Uzun süreli arşivleme için de iyidir, ancak Glacier daha uygun maliyetlidir.
  • Günlükleri depolamak için harika
  • Her bölgeden verilere erişebilirsiniz (ek ücret uygulanabilir)
  • Yüksek Kullanılabilirlik, Yedekli. Temel olarak veri kaybı mümkün değildir (% 99.999999999 dayanıklılık, 99.9 kesintisiz çalışma süresi HDS'si)
  • EBS'den çok daha ucuz.
  • İçeriği doğrudan internete sunabilir, hatta EC2 örneği olmadan S3'ten doğrudan çalışan tam (statik) bir web siteniz bile olabilir

Buzul:

  • Uzun süreli arşiv depolama
  • Saklanması son derece ucuz
  • Potansiyel olarak çok pahalı
  • Verilerinizi "tekrar okumak" 4 saat kadar sürer (bu nedenle, yalnızca uzun süre geri almanız gerekmeyeceğini bildiğiniz öğeleri depolayın)

JDL'nin yorumunda belirtildiği gibi, fiyatlandırma açısından birkaç ilginç yön vardır. Örneğin Glacier, S3, EFS, kullanımınıza göre depolama alanını sizin için ayırırken, EBS'de ayrılan depolama alanını önceden tanımlamanız gerekir. Bu, fazla tahmin etmeniz gerektiği anlamına gelir. (Bununla birlikte, EBS birimlerinize daha fazla depolama alanı eklemek kolaydır, bu da biraz mühendislik gerektirir, bu da EBS depolama alanınızı her zaman "fazla ödediğiniz" anlamına gelir, bu da onu daha pahalı hale getirir.)

Kaynak: AWS Depolama Güncellemesi - Yeni Düşük Maliyetli S3 Depolama Seçeneği ve Buzul Fiyat İndirimi


8
Buzul, verilerin hızlı bir şekilde geri yüklenmesi gerektiğinde son derece pahalıdır liangzan.net/aws-glacier-calculator
Anatoly

6
Daha S3ucuz olduğuna katılmıyorum EBS. İle S3size sadece 2000 PUT ve ücretsiz olarak 20 000 GET olabilir. İle EBSücretsiz 2 000 000 G / Ç işlemlerini var. İşte KG ekibim stackoverflow.com/questions/34048866/…
Yeşil

2
2.000 000 S3 okuma maliyeti ~ 0.4 $, 2.000 000 yazma maliyeti ~ 5 $ ... Ama asıl nokta, görev için doğru depolamayı seçmeniz gerekiyor. S3 (çoğunlukla) büyük, çok sık değişmeyen, ancak en iyi erişilebilir dosyalar içindir. (bir çok istisna dışında: D)
Adam Ocsvari

2
İyi karşılaştırma. Ancak EBS ve EFS arasındaki bir diğer önemli fark, EBS'nin sabit bir depolama alanı olmasıdır. Öyleyse evet, 1 GB karşılaştırması farklı, ama neden 1GB EBS bölümü oluştursun? Minimum olarak, 10 GB'lık bir bölüm oluşturacaksanız, 10 GB'lık verilerde depolanan aynı 1 GB veri için 0,5-1,0 ABD dolarına bakıyorsunuz. Veri depolama ihtiyacınızın ne kadar hızlı büyüyeceğine ve ne kadar kullanılmayan alan için ödeme yapmak istediğinize bağlı olarak, EFS daha iyi bir seçenek olabilir.
JDL

3
Ayrıca kayda değer: EFS şu anda sadece Linux ile çalışıyor, Windows ile değil.
Andrew Clark

110

İnsanların neden EFS lehine EN zorlayıcı nedeni vurgulamadığını merak ediyorum. EFS, aynı anda birden fazla EC2 örneğine monte edilebilir, böylece EFS'deki dosyalara aynı anda erişim sağlanır.

(Düzenleme 2020 Mayıs, EBS şu anda aynı anda birden fazla EC2'ye montajı da desteklemektedir, bkz: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html )


Ben de. Soruyu soran veya soruyu oylayan (cevabı değil) sadece UFS ve NFS sistemi arasındaki farkın ne olduğunu bilmiyorlar.
BMW

5
Benzer şekilde, bu S3 ve EBS kullanma arasındaki farktır - S3 ve EFS, birden fazla sunucuda paylaşılan veriler için iyi çalışır, ancak EBS işe yaramaz.
Geoffrey Wiseman

ayrıca EFS, CDN için bir kaynak olarak kullanılamaz, S3 bu rol için daha iyidir. CDN'ye ihtiyacı olan çok fazla varlığınız varsa, S3'ü kullanın
Moses Liao GZ

71

Karşılaştırmayı düzeltme:

  • S3 her yerden erişilebilen bir depolama tesisidir
  • EBS, EC2'ye monte edebileceğiniz bir cihazdır
  • EFS, aynı anda birkaç EC2 örneğine monte edebileceğiniz bir dosya sistemidir

Bu noktada, EFS ve EBS'yi karşılaştırmak biraz erken - EFS'nin performansı bilinmemektedir veya güvenilirliği bilinmemektedir.

Neden S3'ü kullanasınız?

  • Dosyaların bir veya daha fazla EC2 örneğinde 'yerel' olmasına gerek yoktur.
  • (etkin) sonsuz kapasite
  • yerleşik web sunumu, kimlik doğrulama

2
Kısa süre önce West-2'de mevcut olduğu için bir EFS hacmi ayarladım. Büyük dosyalarla yazma sorunları yaşıyorum. Örneğin, bir docker kapsayıcısı oluşturma "dosya çok büyük" ile başarısız oluyor ve sqlite db oluşturma işlemi de başarısız oldu. Kullandığım EBS biriminde bu sorun yoktu. Bu nedenle, evet EFS'nin şu anda "düzeltilmesi" gereken kullanılabilirlik / güvenilirlik sorunları olabilir.
DKebler

7

Karşılaştırmaya eklemek için: (seri çekim) EFS'deki okuma / yazma performansı toplanan kredilere bağlıdır. Kredi toplamak, üzerinde depoladığınız veri miktarına bağlıdır. Daha fazla tarih -> daha fazla kredi. Bu, sık sık okunan veya yazılan birkaç GB depolama alanına ihtiyaç duyduğunuzda, çok yakında kredinizin tükeneceği ve geçişin yaklaşık 50kb / s'ye düşeceği anlamına gelir. Bunu düzeltmenin tek yolu (benim durumumda) kazanılan kredi oranını artırmak için büyük sahte dosyalar eklemekti. Ancak daha fazla depolama alanı -> daha fazla maliyet.


2
Bu çok yavaş. İlk başta bunun OP tarafından bir hata olduğunu düşündüm, ancak belgeleri kontrol ettikten sonra doğru (2017 itibariyle)
Jakobovski

7

Fiyat ve özelliklerin yanı sıra, verim de büyük ölçüde değişir (user1677120 tarafından belirtildiği gibi):

EBS

Alındığı EBS docs :

| 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) |

İo1, st1 ve sc1 için hacim trafiğine bağlı olarak en az 125Mib / s'ye, ancak 500Mib / s'ye kadar çıkış trafiğini patlatabileceğinizi unutmayın.

EBS birimlerini RAID0 olarak dağıtarak verimi daha da artırabilirsiniz

EFS

Alındığı EFS docs

| 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 |

Temel işlem hacmi garantilidir, seri işlem hacmi, temel işlem hacminin altındayken topladığınız kredileri kullanır (bu nedenle, yalnızca sınırlı bir süre için buna sahip olursunuz, daha fazla bilgi için buraya bakın.

S3

S3 tamamen farklı bir şey, bu yüzden gerçekten EBS ve EFS ile karşılaştırılamaz. Artı: S3 için yayınlanmış bir iş hacmi metriği yoktur. Paralel olarak indirerek verimi artırabilirsiniz (bir yerlerde bu şekilde sınırsız verim alacağınız AWS durumlarını okudum) veya karışıma CloudFront ekleyerek


2

Basit bir deyişle

Amazon EBS blok düzeyinde depolama sağlar.

Amazon EFS, ağa bağlı paylaşılan dosya depolama alanı sağlar.

Amazon S3, nesne depolama sağlar.


1

EBS, aynı AZ'den gelen bir örneğe eklenebilen ve örnek yaşamından bağımsız olarak hayatta kalabilen basit - blok düzeyinde depolamadır.

Bununla birlikte, ilginç fark EFS ve S3 arasında ve bunun için uygun kullanım durumlarını tanımlamaktır.

Maliyet: EFS, S3'ten yaklaşık 10 kat maliyetlidir.

Usecases:

  • Dosyayı aynı anda işlemesi gereken binlerce örneğimiz olduğunda, S3 üzerinden EFS önerilir.
  • Ayrıca, S3'ün nesne tabanlı bir depolama alanı olduğunu, EFS dosya tabanlı olduğu zaman, dosyaların sürekli olarak güncellenmesi (yenilenmesi) gerektiğinde EFS kullanmamız gerektiğini ima eder.
  • S3 eninde sonunda EFS güçlü bir şekilde tutarlı. Nihai tutarlılığı karşılayamamanız durumunda EFS kullanmalısınız

0

Amazon EBS, blok düzeyinde depolama sağlar - Üzerinde bir dosya sistemi oluşturmak ve dosyaları depolamak için kullanılır. Amazon EFS - NAS / SAN gibi paylaşılan depolama sistemi. Unix sunucusuna bağlamanız ve kullanmanız gerekir. Amazon S3 - Her öğenin bir http URL ile depolandığı nesne tabanlı bir depolama alanıdır.

Farklardan biri - EBS bir kerede 1 örneğe eklenebilir ve EFS, bu nedenle paylaşılan depolamanın birden çok örneğine eklenebilir. S2 düz nesne depolama takılamıyor.


0

EFS & S3 aynı amaca sahiptir, her türlü nesne veya dosyayı saklayabilirsiniz.

Ancak benim için tek fark, EFS'nin VM (EC2) bulutunda birden çok örneğe ekleyebileceğiniz gibi daha fazla esnekliğe sahip geleneksel bir dosya sistemine sahip olmanıza izin vermesidir.

Öte yandan S3, nesneleriniz için ayrı bir esnek ve elastik sunucudur. Statik dosyalarınız, resimleriniz, videolarınız veya hatta statik uygulamanız (js) için kullanılabilir.

EBS, işletim sistemini veya işletim sisteminizle ilgili herhangi bir şeyi yükleyebileceğiniz blok depolama içindir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.