Kurs
Effiziente Datenspeicherung ist in jedem Sektor entscheidend für den operativen Erfolg eines Unternehmens. Je mehr Daten anfallen, desto wichtiger werden skalierbare, zuverlässige und kostengünstige Speicherlösungen.
Die richtige Speicherlösung auszuwählen ist angesichts der Vielzahl an Optionen—ob in der Cloud oder on‑premises—mit jeweils eigenen Stärken und Grenzen, eine echte Herausforderung.
Dieser Artikel will nicht alle Möglichkeiten abdecken, sondern konzentriert sich auf skalierbare, zuverlässige und kosteneffiziente Services: den Amazon Simple Storage Service (Amazon S3) und das Amazon Elastic File System (EFS).
Wir starten mit den Gründen, warum Unternehmen Speicherdienste einsetzen sollten, und gehen dann die Grundlagen von Speicherdiensten durch. Anschließend zeigen wir, wie du Storage in operative Prozesse integrierst. Im letzten Abschnitt tauchen wir in fortgeschrittene Konzepte ein—mit Fokus auf Performance- und Kostenoptimierung.
Wenn du eine umfassende Einführung in Amazon Web Services (AWS) suchst, wirf einen Blick auf diesen Kurs: Introduction to AWS.
Warum AWS für File Storage?
Bei all den verfügbaren Speicheroptionen ist es wichtig zu klären, warum ein Unternehmen AWS für Dateispeicherung nutzen sollte—genau das leistet dieser Abschnitt.
Wir beginnen mit einem Vergleich zwischen AWS-Speicherdiensten und traditionellen Lösungen und ergänzen reale Anwendungsbeispiele. So wird hoffentlich deutlich, wie relevant AWS S3 und EFS in unterschiedlichen Szenarien sind.
Speicheroptionen im Vergleich
Klassische Speicherlösungen und AWS-Speicherdienste bieten unterschiedliche Funktionen und Vorteile. Die Tabelle unten stellt sie gegenüber:
|
Funktionen |
Traditioneller Speicher |
AWS S3 & EFS |
|
Kosten |
Investitionen in Hardware plus laufende Wartungskosten—über die Zeit schwer planbar. |
Pay‑as‑you‑go‑Preismodell senkt Einstiegskosten und ermöglicht Kostenkontrolle je nach Nutzung. |
|
Compliance |
Über interne Kontrollen und Audits—oft mit zusätzlichem Aufwand, um Standards einzuhalten. |
AWS erfüllt zahlreiche Branchenstandards wie HIPAA und GDPR und vereinfacht damit die Compliance. |
|
Datenzugriff |
Meist nur von bestimmten Standorten oder Netzwerken. Remote-Zugriff oft komplexer und weniger sicher. |
Weltweit über das Internet erreichbar, mit hoher Verfügbarkeit und Redundanz. |
|
Datendauerhaftigkeit |
Anfällig für physische Schäden, Diebstahl oder Naturkatastrophen. |
Bieten 99,99999999999% (11 Neunen) Dauerhaftigkeit durch automatische Replikation über mehrere Availability Zones. |
|
Management & Wartung |
Erfordert ein Team für Hardwarewartung, Software-Updates und Troubleshooting. |
Wird von AWS übernommen. Das reduziert den Administrationsaufwand. |
|
Performance |
Hängt von Hardware und Netzwerk ab. Upgrades können teuer sein. |
Konfigurierbare Performance. S3 bietet Speicherklassen und Beschleunigungsfunktionen, EFS unterstützt Bursting-Workloads und verschiedene Durchsatzmodelle. |
|
Skalierung |
Begrenzt durch physische Infrastruktur; Skalierung erfordert manuelle Eingriffe. |
Hochgradig skalierbar—Speicher lässt sich ohne Vorabprovisionierung einfach anpassen. |
|
Sicherheit |
Abhängig von lokalen Maßnahmen—hoher Aufwand, um Datensicherheit und Compliance sicherzustellen. |
Umfassende Sicherheitskontrollen inkl. Verschlüsselung (at rest und in transit), Zugriffsmanagement und Zertifizierungen. |
Sowohl S3 als auch EFS werden branchenübergreifend eingesetzt. Hier sind beispielhafte Anwendungsfälle, die Relevanz und Nutzen in verschiedenen Szenarien zeigen.
Amazon S3: Use Cases
Schauen wir uns zunächst Einsatzszenarien für den Amazon Simple Storage Service (S3) an:
- Website-Hosting: S3 hostet statische Websites wie Blogs, Marketingseiten und Portfolios. Dank globaler Reichweite und hoher Dauerhaftigkeit werden Inhalte weltweit schnell und zuverlässig ausgeliefert.
- Backups und Disaster Recovery: S3 eignet sich für Backups, Datenarchivierung und Notfallwiederherstellung—wegen hoher Dauerhaftigkeit und Verfügbarkeit.
- Datenlakes für Analytics: Unternehmen aggregieren in S3 große Mengen strukturierter und unstrukturierter Daten für Big-Data-Analysen.
- Content-Distribution: Medienunternehmen speichern und verteilen große Video-, Audio- und Bilddateien. In Kombination mit CloudFront und Content-Delivery-Netzwerken liefert S3 Inhalte mit geringer Latenz effizient aus.
EFS: Use Cases
Nun zu den Einsatzszenarien des Amazon Elastic File System (EFS):
- Gemeinsamer Dateispeicher für EC2-Instanzen: EFS dient als hochverfügbarer, skalierbarer Dateispeicher für EC2. Anwendungen auf mehreren Instanzen teilen Daten über EFS—ideal für Workloads, die Dateisystemfunktionen wie hierarchische Struktur, Verzeichnisse und File Locking benötigen.
- Container-Speicher: EFS lässt sich mit containerisierten Anwendungen nutzen, z. B. mit Amazon ECS und Kubernetes auf AWS. Es bietet persistenten Speicher für Container, sodass Daten über die Lebensdauer einzelner Container hinaus erhalten bleiben.
- Big Data und Analytics: EFS passt für Analytik-Workloads, die gemeinsamen Dateizugriff brauchen. Es liefert den nötigen Durchsatz, IOPS und niedrige Latenz für große Datensätze.
AWS Storage: Grundlagen
Nach diesen Einblicken in S3 und EFS ist die zentrale Frage: Wann nutzt du welchen Service? Genau das klären wir hier. Zuerst führen wir in Block-, Datei- und Objektspeicher ein und vergleichen anschließend S3 und EFS.
Einführung in Block-, Datei- und Objektspeicher
Block-, Datei- und Objektspeicher sind drei grundlegende Speicherarten—jede mit eigenem Zweck in Cloud Computing und Datenmanagement.
Blockspeicher
Blockspeicher segmentiert Daten in Blöcke mit eindeutigen IDs und ermöglicht flexible, effiziente Verwaltung. Amazon Elastic Block Store (EBS) und Instance Store Volumes sind Beispiele für Blockspeicher im AWS-Ökosystem.
Instance Store bietet flüchtigen, direkt am Host anliegenden Speicher—ideal für temporäre Daten. EBS stellt hingegen persistenten Blockspeicher bereit, geeignet für Datenbanken, Anwendungen und Dateisysteme mit Anforderungen an Dauerhaftigkeit und inkrementelle Snapshots.
Dateispeicher
Dateispeicher organisiert Daten in einer hierarchischen Struktur aus Dateien und Ordnern—wie das Dateisystem auf einem Computer. Das ist intuitiv und vereinfacht Zugriff und Verwaltung.
Amazon Elastic File System (EFS) ist ein Beispiel für Dateispeicher in der Cloud. Es bietet ein gemeinsam genutztes, automatisch skalierendes Dateisystem mit parallelem Zugriff aus mehreren Instanzen.
EFS ist besonders sinnvoll für Anwendungen mit gemeinsamem Dateizugriff oder wenn Inhalte von mehreren Nutzern oder Systemen gelesen und bearbeitet werden.
Objektspeicher
Objektspeicher wie Amazon S3 ist für riesige Mengen unstrukturierter Daten ausgelegt. Anders als Block- und Dateispeicher verwaltet Objektspeicher Daten als Objekte in Buckets.
Jedes Objekt umfasst Daten, Metadaten und eine eindeutige ID—für effizientes Retrieval und Management in jedem Maßstab. S3 ist vielseitig: von statischem Website-Hosting bis Datenarchivierung, mit Klassen wie Standard, Standard-Infrequent Access (IA), Glacier Flexible Retrieval und Glacier Deep Archive.
S3 vs. EFS
Ob Amazon S3 oder Amazon Elastic File System (EFS) passt, hängt von den Anforderungen deiner Anwendung oder deines Workloads ab. Hier die wichtigsten Unterschiede:
|
Kriterium |
Amazon S3 |
Amazon EFS |
|
Datentyp |
Unstrukturierte Daten wie Bilder, Videos, Logs und Backups. |
Geteilte Dateien, auf die mehrere EC2-Instanzen gleichzeitig zugreifen. |
|
Speicherskalierung |
Für riesige Datenmengen ausgelegt—skalierbar bis in den Exabyte-Bereich. |
Skaliert automatisch mit dem Bedarf—ohne manuelles Eingreifen. |
|
Zugriffsmuster |
Ideal bei variierenden Zugriffsmustern—von häufigem Zugriff bis Archiv. |
Geeignet für Daten, die konsistent und gleichzeitig von mehreren Anwendungen genutzt werden. |
|
Integration |
Integriert sich mit AWS-Services für Verarbeitung, Analytics und Content-Delivery. |
Unterstützt Anwendungen mit klassischer Dateisystem-Schnittstelle. |
|
Speicherklassen |
Mehrere Speicherklassen. |
Nicht anwendbar. |
|
Kosten |
Kosten je nach Klasse; Optionen für seltenen Zugriff senken Ausgaben. |
Kosten basieren auf belegter Kapazität—ohne Vorabkosten, mit automatischer Skalierung. |
|
Skalierbarkeit & Flexibilität |
Hoch skalierbar in Kapazität und Leistung. |
Flexible Skalierung ohne Provisionierung—bewältigt Lastspitzen mühelos. |
Erste Schritte mit Amazon S3
Da wir das Konzept der Dateispeicherung nun besser verstehen, wird es Zeit für die praktische Umsetzung.
In diesem Abschnitt verwalten wir Daten mit Amazon S3. Konkret: einen Bucket erstellen, Daten in Ordnern organisieren, Dateien hochladen, bei Bedarf öffentliche Zugriffsrechte setzen, Metadaten für Verwaltung vergeben und schließlich den Bucket samt Inhalt löschen, um Ressourcen freizugeben und Kosten zu vermeiden.
Voraussetzung ist ein AWS-Konto, das du über die AWS‑Website erstellen kannst.
Bucket erstellen
Ausgangspunkt ist die Amazon Web Services Management Console, wie unten gezeigt:

