Konfiguration und Verwendung von Mountpoint - Amazon Simple Storage Service

Konfiguration und Verwendung von Mountpoint

Um Mountpoint für Amazon S3 zu verwenden, benötigt Ihr Host gültige AWS Anmeldeinformationen mit Zugriff auf den Amazon S3 Bucket oder die Buckets, die Sie mounten möchten. Informationen zu verschiedenen Authentifizierungsmethoden finden Sie unter AWS-Anmeldedaten von Mountpoint auf GitHub.

Sie können für diesen Zweck beispielsweise einen neuen AWS Identity and Access Management(IAM)-Benutzer und eine neue Rolle erstellen. Stellen Sie sicher, dass diese Rolle Zugriff auf den Bucket oder die Buckets hat, die Sie mounten möchten. Sie können die IAM-Rolle mit einem Instance-Profil an Ihre Amazon-EC2-Instance übergeben.

Verwenden von Mountpoint für Amazon S3

Verwenden Sie Mountpoint für Amazon S3, um Folgendes zu tun:

  1. Hängen Sie Ihre Amazon S3 Buckets ein.

    1. Sie können Amazon S3-Buckets mithilfe des mount-s3 Befehls manuell mounten.

      Ersetzen Sie im folgenden Beispiel amzn-s3-demo-bucket durch den Namen Ihres S3-Buckets und ersetzen Sie ~/mnt durch das Verzeichnis auf Ihrem Host, in dem Ihr S3-Bucket gemountet werden soll.

      mkdir ~/mnt mount-s3 amzn-s3-demo-bucket ~/mnt

      Da der Mountpoint-Client standardmäßig im Hintergrund läuft, haben Sie über das Verzeichnis ~/mnt nun Zugriff auf die Objekte in Ihrem Amazon S3 Bucket.

    2. Alternativ können Sie das automatische Mounten von Amazon S3-Buckets konfigurieren, wenn eine Instance gestartet oder neu gestartet wird.

      Für bestehende oder laufende Amazon EC2 Instances finden Sie die Datei fstab im Verzeichnis /etc/fstab Ihres Linux-Systems. Fügen Sie dann eine Zeile in Ihre fstab Datei ein. Informationen zum Mounten von amzn-s3-demo-bucket mit dem Präfix example-prefix/ zu Ihrem Systempfad /mnt/mountpoint finden Sie im Folgenden. Um das folgende Beispiel zu verwenden, ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

      s3://amzn-s3-demo-bucket/example-prefix/ /mnt/mountpoint mount-s3 _netdev,nosuid,nodev,nofail,rw 0 0

      In der folgenden Tabelle finden Sie eine Erläuterung der im Beispiel verwendeten Optionen.

      Option Beschreibung
      _netdev

      Gibt an, dass das Dateisystem zum Einhängen ein Netzwerk benötigt.

      nosuid

      Gibt an, dass das Dateisystem keine Dateien mit gesetzter Benutzerkennung enthalten darf.

      nodev

      Gibt an, dass das Dateisystem keine speziellen Geräte enthalten darf.

      nofail

      Legt fest, dass das Booten des Systems trotzdem möglich sein soll, wenn das Dateisystem nicht eingehängt werden kann.

      rw

      Gibt an, dass der Einhängepunkt mit Lese- und Schreibberechtigung erstellt wird. Alternativ können Sie ro nur zum Lesen verwenden.

      Für neue Amazon EC2 Instances können Sie die Benutzerdaten auf einer Amazon EC2-Vorlage ändern und die Datei fstab wie folgt einrichten. Um das folgende Beispiel zu verwenden, ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

      #!/bin/bash -e MP_RPM=$(mktemp --suffix=.rpm) curl https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm > $MP_RPM yum install -y $MP_RPM rm $MP_RPM MNT_PATH=/mnt/mountpoint echo "s3://amzn-s3-demo-bucket/ ${MNT_PATH} mount-s3 _netdev,nosuid,nodev,rw,allow-other,nofail" >> /etc/fstab mkdir $MNT_PATH systemctl daemon-reload mount -a
  2. Greifen Sie über Mountpoint auf die Objekte in Ihrem Amazon S3 Bucket zu.

    Nachdem Sie Ihren Bucket lokal bereitgestellt haben, können Sie übliche Linux-Befehle, wie cat oderls, verwenden, um mit Ihren S3-Objekten zu arbeiten. Mountpoint für Amazon S3 interpretiert die Schlüssel in Ihrem Amazon S3 Bucket als Dateisystempfade, indem es sie am Schrägstrich (/) aufspaltet. Wenn Sie zum Beispiel den Objektschlüssel Data/2023-01-01.csv in Ihrem Bucket haben, finden Sie ein Verzeichnis mit dem Namen Data in Ihrem Mountpoint-Dateisystem mit einer Datei namens 2023-01-01.csv darin.

    Mountpoint für Amazon S3 implementiert die vollständige POSIX-Standardspezifikation für Dateisysteme absichtlich nicht. Mountpoint ist für Workloads optimiert, die über eine Dateisystemschnittstelle Lese- und Schreibzugriff mit hohem Durchsatz auf Daten benötigen, die in Amazon S3 gespeichert aber ansonsten nicht auf Dateisystemfunktionen angewiesen sind. Weitere Informationen finden Sie unter Verhalten des Dateisystems von Mountpoint für Amazon S3 auf GitHub. Kunden, die eine umfassendere Dateisystemsemantik benötigen, sollten andere AWS-Dateidienste wie Amazon Elastic File System (Amazon EFS)oder Amazon FSx in Betracht ziehen.

  3. Hängen Sie Ihr Amazon S3 Bucket mit dem Befehl umount aus. Mit diesem Befehl wird Mounting Ihres S3-Bucket aufgehoben und Mountpoint wird beendet.

    Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie ~/mnt durch das Verzeichnis auf Ihrem Host, in dem Ihr S3-Bucket gemountet ist.

    umount ~/mnt
    Anmerkung

    Wenn Sie eine Liste der Optionen für diesen Befehl erhalten möchten, führen Sie umount --help aus.

