0Pricing
Cloud & IT Cert Prep · Lektion

EFS: Gemeinsamer Dateispeicher für Linux

Binden Sie ein EFS-Dateisystem in mehrere EC2-Instances und Lambda-Funktionen ein, konfigurieren Sie Performance- und Durchsatzmodi und steuern Sie den Zugriff mit Security Groups.

EFS: Gemeinsamer Dateispeicher für Linux ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was ist Amazon EFS?

Amazon Elastic File System (EFS) ist ein vollständig verwaltetes, elastisches POSIX-Dateisystem, das gleichzeitig von Tausenden EC2-Instances, Lambda-Funktionen und ECS-/EKS-Containern eingebunden werden kann. Anders als EBS, das an eine einzelne Instance angehängt wird, stellt EFS ein gemeinsam genutztes Dateisystem bereit, in dem alle verbundenen Clients in Echtzeit dieselben Dateien sehen. Die Kapazität wächst und schrumpft automatisch – Sie müssen keinen Speicher im Voraus bereitstellen. EFS eignet sich ideal für Content-Management, gemeinsam genutzte Code-Repositories, Home-Verzeichnisse und Datenanalysen.

EFS-Speicherklassen

EFS bietet zwei Speicherklassen: EFS Standard (Multi-AZ, höchste Verfügbarkeit, Latenz im Submillisekundenbereich) und EFS One Zone (einzelne AZ, 47 % niedrigere Kosten, etwas weniger ausfallsicher). Innerhalb jeder Stufe gibt es außerdem eine Variante für Infrequent Access (IA), in der Daten für Dateien, auf die nicht regelmäßig zugegriffen wird, zu 92 % niedrigeren Kosten als bei Standard gespeichert werden. Der Unterschied zu S3: EFS ist ein vollständiges POSIX-Dateisystem, das Ihre Anwendungen einbinden können – es ist kein Objektspeicher.

# Create an EFS file system in Standard storage class
aws efs create-file-system \
  --performance-mode generalPurpose \
  --throughput-mode elastic \
  --encrypted \
  --tags Key=Name,Value=SharedFileSystem

# One Zone (cheaper, single-AZ):
aws efs create-file-system \
  --performance-mode generalPurpose \
  --throughput-mode elastic \
  --encrypted \
  --availability-zone-name us-east-1a \
  --tags Key=Name,Value=SharedFileSystemOneZone

EFS-Performance-Modi

EFS verfügt über zwei Performance-Modi: General Purpose (Standard, für die meisten Workloads empfohlen – niedrigste Latenz, ideal für Webbereitstellung, Content-Management und Home-Verzeichnisse) und Max I/O (für massiv parallele Workloads mit Tausenden gleichzeitiger Verbindungen ausgelegt, auf Kosten einer etwas höheren Latenz; ideal für Big Data und Medienverarbeitung). Der Performance-Modus wird bei der Erstellung festgelegt und kann nach der Erstellung des Dateisystems nicht geändert werden. Wählen Sie in der SAA-C03-Prüfung Max I/O nur dann, wenn Sie ausdrücklich Tausende parallele Verbindungen benötigen.

# Create EFS with Max I/O for highly parallel workloads
aws efs create-file-system \
  --performance-mode maxIO \
  --throughput-mode provisioned \
  --provisioned-throughput-in-mibps 1024 \
  --encrypted

# Note: Max I/O mode is NOT compatible with Elastic throughput mode
# It must use Provisioned or Bursting throughput

EFS-Durchsatzmodi

EFS unterstützt drei Durchsatzmodi: Elastic (skaliert den Durchsatz automatisch entsprechend dem Workload nach oben und unten – für die meisten Anwendungsfälle empfohlen, Abrechnung pro übertragenem GB), Bursting (der Durchsatz skaliert mit der Speichergröße; Burst-Credits werden wie bei EC2-T-Instances verdient und verbraucht – kostenloser Basisdurchsatz) und Provisioned (Sie legen einen festen Durchsatz unabhängig von der Speichergröße fest – nützlich, wenn Sie einen konstanten Durchsatz benötigen, der über den von Bursting bereitgestellten Durchsatz hinausgeht). Der Elastic-Modus ist heute der Standard und macht eine Planung der Durchsatzkapazität überflüssig.

# Migrate an existing EFS from Bursting to Elastic throughput
aws efs update-file-system \
  --file-system-id fs-0abc1234def567890 \
  --throughput-mode elastic

# Check current throughput mode and performance mode
aws efs describe-file-systems \
  --file-system-id fs-0abc1234def567890 \
  --query 'FileSystems[].{ThroughputMode:ThroughputMode,PerfMode:PerformanceMode,SizeBytes:SizeInBytes.Value}'

Mount Targets und Security Groups