Über diese Konsole verwaltest du alle AWS-Ressourcen—von Compute-Instanzen wie EC2 bis zu Messaging-Services wie SQS, einschließlich Security-Management.
Sobald du in der Konsole bist, erstellst du als Erstes eine S3-Instanz. Gehe dazu wie folgt vor (den Zahlen in der Abbildung folgend):

Weiter geht es mit ein paar zusätzlichen Schritten:

Hier ein paar Anmerkungen zu den genannten Schritten:
- Schritt 4: Wir erstellen den Bucket in der Region US East (Ohio) us-east-2.
- Schritt 5: Bucket-Namen sind global eindeutig. Wähle daher einen Namen, der noch nicht vergeben ist. So kann niemand—egal wo—einen Bucket mit demselben Namen anlegen.
- Schritt 6: Die Option ACLs enabled erlaubt detaillierte Berechtigungen für den Zugriff auf Dateien im Bucket—nützlich für Berechtigungen auf Objektebene. Mit ACLs disabled kannst du keine Rechte auf einzelne Dateien setzen.
- Schritt 8: Die Option Bucket owner preferred stellt sicher, dass wir Eigentümer aller hochgeladenen Dateien sind—unabhängig davon, wer sie hochlädt. Das vereinfacht Berechtigungen und Zugriffsverwaltung.
Jetzt erstellen wir den Bucket mit drei weiteren Schritten:


