View a markdown version of this page

Konfigurieren Sie den Speicher zur Verwendung mit AWS Transfer Family Server - AWS Transfer Family

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.

Konfigurieren Sie den Speicher zur Verwendung mit AWS Transfer Family Server

In diesem Thema werden die Speicheroptionen beschrieben, die Sie mit verwenden können AWS Transfer Family. Sie können entweder Amazon S3 oder Amazon EFS als Speicher für Ihre Transfer Family-Server verwenden.

Konfigurieren Sie einen Amazon S3-Bucket

AWS Transfer Family greift auf Ihren Amazon S3-Bucket zu, um die Übertragungsanfragen Ihrer Benutzer zu bearbeiten. Daher müssen Sie im Rahmen der Einrichtung Ihres Servers, der das Dateiübertragungsprotokoll aktiviert, einen Amazon S3-Bucket bereitstellen. Sie können einen vorhandenen Bucket verwenden oder einen neuen Bucket erstellen.

Anmerkung

Sie müssen keinen Server und keinen Amazon S3-Bucket verwenden, die sich in derselben AWS Region befinden, aber wir empfehlen dies als bewährte Methode.

Wenn Sie Ihre Benutzer einrichten, weisen Sie ihnen jeweils eine IAM-Rolle zu. Diese Rolle bestimmt die Zugriffsebene, die sie auf Ihren Amazon S3-Bucket haben.

Informationen zum Erstellen eines neuen Buckets finden Sie unter Wie erstelle ich einen S3-Bucket? im Amazon Simple Storage Service-Benutzerhandbuch.

Anmerkung

Sie können Amazon S3 Object Lock verwenden, um zu verhindern, dass Objekte für einen bestimmten Zeitraum oder auf unbestimmte Zeit überschrieben werden. Das funktioniert bei Transfer Family genauso wie bei anderen Diensten. Wenn ein Objekt existiert und geschützt ist, ist es nicht erlaubt, in diese Datei zu schreiben oder sie zu löschen. Weitere Informationen zu Amazon S3 Object Lock finden Sie unter Verwenden von Amazon S3 Object Lock im Amazon Simple Storage Service-Benutzerhandbuch.

Amazon S3 Access Points

AWS Transfer Family unterstützt Amazon S3 Access Points, eine Funktion von Amazon S3, mit der Sie den granularen Zugriff auf gemeinsam genutzte Datensätze einfach verwalten können. Sie können S3 Access Point-Aliase überall dort verwenden, wo Sie einen S3-Bucket-Namen verwenden. Sie können in Amazon S3 Hunderte von Access Points für Benutzer erstellen, die über unterschiedliche Berechtigungen für den Zugriff auf gemeinsam genutzte Daten in einem Amazon S3-Bucket verfügen.

Beispielsweise können Sie Access Points verwenden, um drei verschiedenen Teams den Zugriff auf denselben gemeinsamen Datensatz zu ermöglichen, wobei ein Team Daten aus S3 lesen kann, ein zweites Team Daten in S3 schreiben kann und das dritte Team Daten aus S3 lesen, schreiben und löschen kann. Um eine granulare Zugriffskontrolle wie oben erwähnt zu implementieren, können Sie einen S3-Zugangspunkt erstellen, der eine Richtlinie enthält, die verschiedenen Teams asymmetrischen Zugriff gewährt. Sie können S3-Zugriffspunkte mit Ihrem Transfer Family-Server verwenden, um eine feinkörnige Zugriffskontrolle zu erreichen, ohne eine komplexe S3-Bucket-Richtlinie erstellen zu müssen, die Hunderte von Anwendungsfällen umfasst. Weitere Informationen zur Verwendung von S3-Zugriffspunkten mit einem Transfer Family-Server finden Sie im Blogbeitrag Enhance Data Access Control with AWS Transfer Family und Amazon S3.

Anmerkung

AWS Transfer Family unterstützt derzeit keine Amazon S3 Multi-Region Access Points.

HeadObject Verhalten von Amazon S3

Anmerkung

