View a markdown version of this page

Mounten von S3-Dateisystemen auf Amazon EC2 - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mounten von S3-Dateisystemen auf Amazon EC2

Um S3-Dateisysteme auf einer EC2-Instance zu mounten, müssen Sie den Mount-Helper für S3 Files verwenden. Der Mount-Helper hilft Ihnen dabei, Ihre S3-Dateisysteme auf EC2-Instances zu mounten, auf denen die unterstützten Distributionen ausgeführt werden. Beim Mounten eines Dateisystems definiert der Mount-Helper einen neuen Netzwerkdateisystemtyp namenss3files, der vollständig kompatibel mit dem mount Standardbefehl in Linux ist. Der Mount-Helper unterstützt auch das automatische Mounten eines S3-Dateisystems beim Start der Instanz mithilfe von Einträgen in der /etc/fstab Konfigurationsdatei auf EC2-Linux-Instances. Der Mount-Helper ist Teil der Open-Source-Toolsammlung, die bei der Installation des S3 Files-Clients () amazon-efs-utils installiert wird.

Diagramm, das den Datenfluss zwischen einem S3-Bucket, einem S3-Dateisystem und einer Amazon EC2 EC2-Instance zeigt.

Voraussetzungen für das Mounten auf EC2-Instances

  • Sie haben ein S3-Dateisystem mit mindestens einem verfügbaren Mount-Ziel.

  • Ihre EC2-Instance befindet sich in derselben Availability Zone wie das Mount-Ziel, das Sie zum Mounten Ihres Dateisystems verwenden werden.

  • Ein IAM-Instance-Profil mit den erforderlichen Berechtigungen für S3-Dateien ist an die EC2-Instance angehängt. Details hierzu finden Sie unter IAM-Rolle zum Anhängen Ihres Dateisystems an Rechenressourcen AWS.

  • Sie haben das Erforderliche konfiguriert. Sicherheitsgruppen

  • Sie müssen das amazon-efs-utils-Paket für die EC2-Instance installieren. Weitere Informationen finden Sie unter S3-Dateien-Client.

Wie funktioniert der Mount Helper?

Wenn Sie einen Mount-Befehl ausführen, führt der Mount-Helper die folgenden Aktionen aus:

  • Ruft IAM-Anmeldeinformationen aus dem EC2-Instanzprofil ab.

  • Initialisiert den EFS-Proxy-Prozess, um eine TLS-verschlüsselte Verbindung zum Mount-Ziel herzustellen.

  • Startet den amazon-efs-mount-watchdog Supervisor-Prozess, der den Zustand von TLS-Mounts überwacht. Dieser Prozess wird automatisch gestartet, wenn ein S3-Dateisystem zum ersten Mal bereitgestellt wird.

  • Hängt das Dateisystem am angegebenen Einhängepunkt ein.

Die Mountinghilfe verwendet TLS Version 1.2 für die Kommunikation mit dem Dateisystem. Für die Verwendung von TLS sind Zertifikate erforderlich, die von einer vertrauenswürdigen Amazon-Zertifizierungsstelle signiert sind. Weitere Informationen zur Funktionsweise von Verschlüsselung finden Sie unter Sicherheit für S3-Dateien.

Der Mount-Helper verwendet die folgenden Einhängeoptionen, die für S3-Dateien optimiert sind:

Option Wert Description
nfsvers 4.2 Version des NFS-Protokolls.
rsize 1048576 Legt die maximale Anzahl von Datenbytes, die der NFS-Client für jede Netzwerk-READ-Anforderung empfangen kann, auf 1048576 (1 MB) fest, die größte verfügbare Anzahl, um Leistungseinbußen zu vermeiden.
wsize 1048576 Legt die maximale Anzahl von Datenbytes, die der NFS-Client für jede Netzwerk-WRITE-Anforderung senden kann, auf 1048576 (1 MB) fest, die größte verfügbare Anzahl, um Leistungseinbußen zu vermeiden.
hard Legt das Wiederherstellungsverhalten des NFS-Clients nach einem Timeout für eine NFS-Anfrage fest, sodass NFS-Anfragen unbegrenzt wiederholt werden, bis der Server antwortet, um die Datenintegrität zu gewährleisten.
timeo 600 Legt den Timeout-Wert, den der NFS-Client verwendet, um auf eine Antwort zu warten, bevor er eine NFS-Anfrage erneut versucht, auf 600 Dezisekunden (60 Sekunden) fest, um Leistungseinbußen zu vermeiden.
retrans 2 Legt fest, wie oft der NFS-Client eine Anfrage wiederholt, bevor er weitere Wiederherstellungsaktionen versucht, auf 2.
noresvport Weist den NFS-Client an, einen neuen nicht privilegierten TCP-Quellport zu verwenden, wenn eine Netzwerkverbindung wiederhergestellt wird. Durch die Verwendung wird noresvport sichergestellt, dass Ihr Dateisystem nach einer erneuten Verbindung oder einem Netzwerkwiederherstellungsereignis ununterbrochen verfügbar ist.