Um von einer EC2-Instance aus auf ein EFS-Dateisystem zuzugreifen, erstellen Sie in jedem Subnetz (AZ), in dem Ihre Instances ausgeführt werden, ein mount target. Für EFS Standard sollten Sie in jeder AZ Ihrer VPC ein Mount Target erstellen – EC2-Instances verbinden sich mit dem Mount Target in ihrer eigenen AZ, um die niedrigste Latenz zu erreichen. Mount Targets verfügen über Security Groups, die NFS-Datenverkehr (TCP-Port 2049) von der Security Group der Instance zulassen müssen. Ohne diese eingehende Regel laufen Mount-Vorgänge in einen Timeout.

# Create a mount target in each AZ
aws efs create-mount-target \
  --file-system-id fs-0abc1234def567890 \
  --subnet-id subnet-aaa111 \
  --security-groups sg-efsnfs

aws efs create-mount-target \
  --file-system-id fs-0abc1234def567890 \
  --subnet-id subnet-bbb222 \
  --security-groups sg-efsnfs

# The EFS security group needs: Inbound TCP 2049 from instance SG

EFS unter EC2 Linux mounten

Die empfohlene Methode zum Mounten von EFS unter EC2 ist die Verwendung des Amazon EFS Mount Helper (Paket amazon-efs-utils), das TLS-Verschlüsselung während der Übertragung und eine automatische Wiederverbindung unterstützt. Sie mounten anhand der Dateisystem-ID statt der IP-Adresse, damit DNS automatisch das Mount Target in der nächstgelegenen AZ auflöst. Fügen Sie für persistente Mounts, die Neustarts überstehen, den Mount-Eintrag mit der Option _netdev zu /etc/fstab hinzu. Dadurch wird sichergestellt, dass das Netzwerk vor dem Mounten verfügbar ist.

# Install the EFS mount helper
sudo yum install -y amazon-efs-utils

# Mount with TLS encryption in transit
sudo mkdir /mnt/efs
sudo mount -t efs -o tls fs-0abc1234def567890:/ /mnt/efs

# Persistent mount in /etc/fstab
# fs-0abc1234def567890:/ /mnt/efs efs defaults,_netdev,tls 0 0

# Verify mount
df -h /mnt/efs

EFS Access Points

EFS Access Points sind anwendungsspezifische Einstiegspunkte in ein EFS-Dateisystem, die für alle Verbindungen über diesen Access Point einen bestimmten POSIX-Benutzer, eine bestimmte Gruppe und ein bestimmtes Stammverzeichnis erzwingen. Dadurch können mehrere Anwendungen auf demselben Dateisystem voneinander isoliert werden: Anwendung A mountet über Access Point A und sieht nur /data/app-a/, während Anwendung B über Access Point B nur /data/app-b/ sieht. Access Points sind die empfohlene Methode, Lambda-Funktionen, ECS-Tasks und EKS-Pods isolierten Zugriff auf gemeinsam genutzte EFS-Dateisysteme zu gewähren.

# Create an EFS Access Point for an application
aws efs create-access-point \
  --file-system-id fs-0abc1234def567890 \
  --posix-user Uid=1001,Gid=1001 \
  --root-directory Path=/data/app-a,CreationInfo={OwnerUid=1001,OwnerGid=1001,Permissions=755} \
  --tags Key=App,Value=app-a

# Mount using the access point
sudo mount -t efs \
  -o tls,accesspoint=fsap-0abc1234def567890 \
  fs-0abc1234def567890:/ /mnt/app-a

EFS Intelligent-Tiering und Lifecycle

EFS Intelligent-Tiering verschiebt Dateien anhand ihres Zugriffsmusters automatisch zwischen den Speicherklassen Standard und Standard-IA (Infrequent Access). Sie konfigurieren eine Lifecycle-Richtlinie, um Dateien beispielsweise nach 30 Tagen ohne Zugriff nach IA zu verschieben. Wird erneut auf eine Datei in IA zugegriffen, wird sie automatisch zurück nach Standard verschoben. Für den Abruf aus IA fällt eine Abrufgebühr pro GB an, die Speicherung ist jedoch deutlich günstiger. Dies ähnelt S3 Intelligent-Tiering und macht die manuelle Verwaltung der Dateiplatzierung überflüssig.

# Enable lifecycle management (move to IA after 14 days)
aws efs put-lifecycle-configuration \
  --file-system-id fs-0abc1234def567890 \
  --lifecycle-policies '[
    {"TransitionToIA": "AFTER_14_DAYS"},
    {"TransitionToPrimaryStorageClass": "AFTER_1_ACCESS"}
  ]'

# Check current lifecycle configuration
aws efs describe-lifecycle-configuration \
  --file-system-id fs-0abc1234def567890

EFS mit Lambda und Containern

