View a markdown version of this page

Bewährte Methoden für S3-Dateien - 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.

Bewährte Methoden für S3-Dateien

Auf dieser Seite werden die empfohlenen bewährten Methoden für die Arbeit mit S3-Dateisystemen beschrieben.

Leistungs- und Kostenoptimierung

  • Parallelisieren Sie Ihre Workloads — S3 Files wurde entwickelt, um hochparallele Workloads zu unterstützen. Die Verteilung von Lesevorgängen auf mehrere Dateien und mehrere Recheninstanzen trägt zur Maximierung des Gesamtdurchsatzes bei. Sie können auch mehrere Dateisysteme mit unterschiedlichen spezifischen Präfixen innerhalb desselben Buckets erstellen (anstatt ein Dateisystem für den gesamten Bucket zu erstellen), um horizontal zu skalieren und den Gesamtdurchsatz zu verbessern.

  • Richten Sie Ihr Dateisystem auf das kleinste Präfix ein, das Ihre Arbeitslast benötigt, um die Auswirkungen von Umbenennungen zu minimieren — S3 hat kein systemeigenes Verzeichniskonzept. Wenn Sie ein Verzeichnis umbenennen oder verschieben, muss S3 Files die Daten mit dem aktualisierten Schlüssel in ein neues Objekt schreiben und das Original für jede Datei in diesem Verzeichnis löschen. Das Umbenennen von Verzeichnissen mit zig Millionen Dateien kann die Kosten für S3-Anfragen und die Synchronisationszeit erheblich erhöhen. Richten Sie Ihr Dateisystem auf Ihren aktiven Datensatz ein oder strukturieren Sie Ihre Daten so, dass Verzeichnisse, die Sie voraussichtlich umbenennen werden, weniger Dateien enthalten. Weitere Informationen finden Sie unter Die Auswirkungen von Umbenennungs- und Verschiebevorgängen verstehen.

  • Verwenden Sie große I/O-Größen — S3 Files misst jeden Lese- und Schreibvorgang auf mindestens 32 KB. Die Verwendung größerer I/O-Größen (1 MB oder mehr) amortisiert den Aufwand pro Vorgang und ist kostengünstiger als viele kleine Lese- oder Schreibvorgänge. Bei Verwendung des Mount-Helpers sind die standardmäßigen NFS-Lese- und Schreibpuffergrößen für optimale Leistung auf 1 MB festgelegt.

  • Passen Sie Ihren sizeLessThan Wert in der Importkonfiguration an Ihre Dateigrößen an — Standardmäßig speichert S3 Files Daten für Dateien, die kleiner als 128 KB sind, zwischenspeichert, wenn Sie zum ersten Mal auf ein Verzeichnis zugreifen. Dateien, die diesen Schwellenwert überschreiten, werden direkt aus S3 gelesen. Wenn Ihr Workload kleine, latenzempfindliche Lesevorgänge an größeren Dateien durchführt, erhöhen Sie den sizeLessThan Schwellenwert, sodass er den Dateigrößen entspricht, die Sie im Hochleistungsspeicher des Dateisystems für den Zugriff mit niedriger Latenz benötigen. Weitere Informationen finden Sie unter Synchronisation für S3-Dateien anpassen.

  • Legen Sie Ablauffenster fest, die Ihrem Workload-Lebenszyklus entsprechen — Daten, die innerhalb des Ablauffensters nicht gelesen wurden, werden automatisch aus dem Dateisystem entfernt. Verwenden Sie für kurzlebige Workloads wie Batch-Jobs oder Trainingsläufe ein kürzeres Ablaufdatum (1—7 Tage), um die Speicherkosten zu minimieren. Verwenden Sie für Workloads, bei denen dieselben Daten wochenlang erneut abgerufen werden, ein längeres Ablaufdatum (30—90 Tage), um weiterhin von der niedrigen Latenz zu profitieren. Weitere Informationen finden Sie unter Synchronisation für S3-Dateien anpassen.

  • Verwenden Sie Regeln mit Präfixbereich für gemischte Workloads — Wenn Ihr Bucket sowohl Daten enthält, auf die häufig zugegriffen wird, als auch Daten, auf die selten zugegriffen wird, erstellen Sie separate Importregeln für jedes Präfix. Auf diese Weise können Sie Daten für heiße Präfixe aggressiv importieren und gleichzeitig nur Metadaten für kalte Präfixe verwenden. Weitere Informationen finden Sie unter Synchronisation für S3-Dateien anpassen.

  • Erstellen Sie in jeder Availability Zone ein Mount-Ziel — Wir empfehlen, in jeder Availability Zone, in der Sie tätig sind, ein Mount-Ziel zu erstellen, um die AZ-übergreifenden Datenübertragungskosten zu senken und die Leistung zu verbessern. Dadurch wird sichergestellt, dass Ihre Rechenressourcen immer über einen lokalen Netzwerkpfad zum Dateisystem verfügen, was sowohl die Verfügbarkeit als auch die Latenz verbessert. Wenn Sie mit der AWS Management Console ein Dateisystem erstellen, erstellt S3 Files automatisch ein Mount-Ziel in jeder Availability Zone in Ihrer ausgewählten VPC.

