it-swarm.com.de

AWS EFS vs EBS vs S3 (Unterschiede und wann?)

Wie laut Titel dieser Frage lauten die praktischen Unterschiede zwischen AWS EFS, EBS und S3?

Mein Verständnis von jedem:

  • S3 ist ein Speicher, auf den überall zugegriffen werden kann
  • EBS ist ein Gerät, das Sie auf EC2 montieren können
  • EFS ist ein Dateisystem, das Sie auf EC2 mounten können

Warum sollte ich EBS über EFS verwenden? Scheint, als hätten sie dieselben Anwendungsfälle, aber geringfügige semantische Unterschiede? Obwohl EFS über AZs repliziert wird, ist EBS nur ein bereitgestelltes Gerät. Ich vermute, mein Verständnis von EBS fehlt, daher kann ich nicht unterscheiden.

Warum S3 statt EFS wählen? Beide speichern Dateien, skalieren und werden repliziert. Ich vermute, mit S3 müssen Sie das SDK verwenden, wobei Sie wie mit EFS als Dateisystem Standard-E/A-Methoden aus der Programmiersprache Ihrer Wahl zum Erstellen von Dateien verwenden können. Aber ist das der einzige wirkliche Unterschied?

286
Integralist

Ein Wort Antwort: GELD: D

1 GB zum Speichern in US-Ost-1: (aktualisiert um 2016.dec.20)

  • Gletscher: 0,004 USD/Monat (Hinweis: Große Preissenkung im Jahr 2016)
  • S3: 0,023 USD/Monat
  • S3-IA (angekündigt in 2015.09): $ 0.0125/Monat (+ $ 0.01/Gig Retrieval Charge)
  • EBS: $ 0.045-0.1/Monat (abhängig von der Geschwindigkeit - SSD oder nicht) + IOPS-Kosten
  • EFS: 0,3 USD/Monat

Weitere Speichermöglichkeiten, mit denen Daten während/vor der Verarbeitung zwischengespeichert werden können:

  • SNS
  • SQS
  • Kinesis-Stream
  • DynamoDB, SimpleDB

Die oben genannten Kosten sind nur Beispiele. Es kann regionale Unterschiede geben, die sich jederzeit ändern können. Außerdem fallen zusätzliche Kosten für die Datenübertragung (ins Internet) an. Sie zeigen jedoch ein Verhältnis zwischen den Preisen der Dienstleistungen .

Es gibt viel mehr Unterschiede zwischen diesen Diensten:

EFS ist:

  • Allgemein verfügbar (nicht in der Vorschau), in Ihrer Region jedoch möglicherweise noch nicht verfügbar
  • Netzwerk-Dateisystem (dies bedeutet, dass die Latenz möglicherweise größer ist, sie jedoch von mehreren Instanzen gemeinsam genutzt werden kann, auch zwischen Regionen)
  • Es ist teuer im Vergleich zu EBS (~ 10x mehr), bietet aber zusätzliche Funktionen.
  • Es ist ein hochverfügbarer Service.
  • Es ist ein verwalteter Dienst
  • Sie können den EFS-Speicher an eine EC2-Instanz anhängen
  • Kann von mehreren EC2-Instanzen gleichzeitig aufgerufen werden
  • Seit 2016.dec.20 ist es möglich, Ihren EFS-Speicher über Direct Connect direkt an lokale Server anzuhängen. ()

EBS ist:

  • Ein Blockspeicher (Sie müssen ihn also formatieren). Dies bedeutet, dass Sie den gewünschten Dateisystemtyp auswählen können.
  • Da es sich um einen Blockspeicher handelt, können Sie RAID 1 (oder 0 oder 10) mit mehreren Blockspeichern verwenden
  • Es ist sehr schnell
  • Es ist relativ günstig
  • Mit den neuen Ankündigungen von Amazon können Sie bis zu 16 TB Daten pro Speicher auf SSDs speichern.
  • Sie können aus Sicherungsgründen einen Snapshot eines EBS erstellen (während dieser noch ausgeführt wird)
  • Es existiert aber nur in einer bestimmten Region. Sie können es zwar in eine andere Region migrieren, aber Sie können nicht nur über Regionen hinweg darauf zugreifen (nur wenn Sie es über EC2 freigeben; dies bedeutet, dass Sie einen Dateiserver haben).
  • Sie benötigen eine EC2-Instanz, um sie anzufügen
  • Neue Funktion (2017.Feb.15): Sie können jetzt die Lautstärke erhöhen, die Leistung anpassen oder den Lautstärketyp ändern, während die Lautstärke verwendet wird. Sie können Ihre Anwendung weiterhin verwenden, während die Änderung wirksam wird.

S3 ist:

  • Ein Objektspeicher (kein Dateisystem).
  • Sie können Dateien und "Ordner" speichern, aber keine Sperren, Berechtigungen usw. wie bei einem herkömmlichen Dateisystem haben
  • Dies bedeutet, dass Sie S3 standardmäßig nicht einfach mounten und als Webserver verwenden können
  • Aber es ist perfekt zum Speichern Ihrer Bilder und Videos für Ihre Website
  • Ideal für die Kurzzeitarchivierung (z. B. einige Wochen). Es ist auch gut für die Langzeitarchivierung, aber Glacier ist kostengünstiger.
  • Ideal zum Speichern von Protokollen
  • Sie können auf die Daten aus jeder Region zugreifen (zusätzliche Kosten können anfallen)
  • Hochverfügbar, redundant. Grundsätzlich ist kein Datenverlust möglich (99.999999999% Haltbarkeit, 99.9 Uptime SLA)
  • Viel billiger als EBS.
  • Sie können die Inhalte direkt im Internet bereitstellen. Sie können sogar eine vollständige (statische) Website direkt von S3 aus ohne eine EC2-Instanz erstellen