Darüber hinaus verwendet der Mount-Helper automatisch tls und iam hängt Optionen automatisch ein, wenn ein S3-Dateisystem bereitgestellt wird, da S3 Files diese Optionen benötigt, um eine Verbindung herzustellen. Das liegt daran, dass S3 Files ein Dateisystem immer mithilfe von TLS-Verschlüsselung und IAM-Authentifizierung einhängt und diese nicht deaktiviert werden können.

Wie mounten Sie Ihr S3-Dateisystem auf einer EC2-Instance?

  • Stellen Sie über Secure Shell (SSH) oder EC2 Instance Connect auf der EC2-Konsole eine Verbindung zu Ihrer EC2-Instance her. Weitere Informationen finden Sie unter Connect zu Ihrer EC2-Instance herstellen.

  • Erstellen Sie mit dem folgenden Befehl ein Verzeichnis /mnt/s3files, das Sie als Mountingpunkt für das Dateisystem verwenden:

    sudo mkdir /mnt/s3files
  • Mounten Sie Ihr S3-Dateisystem:

    FS="{YOUR_FILE_SYSTEM_ID}" sudo mount -t s3files $FS:/ /mnt/s3files
  • Vergewissern Sie sich, dass das Dateisystem gemountet ist.

    df -h /mnt/s3files

    Es wird eine Antwort ähnlich der folgenden angezeigt:

    Filesystem Size Used Avail Use% Mounted on {s3files-dns} 8.0E 129M 8.0E 1% {path/to/mount}

    Sie können auch das Einhängen des Dateisystems und die Einhängeoptionen überprüfen, indem Sie den Inhalt des lokalen Einhängepunkts auflisten. Wenn das Einhängen erfolgreich war, zeigt dieser Befehl die Einhängedetails, einschließlich Ihrer Einhängeoptionen, für das spezifische Verzeichnis an.

    findmnt -T /mnt/s3files

Ausführliche Informationen zu Mount-Befehlen finden Sie in der GitHubDokumentation.

Sie können jetzt S3-Objekte als Dateien auf Ihrem lokalen Mountpfad mithilfe von Standardoperationen im Dateisystem lesen und schreiben. Wenn Sie Objekte in Ihrem S3-Bucket haben, können Sie sie mit den folgenden Befehlen als Dateien anzeigen.

ls /mnt/s3files

Sie können den Speicher, die Leistung, die Client-Verbindungen und Synchronisierungsfehler Ihres Dateisystems mithilfe von CloudWatchMetriken überwachen.

So mounten Sie Ihr S3-Dateisystem mithilfe von Access Points auf einer EC2-Instance

Wenn Sie ein Dateisystem über einen Access Point mounten, beinhaltet der Mount-Befehl die access-point-id Mount-Option.

sudo mount -t s3files -o accesspoint=access-point-id file-system-id /mnt/s3files

Wobei:

  • access-point-idist die ID Ihres Zugriffspunkts.

  • file-system-idist die ID Ihres S3-Dateisystems.

Automatisches Mounten von S3-Dateisystemen beim Start Ihrer EC2-Instance

Sie können Ihre EC2-Instance so konfigurieren, dass beim Starten oder Neustarten der Instance automatisch ein S3-Dateisystem bereitgestellt wird, indem Sie die Datei aktualisieren. /etc/fstab Die /etc/fstab Datei enthält Informationen über Dateisysteme und wird vom Betriebssystem verwendet, um zu bestimmen, welche Dateisysteme beim Booten gemountet werden sollen.

Warnung

Verwenden Sie beim automatischen Mounting Ihres Dateisystems die Option _netdev, um es als Netzwerkdateisystem zu identifizieren. Wenn _netdev fehlt, reagiert die EC2-Instance möglicherweise nicht mehr. Der Grund dafür ist, dass zuerst das Netzwerk auf der Datenverarbeitungs-Instance gestartet worden sein muss. Die Netzwerkdateisysteme müssen danach initialisiert werden. Weitere Informationen finden Sie unter Automatisches Mounten schlägt fehl und die Instanz reagiert nicht.