Lambda-Funktionen können EFS-Dateisysteme mounten, um große Modelldateien, persistente Daten oder Konfigurationen über mehrere Aufrufe hinweg gemeinsam zu nutzen – und so die Begrenzung von 512 MB bis 10 GB für /tmp zu überwinden. ECS- und EKS-Tasks mounten EFS über Persistent Volume Claims mithilfe des EFS CSI driver. Die Lambda-Funktion oder der Container muss sich in einer VPC mit einem Mount Target befinden, und die EFS-Security-Group muss eingehenden NFS-Datenverkehr von der VPC-Security-Group von Lambda beziehungsweise des Containers zulassen. EFS zusammen mit Lambda ist ein gängiges Muster, um trainierte ML-Modelle über mehrere Funktionsinstanzen hinweg gemeinsam zu nutzen.

# Lambda function with EFS mount (CloudFormation excerpt)
# Resources:
#   MyFunction:
#     Type: AWS::Lambda::Function
#     Properties:
#       VpcConfig:
#         SubnetIds: [subnet-aaa]
#         SecurityGroupIds: [sg-lambda]
#       FileSystemConfigs:
#         - Arn: arn:aws:elasticfilesystem:us-east-1:111122223333:access-point/fsap-0abc
#           LocalMountPath: /mnt/models

# In function code:
# import os
# model_path = '/mnt/models/my-model.pkl'
# with open(model_path, 'rb') as f:
#     model = pickle.load(f)

EFS vs. EBS: Wichtige Unterschiede für die Prüfung

In der SAA-C03-Prüfung werden Sie häufig aufgefordert, zwischen EFS und EBS zu wählen. EFS: gemeinsam genutztes POSIX-Dateisystem, gleichzeitig auf mehreren EC2-Instances mountbar, elastische Kapazität, nur Linux (NFS), Zugriff durch Lambda und Container möglich, höhere Kosten pro GB. EBS: Blockgerät, wird an eine einzelne EC2-Instance angehängt (außer io1/io2 Multi-Attach), fest bereitgestellte Größe, Linux und Windows, nicht nativ durch Lambda zugänglich, geringere Kosten pro GB. Wenn im Szenario steht, dass „mehrere Instances dieselben Dateien gemeinsam nutzen müssen“, lautet die Antwort EFS.

EFS-Verschlüsselung

EFS unterstützt Verschlüsselung im Ruhezustand (wird bei der Erstellung des Dateisystems mithilfe eines KMS-Schlüssels aktiviert und kann nach der Erstellung nicht geändert werden) sowie Verschlüsselung während der Übertragung (TLS-Verschlüsselung bei Verwendung des EFS Mount Helper mit der Option tls). AWS empfiehlt, beide Optionen zu aktivieren. Sie können die Verschlüsselung während der Übertragung mithilfe einer ressourcenbasierten Richtlinie für EFS erzwingen, die Mounts ohne TLS ablehnt, indem sie die Bedingungen elasticfilesystem:ClientRootAccess und elasticfilesystem:ClientWrite voraussetzt.

# Create an EFS file system with encryption at rest
aws efs create-file-system \
  --encrypted \
  --kms-key-id arn:aws:kms:us-east-1:111122223333:key/KEY_ID

# Mount with TLS to encrypt in transit
sudo mount -t efs -o tls fs-0abc1234def567890:/ /mnt/efs

# Deny unencrypted mounts via EFS resource policy (condition)
# Condition: elasticfilesystem:AccessedViaMountTarget = true
# and aws:SecureTransport = true

Schnelltest

Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: EFS ist ein gemeinsam genutztes POSIX-Dateisystem, das gleichzeitig auf Tausenden von Instances und Lambda-Funktionen gemountet werden kann und über elastische Kapazität verfügt. Access Points ermöglichen die Isolation einzelner Anwendungen mit einem erzwungenen POSIX-Benutzer und Stammverzeichnis, und Intelligent-Tiering verschiebt selten aufgerufene Dateien automatisch in eine kostengünstigere IA-Speicherklasse. Als Nächstes sehen wir uns FSx for Windows File Server und Lustre für spezialisierte Workloads an.

Häufig gestellte Fragen

Ist die Lektion „EFS: Gemeinsamer Dateispeicher für Linux“ kostenlos?

Ja — der vollständige Text von „EFS: Gemeinsamer Dateispeicher für Linux“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „EFS: Gemeinsamer Dateispeicher für Linux“?

Binden Sie ein EFS-Dateisystem in mehrere EC2-Instances und Lambda-Funktionen ein, konfigurieren Sie Performance- und Durchsatzmodi und steuern Sie den Zugriff mit Security Groups. Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?

Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „EFS: Gemeinsamer Dateispeicher für Linux“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?

Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. EBS-Volume-Typen: gp3, io2, st1, sc1
  2. EBS-Snapshots, Verschlüsselung und RAID
  3. EFS: Gemeinsamer Dateispeicher für Linux
  4. FSx: Windows-Dateiserver und Lustre
← Zurück zu Cloud & IT Cert Prep