Daten in den Bucket hochladen
Nach der Erstellung sehen wir die Bucket-Details. Ein Bucket ist ein Container für Ressourcen. Der Upload startet mit dem Anlegen eines Ordners. Gehe so vor:

Nun erstellen wir den Ordner:

Der Ordner wurde erstellt!

Jetzt laden wir Daten in den Ordner hoch. Probieren wir ein Bild aus:

Der Upload war erfolgreich!

Zugriffskontrolle konfigurieren
Standardmäßig sind alle in den Bucket hochgeladenen Dateien privat und gehören dem Ersteller. Nur der Eigentümer kann sie ansehen, bearbeiten oder herunterladen. Manchmal sollen Dateien jedoch öffentlich zugänglich sein—etwa wenn Website-Fotos für alle sichtbar sein sollen.
Dafür erlauben wir öffentlichen Zugriff auf das Bild. Wir sollten die Objekt-URL dann öffentlich erreichen—bekommen aber zunächst Access Denied.

Die Lösung: Wechsle auf Bucket-Ebene zum Tab Permissions und bearbeite die Bucket Policy:
Jetzt passen wir die Policy an:
Nach diesen Änderungen wird das Bild endlich angezeigt!

AWS-Logo nach der Konfiguration der Zugriffskontrolle
Einführung in Amazon EFS
In diesem Abschnitt erstellen wir ein EFS-Dateisystem—mit Fokus auf Performance- und Sicherheitseinstellungen.
Sicherheitsgruppe erstellen
Zuerst erstellen wir eine Sicherheitsgruppe. Wähle dazu unter dem Tab Security links den Punkt „Security Groups“.