Wenn Sie einen Transfer Family-Server erstellen oder aktualisieren, können Sie die Leistung Ihrer Amazon S3-Verzeichnisse optimieren, wodurch HeadObject Anrufe vermieden werden.

In Amazon S3 sind Buckets und Objekte die primären Ressourcen, in denen Objekte in Buckets gespeichert werden. Amazon S3 kann ein hierarchisches Dateisystem nachahmen, kann sich aber manchmal anders verhalten als ein typisches Dateisystem. Beispielsweise sind Verzeichnisse in Amazon S3 kein erstklassiges Konzept, sondern basieren stattdessen auf Objektschlüsseln. AWS Transfer Family leitet einen Verzeichnispfad ab, indem der Schlüssel eines Objekts durch den Schrägstrich (/) geteilt wird, wobei das letzte Element als Dateiname behandelt wird und dann Dateinamen, die dasselbe Präfix haben, unter demselben Pfad gruppiert werden. Zero-byte Objekte werden erstellt, um den Pfad eines Ordners darzustellen, wenn Sie mithilfe der Amazon S3-Konsole mkdir oder mithilfe der Amazon S3-Konsole ein leeres Verzeichnis erstellen. Der Schlüssel für diese Objekte endet mit einem abschließenden Schrägstrich. Diese Null-Byte-Objekte werden unter Organisieren von Objekten in der Amazon S3-Konsole mithilfe von Ordnern im Amazon S3-Benutzerhandbuch beschrieben.

Wenn Sie einen ls Befehl ausführen und einige Ergebnisse Amazon S3-Null-Byte-Objekte sind (diese Objekte haben Schlüssel, die mit einem Schrägstrich enden), sendet Transfer Family eine HeadObject Anfrage für jedes dieser Objekte (weitere Informationen finden Sie HeadObject in der Amazon Simple Storage Service API-Referenz). Dies kann zu den folgenden Problemen führen, wenn Sie Amazon S3 als Speicher mit Transfer Family verwenden.

Gewähren Sie die Möglichkeit, nur Dateien zu schreiben und aufzulisten

In einigen Fällen möchten Sie möglicherweise nur Schreibzugriff auf Ihre Amazon S3-Objekte gewähren. Beispielsweise möchten Sie möglicherweise den Zugriff zum Schreiben (oder Hochladen) und Auflisten von Objekten in einem Bucket gewähren, aber nicht zum Lesen (Herunterladen) von Objekten. Um mkdir Befehle mithilfe von Dateiübertragungsclients ausführen ls zu können, benötigen Sie Amazon S3 ListObjects und die PutObject entsprechenden Berechtigungen. Wenn Transfer Family jedoch einen HeadObject Aufruf tätigen muss, um Dateien zu schreiben oder aufzulisten, schlägt der Aufruf mit der Fehlermeldung Access denied fehl, da für diesen Aufruf die GetObject Genehmigung erforderlich ist.

Anmerkung

Wenn Sie einen Transfer Family-Server erstellen oder aktualisieren, können Sie die Leistung Ihrer Amazon S3-Verzeichnisse optimieren, wodurch HeadObject Anrufe vermieden werden.

In diesem Fall können Sie den Zugriff gewähren, indem Sie eine AWS Identity and Access Management (IAM-) Richtlinienbedingung hinzufügen, die die GetObject Berechtigung nur für Objekte hinzufügt, die mit einem Schrägstrich (/) enden. Diese Bedingung verhindert das GetObject Aufrufen von Dateien (sodass sie nicht gelesen werden können), ermöglicht es dem Benutzer jedoch, Ordner aufzulisten und zu durchsuchen. Die folgende Beispielrichtlinie bietet nur Schreib- und Listenzugriff auf Ihre Amazon S3-Buckets. Um diese Richtlinie zu verwenden, amzn-s3-demo-bucket ersetzen Sie sie durch den Namen Ihres Buckets.

Anmerkung