Sie können den Mount Helper verwenden, um eine Amazon EC2 EC2-Instance so zu konfigurieren, dass beim Start der Instance automatisch ein S3-Dateisystem bereitgestellt wird:

  • Aktualisieren Sie die /etc/fstab EC2-Datei mit einem Eintrag für das S3-Dateisystem.

  • Hängen Sie ein S3-Dateisystem an, wenn Sie mit dem EC2-Launch-Instance-Assistenten eine neue EC2-Instance erstellen.

Aktualisierung der Datei /etc/fstab

Führen Sie die folgenden Schritte aus, um die /etc/fstab auf einer EC2-Linux-Instance zu aktualisieren, sodass die Instance den Mount-Helper verwendet, um ein S3-Dateisystem automatisch neu zu mounten, wenn die Instanz neu gestartet wird.

  • Connect zu Ihrer EC2-Instance her.

  • Öffnen Sie die /etc/fstab Datei in einem Editor und fügen Sie der Datei die folgende Zeile hinzu:

    file-system-id:/ mount-directory s3files _netdev 0 0

    Wobei Folgendes gilt:

    • file-system-idist die ID Ihres S3-Dateisystems (zum Beispielfs-0123456789abcdef0).

    • mount-directoryist das Mount-Point-Verzeichnis auf Ihrer EC2-Instance (zum Beispiel/mnt/s3files).

    • _netdevgibt an, dass es sich bei dem Dateisystem um ein Netzwerkdateisystem handelt, wodurch sichergestellt wird, dass die Instance die Netzwerkverfügbarkeit abwartet, bevor sie versucht, das System zu mounten.

  • Speichern Sie die Datei und schließen Sie den Editor.

  • Testen Sie den Fstab-Eintrag, indem Sie alle Dateisysteme in fstab einhängen:

    sudo mount -a
  • Stellen Sie sicher, dass das Dateisystem eingehängt ist:

    findmnt -T mount-directory

Verwenden Sie die Option nofail

Wir empfehlen, die nofail Option in Produktionsumgebungen zu Ihrem Fstab-Eintrag hinzuzufügen. Mit dieser Option kann die Instanz auch dann booten, wenn das Dateisystem nicht gemountet werden kann:

file-system-id:/ mount-directory s3files _netdev,nofail 0 0

Automatisches Mounten mit einem Access Point

Für die automatische Bereitstellung mithilfe eines Zugriffspunkts für S3-Dateien müssen Sie die folgende accesspoint Option einbeziehen:

file-system-id:/ mount-directory s3files _netdev,accesspoint=access-point-id 0 0

Automatisches Mounten mit einem Unterverzeichnis

Um ein bestimmtes Unterverzeichnis Ihres Dateisystems automatisch einzuhängen, geben Sie den Pfad an:

file-system-id:/path/to/directory mount-directory s3files _netdev 0 0

Verwenden Sie den EC2-Instance-Startassistenten

  • Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  • Wählen Sie Launch Instance aus.

  • Folgen Sie dieser Dokumentation, um eine EC2-Instance mithilfe des Launch-Instance-Assistenten in der AWS Konsole zu starten. Bevor Sie auf Launch Instance klicken, konfigurieren Sie Ihr Netzwerk und fügen Sie Ihr S3-Dateisystem hinzu, wie in den folgenden Schritten gezeigt.

  • Stellen Sie sicher, dass Sie in Ihren Netzwerkeinstellungen ein Subnetz auswählen.

  • Wählen Sie die Standardsicherheitsgruppe aus, um sicherzustellen, dass Ihre EC2-Instance auf Ihr S3-Dateisystem zugreifen kann. Sie können mit dieser Sicherheitsgruppe nicht über Secure Shell (SSH) auf Ihre EC2-Instance zugreifen. Für den Zugriff über SSH können Sie später die Standardsicherheit bearbeiten und eine Regel hinzufügen, um SSH oder eine neue Sicherheitsgruppe zuzulassen, die SSH zulässt. Sie können die folgenden Einstellungen verwenden:

    • Typ: SSH

    • Protokoll: TCP

    • Port-Bereich: 22

    • Quelle: Anywhere 0.0.0.0/0

  • Klicken Sie im Bereich Speicher auf Dateisysteme und wählen Sie S3-Dateien aus.

  • In der Dropdownliste Dateisystem sehen Sie Ihre Dateisysteme in der Availability Zone, basierend auf dem Subnetz, das Sie zuvor in Ihren Netzwerkeinstellungen ausgewählt haben. Wählen Sie das S3-Dateisystem aus, das Sie mounten möchten. Wenn Sie noch keine Dateisysteme haben, klicken Sie auf Neues Dateisystem erstellen, um ein neues zu erstellen.

  • Geben Sie einen lokalen Bereitstellungspfad auf Ihrer EC2-Instance ein, in der Sie das Dateisystem mounten möchten (z. B./mnt/s3files).

  • Es wird ein Befehl generiert, um das Dateisystem zu mounten und zu fstab hinzuzufügen. Sie können wählen, ob Sie den Befehl zu den Benutzerdaten hinzufügen oder ihn nach dem Start manuell auf Ihrer EC2-Instance ausführen möchten. Ihre EC2-Instance wird dann so konfiguriert, dass das S3-Dateisystem beim Start und bei jedem Neustart bereitgestellt wird.

  • Wählen Sie Launch Instance aus.