Gletscher ist:

  • Langzeitarchivierung
  • Extrem günstig zu lagern
  • Möglicherweise sehr teuer in der Beschaffung
  • Es dauert bis zu 4 Stunden, um Ihre Daten "zurückzulesen" (speichern Sie also nur Artikel, von denen Sie wissen, dass Sie sie für eine lange Zeit nicht mehr abrufen müssen).

Wie im Kommentar von JDL erwähnt, gibt es einige interessante Aspekte in Bezug auf die Preisgestaltung. Zum Beispiel ordnet Glacier, S3, EFS den Speicher für Sie basierend auf Ihrer Nutzung zu, während Sie bei EBS den zugewiesenen Speicher vordefinieren müssen. Das heißt, Sie müssen überschätzen. (Es ist jedoch einfach, Ihren EBS-Volumes mehr Speicherplatz hinzuzufügen. Dies erfordert ein gewisses Maß an Engineering. Das bedeutet, dass Sie Ihren EBS-Speicher immer "überbezahlen", was ihn noch teurer macht.)

Quelle: AWS Storage Update - Neue kostengünstige S3-Speicheroption und Preissenkung für Gletscher

434
Adam Ocsvari

Ich frage mich, warum die Menschen nicht den zwingendsten Grund für EFS hervorheben. EFS kann gleichzeitig auf mehreren EC2-Instanzen bereitgestellt werden, sodass gleichzeitig auf Dateien in EFS zugegriffen werden kann.

101
Kabeer

Behebung des Vergleichs:

  • S3 ist ein Speicher, auf den überall zugegriffen werden kann
  • EBS ist ein Gerät, das Sie auf EC2 montieren können
  • EFS ist ein Dateisystem, in das Sie einhängen können mehrere EC2-Instanzen gleichzeitig

Zum jetzigen Zeitpunkt ist es etwas verfrüht, EFS und EBS zu vergleichen - die Leistung von EFS ist weder bekannt, noch ist seine Zuverlässigkeit bekannt.

Warum würden Sie S3 verwenden?

  • Es ist nicht erforderlich, dass die Dateien für eine oder mehrere EC2-Instanzen lokal sind.
  • (effektiv) unendliche Kapazität
  • integriertes Web-Serving, Authentifizierung
65
tedder42

Zum Vergleich hinzufügen: Die Lese-/Schreibleistung (Burst) von EFS hängt von den gesammelten Credits ab. Das Sammeln von Credits hängt von der Menge der Daten ab, die Sie darauf speichern. Mehr Datum -> mehr Credits. Das bedeutet, wenn Sie nur wenige GB Speicherplatz benötigen, der häufig gelesen oder beschrieben wird, werden Ihnen die Credits sehr bald ausgehen und der Durchsatz sinkt auf etwa 50 kb/s. Die einzige Möglichkeit, dies zu beheben (in meinem Fall), bestand darin, große Dummy-Dateien hinzuzufügen, um die Rate zu erhöhen, mit der Credits verdient werden. Allerdings mehr Speicherplatz -> mehr Kosten.

6
user1677120

Neben Preis und Ausstattung variiert auch der Durchsatz stark (wie von user1677120 erwähnt):

EBS

Entnommen aus EBS-Dokumente :

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

Beachten Sie, dass Sie für io1, st1 und sc1 den Durchsatz auf mindestens 125 Mib/s, aber je nach Volume-Größe auf 500 Mib/s erhöhen können.

Sie können den Durchsatz weiter erhöhen, indem Sie z. Bereitstellen von EBS-Volumes als RAID

EFS

Entnommen aus EFS-Dokumente

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

Der Basisdurchsatz ist garantiert, der Burst-Durchsatz verbraucht die Credits, die Sie gesammelt haben, während Sie sich unter dem Basisdurchsatz befanden (Sie haben dies also nur für eine begrenzte Zeit, siehe hier für weitere Details.

S3

S3 ist eine völlig andere Sache, daher kann sie nicht wirklich mit EBS und EFS verglichen werden. Plus: Es gibt keine veröffentlichten Durchsatzmetriken für S3. Sie können den Durchsatz verbessern, indem Sie parallel herunterladen (irgendwo in AWS heißt es, dass Sie auf diese Weise im Grunde unbegrenzten Durchsatz erzielen würden) oder CloudFront zum Mix hinzufügen

6
hansaplast

In einfachen Worten

Amazon EBS bietet Speicher auf Blockebene.

Amazon EFS bietet Netzwerkspeicher für gemeinsam genutzte Dateien.

Amazon S3 bietet Objektspeicher.

0
Mandrek

Amazon EBS bietet Speicher auf Blockebene - Es wird verwendet, um ein Dateisystem darauf zu erstellen und Dateien zu speichern. Amazon EFS - sein Shared Storage-System, ähnlich wie NAS/SAN. Sie müssen es auf dem Unix-Server mounten und verwenden. Amazon S3 - Es handelt sich um objektbasierten Speicher, in dem jedes Element mit einer http-URL gespeichert ist.

Der Unterschied besteht darin, dass EBS gleichzeitig an eine Instanz angehängt werden kann und EFS an mehrere Instanzen angehängt werden kann, weshalb gemeinsam genutzter Speicher verwendet wird. S2 Plain Object Storage kann nicht montiert werden.

0
suresh joshi