Einführung in AWS EFS: Gemeinsame Dateisysteme auf EC2-Instanzen
In Umgebungen, in denen mehrere Server gemeinsam auf ein Dateisystem zugreifen müssen, ist die Einrichtung von NFS (Network File System) eine gängige Praxis. NFS ermöglicht die gemeinsame Nutzung von Dateisystemen über mehrere Server hinweg, erfordert jedoch in der Regel einiges an technischem Know-how und Managementaufwand.
In traditionellen Infrastrukturlandschaften kann die Implementierung von NFS zeitaufwendig sein und die Koordination mehrerer Teams erfordern. Mit AWS und dem Dienst Elastic File System (EFS) lässt sich dieser Prozess jedoch erheblich vereinfachen und beschleunigen.
AWS EFS ermöglicht die Erstellung eines skalierbaren Dateispeichers, der problemlos auf EC2-Instanzen genutzt werden kann. Ein großer Vorteil ist, dass die Kapazität je nach Bedarf automatisch angepasst wird, sodass keine aufwendige Kapazitätsplanung erforderlich ist.
Die folgende Grafik, die von AWS zur Verfügung gestellt wird, veranschaulicht die Funktionsweise von EFS:
Die Vorteile von EFS auf einen Blick:
- Vollständig verwaltet von AWS
- Kostengünstig: Abrechnung nach tatsächlicher Nutzung
- Hohe Verfügbarkeit und Langlebigkeit
- Automatische Skalierung (nach oben und unten)
- Skalierbare Leistung
Im Rahmen dieses Tutorials werde ich Ihnen zeigen, wie Sie ein EFS erstellen und es anschließend auf zwei Ubuntu-EC2-Instanzen einbinden. Ich bin davon ausgegangen, dass Sie bereits zwei EC2 Instanzen laufen haben.
Schritte zur Erstellung eines EFS:
- Melden Sie sich in der AWS Managementkonsole an.
- Navigieren Sie zu „Dienste“ und wählen Sie unter „Speicher“ den Dienst „EFS“ aus (Direkter Link).
- Klicken Sie auf „Dateisystem erstellen“.
- AWS weist in der Regel automatisch eine IP-Adresse in der Verfügbarkeitszone zu. Sie können diese im nächsten Schritt anpassen, falls erforderlich.
- Fügen Sie Tags hinzu (optional) und wählen Sie den Leistungsmodus (Allzweck oder Max. E/A).
- Überprüfen Sie Ihre Konfiguration und klicken Sie auf „Dateisystem erstellen“, wenn alle Details korrekt sind.
Die Erstellung des Dateisystems kann einige Sekunden in Anspruch nehmen. Sobald der Prozess abgeschlossen ist, erhalten Sie eine Erfolgsmeldung.
Ihr EFS ist nun einsatzbereit. Sie können das Dateisystem auf EC2-Instanzen mit einem installierten NFSv4.1-Client einbinden. Zusätzlich ist die Einbindung von einem lokalen Server via AWS Direct Connect möglich.
In der Dateisystemübersicht wird Ihr neu erstelltes EFS angezeigt.
Damit ist die Erstellung des EFS abgeschlossen und es kann nun in Ihre EC2-Instanzen eingebunden werden.
EFS auf EC2-Instanzen einbinden
Bevor Sie das EFS einbinden können, muss der NFS-Client installiert werden. Die Details finden Sie in der „Amazon EC2 Mount-Anleitung“ unter dem Drop-Down-Menü.
Im Folgenden beschreiben wir die notwendigen Schritte:
- Melden Sie sich auf beiden EC2-Instanzen an und installieren Sie den NFS-Client. Bei Ubuntu verwenden Sie folgenden Befehl:
apt-get install nfs-common
- Erstellen Sie einen Ordner, in dem das EFS eingebunden werden soll.
Beispiel: /apps
cd /
mkdir apps
Binden Sie das Dateisystem mit dem in der Anleitung angegebenen Befehl ein:
Beispiel:
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps
Hinweis: Sollten beim Einhängen Probleme auftreten, lesen Sie die Anleitung zur Fehlerbehebung. Vergessen Sie nicht, die Sicherheitsgruppen zu überprüfen:
- Stellen Sie sicher, dass der NFS-Port (2049) in den eingehenden Regeln der EC2-Instanzen erlaubt ist.
- Die Sicherheitsgruppen der EC2-Instanzen müssen in den Sicherheitsgruppen des EFS zugelassen sein.
Nach kurzer Zeit sollte /apps eingebunden sein. Dies können Sie mit folgendem Befehl überprüfen:
[email protected]:/# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps
[email protected]:/#
Wiederholen Sie diesen Prozess nun auf der zweiten EC2-Instanz, auf der ebenfalls auf /apps zugegriffen werden soll.
Zur Verifizierung habe ich mein EFS auf der anderen Instanz eingebunden und sehe nun, dass /apps auf beiden Servern zugänglich ist:
[email protected]:/apps# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0%
/apps [email protected]:/apps#
So einfach geht das!
Nachdem ich einige Dateien erstellt habe, scheint die Leistung des Dateisystems hervorragend zu sein. AWS EFS ist eine vielversprechende Lösung. Wenn Sie eine Dateisystemfreigabe über EC2-Instanzen benötigen, probieren Sie es aus, Sie werden sicher begeistert sein.
Möchten Sie mehr über AWS erfahren? Werfen Sie einen Blick auf diesen Udemy-Kurs.
Hat Ihnen dieser Artikel gefallen? Teilen Sie ihn gerne mit anderen!