Weitere Details zur Mountpoint-Konfiguration finden Sie unter Amazon S3 Bucket-Konfiguration und Dateisystemkonfiguration auf GitHub.

Konfigurieren von Caching in Mountpoint

Mountpoint für Amazon S3 unterstützt verschiedene Arten von Daten-Caching. Um wiederholte Leseanfragen zu beschleunigen, können Sie sich für Folgendes entscheiden:

  • Lokaler Cache – Sie können einen lokalen Cache in Ihrem Amazon-EC2-Instance-Speicher oder ein Volume von Amazon Elastic Block Store verwenden. Wenn Sie wiederholt dieselben Daten aus derselben Compute-Instance lesen und Sie in Ihrem lokalen Instance-Speicher ungenutzten Speicherplatz für den wiederholt gelesenen Datensatz haben, sollten Sie sich für einen lokalen Cache entscheiden.

  • Gemeinsamer Cache – Sie können einen gemeinsam genutzten Cache in S3 Express One Zone verwenden. Wenn Sie wiederholt kleine Objekte aus mehreren Recheninstanzen lesen oder wenn Sie die Größe Ihres wiederholt gelesenen Datensatzes nicht kennen und von der Elastizität der Cachegröße profitieren möchten, sollten Sie sich für den Shared Cache entscheiden. Sobald Sie sich dafür entschieden haben, speichert Mountpoint Objekte mit einer Größe von bis zu einem Megabyte in einem Verzeichnis-Bucket, der S3 Express One Zone verwendet.

  • Kombinierter lokaler und gemeinsam genutzter Cache – Wenn Sie ungenutzten Speicherplatz in Ihrem lokalen Cache haben, aber auch einen gemeinsamen Cache für mehrere Instanzen haben möchten, können Sie sich sowohl für einen lokalen Cache als auch für einen gemeinsamen Cache entscheiden.

Das Caching in Mountpoint ist ideal für Anwendungsfälle, in denen Sie wiederholt dieselben Daten lesen, die sich während der mehrfachen Lesevorgänge nicht ändern. Sie können das Caching beispielsweise bei Machine-Learning-Trainingsaufgaben verwenden, bei denen ein Trainingsdatensatz mehrmals gelesen werden muss, um die Modellgenauigkeit zu verbessern.

Weitere Informationen zur Konfiguration von Caching in Mountpoint finden Sie in den folgenden Beispielen.

Lokaler Cache

Sie können sich für einen lokalen Cache mit dem --cache CACHE_PATH-Flag anmelden. Ersetzen Sie im folgenden Beispiel CACHE_PATH durch den Dateipfad zu dem Verzeichnis, in dem Sie Ihre Daten zwischenspeichern möchten. Ersetzen Sie amzn-s3-demo-bucket durch den Namen Ihres Amazon S3-Buckets und ~/mnt durch das Verzeichnis auf Ihrem Host, in das Ihr S3-Bucket eingehängt werden soll.

mkdir ~/mnt mount-s3 --cache CACHE_PATH amzn-s3-demo-bucket ~/mnt

Wenn Sie sich für lokales Caching entscheiden, während Sie einen Amazon S3-Bucket mounten, erstellt Mountpoint ein leeres Unterverzeichnis am konfigurierten Cache-Speicherort, wenn dieses Unterverzeichnis noch nicht vorhanden ist. Wenn Sie einen Bucket bereitstellen und diese Bereitstellung dann aufheben, löscht Mountpoint den Inhalt des lokalen Cache.