Dann:
- Create security group auswählen.
- Einen aussagekräftigen Namen vergeben—hier MyDataCampEFSGroup.
- Eine kurze Beschreibung hinzufügen.
- VPC auf dem Standardwert belassen.

Wir fügen keine Inbound-Regeln hinzu:

Der Typ von Outbound rule 1 sollte All traffic sein:

Sind wir fertig konfiguriert, klicken wir auf Create security group.

Die neue Sicherheitsgruppe erscheint im Bereich Security Groups.

Erstes EFS-Dateisystem einrichten
Als Nächstes erstellen wir ein EFS-Dateisystem. Suche nach EFS und wähle es aus:

Klicke auf Create file system.

Vergib einen aussagekräftigen Namen, belasse VPC wie voreingestellt und klicke auf Customize.

Klicke Next, um zur Netzwerk-Konfiguration zu gelangen.

Trage in jeder Availability Zone bei den Security Groups MyDataCampEFSGroup ein.

Danach erneut auf Next klicken.

Im letzten Schritt überprüfst du die Konfiguration. Wenn alles passt, klicke auf Create.

Nach erfolgreicher Erstellung siehst du das neue EFS-Dateisystem im Tab File systems.

EC2-Instanz erstellen
Als Nächstes erstellen wir eine EC2-Instanz, die EFS die notwendige Rechenumgebung bietet und gleichzeitig auf dieselben Daten zugreift.
Schritt für Schritt: Wähle in der Konsole EC2, klicke auf Launch instance und entscheide dich für Amazon Linux 2 (Free Tier-berechtigt).

Erstelle nun ein Schlüsselpaar für die sichere Verbindung. In diesem Abschnitt nutzen wir eine Datei mit der Endung .pem und dem Namen efs_ec2_key_pair. Lade sie herunter und speichere sie lokal.

Die Standardkapazität beträgt 8 GiB—für unseren Zweck ausreichend—und die Anzahl der Instanzen erhöhen wir auf 3. Klicke abschließend auf Launch instance. Das Ergebnis zeigt die neu erstellten Instanzen.

Bevor wir fortfahren, prüfen wir die Verbindung per SSH (Secure Shell):
ssh -i [path_to_the_key] ec2-user@[Public IPv4 address]
Aufgeschlüsselt:
ssh: Startet die SSH-Verbindung.-i [path_to_the_key]: Pfad zur privaten SSH-Schlüsseldatei für die Authentifizierung.ec2-user: Standardbenutzername für EC2-Linux-Instanzen. Ein anderer Benutzername ist möglich, falls konfiguriert.@: Trennt Benutzername und Serveradresse.[Public IPv4 address]: Öffentliche IP-Adresse der EC2-Instanz—in der AWS Management Console zu finden.
So sehen die Verbindungsresultate der drei Instanzen über SSH aus.
SSH-Verbindung—Ergebnis für die erste Instanz.

SSH-Verbindung—Ergebnis für die zweite Instanz.

SSH-Verbindung—Ergebnis für die dritte Instanz.
EFS konfigurieren
Zum Schluss mounten wir die oben erstellten EC2-Instanzen. Das geht über die EFS-Oberfläche.
Der Einfachheit halber zeigen wir den Vorgang für eine Instanz—für die anderen gilt das gleiche Vorgehen.
Installiere zunächst auf jeder Instanz den EFS Mount Helper mit folgendem Befehl:
sudo yum install -y amazon-efs-utils

Installation der Amazon EFS Utilities—Trace-Log.
Dann erstellen wir im Root-Verzeichnis jeder Instanz einen Ordner efs mit sudo—achte darauf, auf allen Instanzen denselben Pfad zu verwenden.
sudo mkdir /efs