Mounten von S3-Dateisystemen von einer anderen VPC

Wenn Sie eine VPC-Peering-Verbindung oder ein Transit-Gateway verwenden, um VPCs zu verbinden, können Amazon EC2 EC2-Instances, die sich in einer VPC befinden, auf S3-Dateisysteme in einer anderen VPC zugreifen.

Ein Transit-Gateway ist ein Netzwerk-Transit-Hub, über den Sie Ihre Netzwerke und Ihre lokalen Netzwerke miteinander verbinden können. VPCs Weitere Informationen zur Verwendung von VPC-Transit-Gateways finden Sie unter Erste Schritte mit Transit-Gateways im Amazon VPC-Gateways-Handbuch. Eine VPC-Peering-Verbindung ist eine Netzwerkverbindung zwischen zwei. VPCs Dieser Verbindungstyp ermöglicht es Ihnen, den Verkehr zwischen ihnen mithilfe von privaten Internetprotokolladressen der Version 4 (IPv4) oder der Internetprotokoll-Version 6 (IPv6) weiterzuleiten. Sie können VPC-Peering verwenden, um eine Verbindung VPCs innerhalb derselben AWS Region oder zwischen AWS Regionen herzustellen. Weitere Informationen zu VPC-Peering finden Sie unter Was ist VPC-Peering? im Amazon VPC-Benutzerhandbuch.

Wenn Sie ein Dateisystem von einer anderen VPC aus mounten, müssen Sie das Mount-Ziel manuell auflösen. Sie sollten die IP-Adresse der Mount-Ziele in der entsprechenden Availability Zone wie folgt verwenden und die mount-target-ip-addressfile-system-id, und mount-directory durch Ihre Werte ersetzen.

sudo mount -t s3files -o mounttargetip=mount-target-ip-address file-system-id mount-directory

Um eine hohe Verfügbarkeit Ihres Dateisystems zu gewährleisten, empfehlen wir, dass Sie immer eine Mount-Ziel-IP-Adresse verwenden, die sich in derselben Availability Zone wie Ihr NFS-Client befindet.

Alternativ können Sie Amazon Route 53 als Ihren DNS-Service verwenden. In Route 53 können Sie die Mount-Ziel-IP-Adressen von einer anderen VPC auflösen, indem Sie eine private gehostete Zone und einen Ressourcendatensatz erstellen. Weitere Informationen dazu finden Sie unter Arbeiten mit privaten gehosteten Zonen im Amazon Route 53 53-Entwicklerhandbuch.

Weitere Informationen zur Montage von einer anderen VPC aus finden Sie unter GitHub ReadMe.

Mounten von S3-Dateisystemen aus einer anderen Region AWS

Wenn Sie Ihr S3-Dateisystem von einer anderen VPC aus mounten, die sich in einer anderen AWS Region als das Dateisystem befindet, müssen Sie die s3files-utils.conf Datei bearbeiten. Suchen Sie in /etc/amazon/efs/s3files-utils.conf die folgenden Zeilen:

#region = us-east-1

Kommentieren Sie die Zeile aus und ersetzen Sie den Wert für die ID der Region, in der sich das Dateisystem befindet, falls es sich nicht in us-east-1 befindet.

Anschließend müssen Sie die Mount-Ziel-IP im Mount-Befehl angeben, nachdem Sie die Region in der Konfiguration geändert haben:

sudo mount -t s3files -o mounttargetip=mount-target-ip-address file-system-id mount-directory

Unmounten Ihres S3-Dateisystems

Um ein S3-Dateisystem auszuhängen, das mit einer EC2-Instance unter Linux verbunden ist, verwenden Sie den umount Befehl wie folgt:

umount mount-directory

Wir empfehlen, dass Sie keine anderen umount-Optionen angeben. Vermeiden Sie die Einstellung anderer umount-Optionen, die sich von den Standardwerten unterscheiden. Sie können überprüfen, ob Ihr S3-Dateisystem unmountet wurde, indem Sie den Befehl ausführen. findmnt Wenn das Unmounten erfolgreich war, führt der findmnt Befehl in Ihrem Mount-Verzeichnis zu keiner Ausgabe.