Wichtig

Wenn Sie lokales Caching aktivieren, speichert Mountpoint unverschlüsselte Objektinhalte aus Ihrem gemounteten Amazon S3-Bucket an dem bei der Bereitstellung konfigurierten Speicherort für lokales Caching. Um Ihre Daten zu schützen, sollten Sie den Zugriff auf den Datencache-Speicherort mithilfe von Mechanismen zur Zugriffskontrolle für das Dateisystem einschränken.

Gemeinsam genutzter Cache

Wenn Sie wiederholt kleine Objekte (bis zu 1 MB) aus mehreren Compute-Instances lesen oder die Größe des Datensatzes, den Sie wiederholt lesen, häufig die Größe Ihres lokalen Caches überschreitet, sollten Sie einen gemeinsam genutzten Cache in S3 Express One Zone verwenden. Wenn Sie dieselben Daten wiederholt von mehreren Instances lesen, verbessert dies die Latenzzeit, da redundante Anfragen an Ihren gemounteten Amazon S3 Bucket vermieden werden.

Sobald Sie sich für den gemeinsam genutzten Cache entschieden haben, zahlen Sie für die Daten, die in Ihrem Directory-Bucket in S3 Express One Zone zwischengespeichert sind. Sie zahlen auch für Anfragen an Ihre Daten im Verzeichnis-Bucket in S3 Express One Zone. Weitere Informationen finden Sie unter Amazon S3 – Preise. Mountpoint löscht niemals zwischengespeicherte Objekte aus Verzeichnis-Buckets. Um Ihre Speicherkosten zu verwalten, sollten Sie eine Lifecycle-Richtlinie für Ihren Verzeichnis-Bucket einrichten, sodass Amazon S3 die zwischengespeicherten Daten in S3 Express One Zone nach einem von Ihnen angegebenen Zeitraum ablaufen lässt. Weitere Informationen finden Sie unter Caching-Konfiguration in Mountpoint für Amazon S3 auf GitHub.

Um sich für das Caching in S3 Express One Zone zu entscheiden, wenn Sie einen Amazon S3 Bucket in Ihre Compute Instance einbinden, verwenden Sie das Flag --cache-xz und geben Sie einen Verzeichnis-Bucket als Cache-Speicherort an. Ersetzen Sie im folgenden Beispiel die Platzhalter für Benutzereingaben.

mount-s3 amzn-s3-demo-bucket ~/mnt --cache-xz amzn-s3-demo-bucket--usw2-az1--x-s3

Kombinierter lokaler und gemeinsam genutzter Cache

Wenn Sie über ungenutzten Speicherplatz auf Ihrer Instance verfügen, aber auch einen gemeinsamen Cache für mehrere Instances verwenden möchten, können Sie sich sowohl für einen lokalen Cache als auch für einen gemeinsam genutzten Cache entscheiden. Mit dieser Caching-Konfiguration können Sie redundante Leseanforderungen von derselben Instance an den gemeinsam genutzten Cache im Verzeichnis-Bucket vermeiden, wenn die erforderlichen Daten im lokalen Speicher zwischengespeichert werden. Dies kann die Anforderungskosten senken und die Leistung verbessern.

Um beim Einhängen eines Amazon S3-Buckets sowohl einen lokalen als auch einen gemeinsamen Cache zu nutzen, geben Sie beide Cache-Speicherorte mit den Flags --cache und --cache-xz an. Um das folgende Beispiel zu verwenden, um sich sowohl für einen lokalen als auch für einen gemeinsam genutzten Cache zu entscheiden, ersetzen Sie die Platzhalter für Benutzereingaben.

mount -s3 amzn-s3-demo-bucket ~/mnt --cache /path/to/mountpoint/cache --cache -xz amzn-s3-demo-bucket--usw2-az1--x-s3

Weitere Informationen finden Sie unter Caching-Konfiguration in Mountpoint für Amazon S3 auf GitHub.

Wichtig

Wenn Sie gemeinsam genutztes Caching aktivieren, kopiert Mountpoint den Objektinhalt aus Ihrem gemounteten Amazon S3-Bucket in den S3-Verzeichnis-Bucket, den Sie als gemeinsamen Cache-Speicherort angeben, sodass er für jeden Anrufer mit Zugriff auf den S3-Verzeichnis-Bucket zugänglich ist. Um Ihre zwischengespeicherten Daten zu schützen, sollten Sie die Bewährte Methoden für die Sicherheit in Amazon S3 befolgen, um sicherzustellen, dass für Ihre -Buckets die korrekten Richtlinien gelten und dass sie nicht öffentlich zugänglich sind. Sie sollten einen Verzeichnis-Bucket verwenden, der dem gemeinsam genutzten Caching von Mountpoint gewidmet ist, und nur Mountpoint-Clients Zugriff gewähren.