Nach dem erfolgreichen Anlegen mounten wir das Dateisystem. Die File-System-ID stammt aus der EFS-Erstellung. Wir verwenden sie im Befehl sudo mount -t efs [file system ID]:/ /efs:
sudo mount -t efs fs-088faeea6372efa83:/ /efs

Dieses Timeout entsteht, weil die dem EFS zugeordnete Sicherheitsgruppe keinen eingehenden Traffic von unseren EC2-Instanzen zulässt. Das beheben wir, indem wir eingehende Verbindungen erlauben:

Jetzt erstellen wir eine neue Inbound-Regel:

Sicherer wäre es, eine separate Sicherheitsgruppe für die EC2-Instanzen zu erstellen und nur Verbindungen aus dieser Gruppe zuzulassen. Diese Konfiguration liegt außerhalb des Umfangs dieses Artikels.
Nach erfolgreicher Umsetzung auf jeder EC2-Instanz akzeptiert das EFS-System Verbindungen von überall (inklusive unserer Instanzen). Diesmal gibt es kein Timeout:

Zur Verifizierung des Mounts solltest du Folgendes können:
- Einen Ordner im gemeinsamen efs-Verzeichnis von einer EC2-Instanz aus anlegen
- Diesen Ordner von einer anderen EC2-Instanz aus sehen und nutzen.
Die Abbildung zeigt, wie der Ordner my_DataCamp_data auf der ersten EC2-Instanz erstellt und eine README.txt abgelegt wird. Dieselbe README ist auf den übrigen Instanzen sichtbar.

EFS-Dateifreigabe.
Dank der EFS-Konfiguration sind Dateien, die eine Instanz erstellt, für die anderen Instanzen zugänglich.
Für einen breiteren Überblick über das AWS-Ökosystem empfiehlt sich dieser Kurs: AWS Cloud Technology and Services.
Erweiterte Speicherstrategien
Durchdachte Speicherstrategien sind entscheidend für effizientes Datenmanagement. Zwei zentrale Aspekte sind Performance- und Kostenoptimierung.
Diese Strategien sind besonders relevant für den Amazon Simple Storage Service (S3) und das Elastic File System (EFS).
Performanceoptimierung in S3 und EFS umfasst die Wahl passender Speicherklassen und Durchsatzmodi, um Geschwindigkeit und Effizienz zu steigern.
Kostenoptimierung bedeutet, verschiedene Speicherebenen je nach Zugriffshäufigkeit zu nutzen und AWS-Monitoring-Tools für Kostensteuerung einzusetzen. So lassen sich Daten effizient verwalten und Cloud-Kosten senken.
Fazit
Glückwunsch, dass du bis hierher gekommen bist! Wir hoffen, dieser Deep Dive macht dich bereit für den Einsatz von AWS Storage.
Am schnellsten lernst du AWS-Services, wenn du sie in realen Szenarien anwendest—nicht isoliert, sondern im Zusammenspiel mehrerer Dienste. Wenn dich das reizt, schau dir diesen Kurs an: Streaming Data with AWS Kinesis and Lambda.
Wenn du im AWS-Umfeld arbeiten willst, wirf einen Blick auf die passenden AWS-Zertifizierungen 2024. Außerdem helfen die wichtigsten AWS-Interviewfragen und -Antworten.
Zoumana ist ein vielseitiger Datenwissenschaftler, der sein Wissen gerne mit anderen teilt und anderen etwas zurückgibt. Er erstellt Inhalte auf YouTube und schreibt auf Medium. Er hat Freude am Sprechen, Programmieren und Unterrichten. Zoumana hat zwei Master-Abschlüsse. Den ersten in Informatik mit dem Schwerpunkt Maschinelles Lernen in Paris, Frankreich, und den zweiten in Datenwissenschaft an der Texas Tech University in den USA. Sein beruflicher Werdegang begann als Softwareentwickler bei Groupe OPEN in Frankreich, bevor er als Berater für maschinelles Lernen zu IBM wechselte, wo er End-to-End-KI-Lösungen für Versicherungsunternehmen entwickelte. Zoumana arbeitet bei Axionable, dem ersten nachhaltigen KI-Startup mit Sitz in Paris und Montreal. Dort arbeitete er als Data Scientist und implementierte KI-Produkte, vor allem NLP-Anwendungsfälle, für Kunden aus Frankreich, Montreal, Singapur und der Schweiz. Zusätzlich widmete er 5% seiner Zeit der Forschung und Entwicklung. Zurzeit arbeitet er als Senior Data Scientist bei der IFC, der Weltbankgruppe.