Synchronisierung

  • Verstehen Sie das Konsistenzmodell für S3-Dateien — Wenn eine Datei im Dateisystem gleichzeitig mit dem entsprechenden Objekt im S3-Bucket geändert wird, behandelt S3 Files den S3-Bucket als Quelle der Wahrheit und verschiebt die Datei in das Verzeichnis Lost and Found. Um Konflikte zu vermeiden, sollten Sie einen Pfad (Dateisystem oder S3) als primären Writer festlegen.

  • Synchronisationsstatus überwachen — Verwenden Sie CloudWatch Metriken, um den Status der Synchronisation zwischen Ihrem Dateisystem und dem S3-Bucket zu verfolgen. Ein Anstieg PendingExports deutet darauf hin, dass Ihr Workload Änderungen schneller generiert als die Synchronisationsrate, was bedeutet, dass die Synchronisation länger dauert. Eine ExportFailures CloudWatch Metrik ungleich Null weist auf Dateien hin, die nicht exportiert werden konnten und Maßnahmen erfordern. Weitere Informationen finden Sie unter Problembehandlung bei S3-Dateien.

Zugriffskontrolle

  • Folgen Sie dem Prinzip der geringsten Rechte — Erteilen Sie nur die Mindestberechtigungen, die für jede IAM-Rolle und Dateisystemrichtlinie erforderlich sind. Wenn eine Rechenressource beispielsweise nur Daten aus dem Dateisystem lesen muss, fügen Sie stattdessen die AmazonS3FilesClientReadOnlyAccess verwaltete Richtlinie hinzu. AmazonS3FilesClientFullAccess Erwägen Sie außerdem, Ihr Dateisystem auf ein bestimmtes Präfix und nicht auf den gesamten Bucket zu beschränken, sodass Clients nur auf Daten innerhalb dieses Präfixes zugreifen können.

  • Ändern Sie nicht die IAM-Rolle für S3-Dateien — Ändern oder löschen Sie nicht die IAM-Rolle, von der S3 Files annimmt, dass sie mit Ihrem S3-Bucket synchronisiert wird. Das Ändern oder Entfernen dieser Rolle kann die Synchronisation zwischen Ihrem Dateisystem und dem S3-Bucket unterbrechen.

  • Ändern Sie die EventBridge Regel für S3-Dateien nicht — S3 Files erstellt eine EventBridge Regel (mit dem Präfix DO-NOT-DELETE-S 3-Files), um Änderungen in Ihrem S3-Bucket zu erkennen. Deaktivieren, ändern oder löschen Sie diese Regel nicht. Wenn Sie sie entfernen, wird verhindert, dass S3 Files neue oder geänderte Objekte in Ihrem Bucket erkennt, wodurch Ihr Dateisystem veraltet ist.

  • Erwägen Sie, den Zugriff auf Protokolle zu beschränken, die von efs-utilsefs-utils schreibt S3-Objektschlüsselnamen direkt in Protokolle, die es im Verzeichnis speichert. /var/log/amazon/efs Wenn Ihre S3-Schlüsselnamen vertrauliche Informationen enthalten, sollten Sie den Zugriff auf dieses Verzeichnis über POSIX-Berechtigungen einschränken. Sie könnten beispielsweise den Zugriff über den Befehl sudo chmod 700 /var/log/amazon/efs einschränken.

Überwachen

  • Alarme bei Synchronisierungsfehlern einrichten — Damit können Sie CloudWatch Alarme einrichten ImportFailures und ExportFailures sich benachrichtigen lassen, wenn Dateien nicht synchronisiert werden können. Fehlgeschlagene Exporte können auf Berechtigungsprobleme, Probleme mit Verschlüsselungsschlüsseln oder Pfadlängenbeschränkungen hinweisen. Weitere Informationen finden Sie unter Problembehandlung bei S3-Dateien.