Um das Upload-Verhalten von WinSCP zu beheben, stellen Sie sicher, dass Sie die "arn:aws:s3:::amzn-s3-demo-bucket/*.filepart" Zeile hinzufügen, wie in der folgenden Beispielrichtlinie aufgeführt. Diese Zeile gewährleistet die korrekte Behandlung von.filepart-Objekten, um Fehler zu vermeiden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*/", "arn:aws:s3:::amzn-s3-demo-bucket/*.filepart" ] } ] }
Anmerkung

Diese Richtlinie erlaubt Benutzern nicht, Dateien anzuhängen. Mit anderen Worten, ein Benutzer, dem diese Richtlinie zugewiesen wurde, kann keine Dateien öffnen, um ihnen Inhalte hinzuzufügen oder sie zu ändern. Wenn Ihr Anwendungsfall einen HeadObject Anruf vor dem Hochladen einer Datei erfordert, funktioniert diese Richtlinie außerdem nicht für Sie.

Große Anzahl von Null-Byte-Objekten, die Latenzprobleme verursachen

Wenn Ihre Amazon S3-Buckets eine große Anzahl dieser Null-Byte-Objekte enthalten, gibt Transfer Family viele HeadObject Aufrufe aus, was zu Verzögerungen bei der Verarbeitung führen kann. Die empfohlene Lösung für dieses Problem besteht darin, Optimized Directories zu aktivieren, um die Latenz zu reduzieren.

Nehmen wir zum Beispiel an, Sie gehen in Ihr Home-Verzeichnis und Sie haben 10.000 Unterverzeichnisse. Mit anderen Worten, Ihr Amazon S3-Bucket hat 10.000 Ordner. Wenn Sie in diesem Szenario den Befehl ls (list) ausführen, dauert der Listenvorgang zwischen sechs und acht Minuten. Wenn Sie jedoch Ihre Verzeichnisse optimieren, dauert dieser Vorgang nur wenige Sekunden. Sie legen diese Option im Bildschirm Zusätzliche Details konfigurieren während der Servererstellung oder Aktualisierung fest. Diese Verfahren werden unter dem Konfiguration eines SFTP-, FTPS- oder FTP-Serverendpunkts Thema detailliert beschrieben.

Anmerkung

GUI-Clients geben möglicherweise ls Befehle aus, auf die Sie keinen Einfluss haben. Daher ist es wichtig, diese Einstellung nach Möglichkeit zu aktivieren.

Wenn Sie Ihre Verzeichnisse nicht optimieren können oder können, besteht eine alternative Lösung für dieses Problem darin, alle Ihre Null-Byte-Objekte zu löschen. Beachten Sie Folgendes:

  • Leere Verzeichnisse werden nicht mehr existieren. Verzeichnisse existieren nur, weil ihre Namen im Schlüssel eines Objekts stehen.

  • Verhindert nicht, dass jemand anruft mkdir und Dinge noch einmal kaputt macht. Sie könnten dem entgegenwirken, indem Sie eine Richtlinie erstellen, die das Erstellen von Verzeichnissen verhindert.

  • In einigen Szenarien werden diese 0-Byte-Objekte verwendet. Zum Beispiel haben Sie eine Struktur wie/inboxes/customer1000und das Posteingangsverzeichnis wird täglich gereinigt.

Schließlich besteht eine weitere mögliche Lösung darin, die Anzahl der sichtbaren Objekte durch eine Richtlinienbedingung zu begrenzen, um die Anzahl der HeadObject Aufrufe zu reduzieren. Damit dies eine praktikable Lösung ist, müssen Sie akzeptieren, dass Sie möglicherweise nur einen begrenzten Satz all Ihrer Unterverzeichnisse anzeigen können.

Konfigurieren Sie ein Amazon EFS-Dateisystem

AWS Transfer Family greift auf das Amazon Elastic File System (Amazon EFS) zu, um die Übertragungsanfragen Ihrer Benutzer zu bearbeiten. Daher müssen Sie im Rahmen der Einrichtung Ihres Servers, der das Dateiübertragungsprotokoll aktiviert, ein Amazon EFS-Dateisystem bereitstellen. Sie können ein vorhandenes Dateisystem verwenden oder ein neues erstellen.

Beachten Sie Folgendes:

  • Wenn Sie einen Transfer Family-Server und ein Amazon EFS-Dateisystem verwenden, müssen sich der Server und das Dateisystem im selben befinden AWS-Region.

  • Der Server und das Dateisystem müssen sich nicht im selben Konto befinden. Wenn sich der Server und das Dateisystem nicht im selben Konto befinden, muss die Dateisystemrichtlinie der Benutzerrolle eine ausdrückliche Genehmigung gewähren.

    Informationen zum Einrichten mehrerer Konten finden Sie im AWS Organizations Benutzerhandbuch unter Verwalten der AWS Konten in Ihrer Organisation.

  • Wenn Sie Ihre Benutzer einrichten, weisen Sie ihnen jeweils eine IAM-Rolle zu. Diese Rolle bestimmt die Zugriffsebene, die sie auf Ihr Amazon EFS-Dateisystem haben.

  • Einzelheiten zum Mounten eines Amazon EFS-Dateisystems finden Sie unter Mounten von Amazon EFS-Dateisystemen.

Weitere Informationen zur Zusammenarbeit zwischen Amazon EFS AWS Transfer Family und Amazon EFS finden Sie unter Verwenden für den AWS Transfer Family Zugriff auf Dateien in Ihrem Amazon EFS-Dateisystem im Amazon Elastic File System-Benutzerhandbuch.

Eigentum an Amazon EFS-Dateien

Amazon EFS verwendet das POSIX (Portable Operating System Interface) -Dateiberechtigungsmodell, um den Dateibesitz darzustellen.

In POSIX werden Benutzer im System in drei verschiedene Berechtigungsklassen eingeteilt: Wenn Sie einem Benutzer den Zugriff auf Dateien ermöglichen, die in einem Amazon EFS-Dateisystem gespeichert sind AWS Transfer Family, mit, müssen Sie ihm ein „POSIX-Profil“ zuweisen. Dieses Profil wird verwendet, um ihren Zugriff auf Dateien und Verzeichnisse im Amazon EFS-Dateisystem zu bestimmen.

  • Benutzer (u): Besitzer der Datei oder des Verzeichnisses. Normalerweise ist der Ersteller einer Datei oder eines Verzeichnisses auch der Eigentümer.

  • Gruppe (g): Gruppe von Benutzern, die identischen Zugriff auf Dateien und Verzeichnisse benötigen, die sie gemeinsam nutzen.

  • Andere (o): Alle anderen Benutzer, die Zugriff auf das System haben, mit Ausnahme des Besitzers und der Gruppenmitglieder. Diese Berechtigungsklasse wird auch als „Öffentlich“ bezeichnet.

Im POSIX-Berechtigungsmodell ist jedes Dateisystemobjekt (Dateien, Verzeichnisse, symbolische Links, Named Pipes und Sockets) mit den zuvor genannten drei Gruppen von Berechtigungen verknüpft. Amazon EFS-Objekten ist ein Unix-style Modus zugeordnet. Dieser Moduswert definiert die Berechtigungen zum Ausführen von Aktionen für dieses Objekt.

Darüber hinaus werden Benutzer und Gruppen auf Unix-style Systemen numerischen Identifikatoren zugeordnet, die Amazon EFS zur Darstellung des Dateibesitzes verwendet. Bei Amazon EFS gehören Objekte einem einzigen Besitzer und einer einzelnen Gruppe. Amazon EFS verwendet die zugeordneten numerischen IDs, um die Berechtigungen zu prüfen, wenn ein Benutzer versucht, auf ein Dateisystemobjekt zuzugreifen.

Richten Sie Amazon EFS-Benutzer für Transfer Family ein

Bevor Sie Ihre Amazon EFS-Benutzer einrichten, können Sie eine der folgenden Aktionen ausführen:

Anmerkung

Transfer Family-Server unterstützen keine Amazon EFS-Zugriffspunkte zum Festlegen von POSIX-Berechtigungen. Die POSIX-Profile von Transfer Family-Benutzern (im vorherigen Abschnitt beschrieben) bieten die Möglichkeit, POSIX-Berechtigungen festzulegen. Diese Berechtigungen werden auf Benutzerebene für einen granularen Zugriff auf der Grundlage von UID, GID und sekundären GIDs festgelegt.

Konfigurieren Sie Transfer Family-Benutzer auf Amazon EFS

Transfer Family ordnet die Benutzer den von Ihnen angegebenen Verzeichnissen UID/GID und zu. Wenn sie noch UID/GID/directories nicht in EFS vorhanden sind, sollten Sie sie erstellen, bevor Sie sie in Transfer einem Benutzer zuweisen. Die Einzelheiten zum Erstellen von Amazon EFS-Benutzern werden unter Arbeiten mit Benutzern, Gruppen und Berechtigungen auf der Ebene des Netzwerkdateisystems (NFS) im Amazon Elastic File System-Benutzerhandbuch beschrieben.

Schritte zum Einrichten von Amazon EFS-Benutzern in Transfer Family
  1. Ordnen Sie die EFS-UID und GID für Ihren Benutzer in Transfer Family mithilfe der PosixProfile Felder zu.

  2. Wenn Sie möchten, dass der Benutzer bei der Anmeldung in einem bestimmten Ordner startet, können Sie das EFS-Verzeichnis unter dem HomeDirectory Feld angeben.

Sie können den Prozess automatisieren, indem Sie eine CloudWatch Regel und eine Lambda-Funktion verwenden. Ein Beispiel für eine Lambda-Funktion, die mit EFS interagiert, finden Sie unter Verwenden von Amazon EFS für AWS Lambda in Ihren serverlosen Anwendungen.

Darüber hinaus können Sie logische Verzeichnisse für Ihre Transfer Family-Benutzer konfigurieren. Einzelheiten finden Sie im Logische Verzeichnisse für Amazon EFS konfigurieren Abschnitt des Verwendung logischer Verzeichnisse zur Vereinfachung Ihrer Transfer Family Family-Verzeichnisstrukturen Themas.

Erstellen Sie einen Amazon EFS-Root-Benutzer

Wenn Sie in Ihrer Organisation den Root-Benutzerzugriff über SFTP/FTPS für die Konfiguration Ihrer Benutzer aktivieren möchten, können Sie einen Benutzer erstellen, dessen UID und GID 0 sind (Root-Benutzer). Verwenden Sie dann diesen Root-Benutzer, um Ordner zu erstellen und den übrigen Benutzern POSIX-ID-Besitzer zuzuweisen. Der Vorteil dieser Option besteht darin, dass das Amazon EFS-Dateisystem nicht gemountet werden muss.

Führen Sie die unter beschriebenen Schritte ausHinzufügen von Benutzern, die vom Amazon EFS-Service verwaltet werden, und geben Sie sowohl für die Benutzer-ID als auch für die Gruppen-ID 0 (Null) ein.

Tipp

Lassen Sie dieses Superuser-Konto nicht länger als nötig existieren. Oder, falls Sie das Root-Benutzerkonto behalten, stellen Sie sicher, dass Sie es gut schützen.

Unterstützte Amazon EFS-Befehle

Die folgenden Befehle werden für Amazon EFS für unterstützt AWS Transfer Family.

  • cd

  • ls/dir

  • pwd

  • put

  • get

  • rename

  • chown: Nur Root-Benutzer (d. h. Benutzer mit uid=0) können den Besitz und die Berechtigungen von Dateien und Verzeichnissen ändern.

  • chmod: Nur Root kann den Besitz und die Berechtigungen von Dateien und Verzeichnissen ändern.

  • chgrp: Wird entweder für Root-Benutzer oder für den Eigentümer der Datei unterstützt, der nur die Gruppe einer Datei in eine seiner sekundären Gruppen ändern kann.

  • ln -s/symlink

  • mkdir

  • rm/delete

  • rmdir

  • chmtime