Konfigurieren Sie den Speicher für die Verwendung mit AWS Transfer Family - 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 für die Verwendung mit AWS Transfer Family

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

Einen Amazon S3 S3-Bucket konfigurieren

AWS Transfer Family greift auf Ihren Amazon S3 S3-Bucket zu, um Übertragungsanfragen Ihrer Benutzer zu bearbeiten. Daher müssen Sie im Rahmen der Einrichtung Ihres File-Transfer-Protokoll-fähigen Servers einen Amazon S3 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 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 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. Dies 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 detaillierten Zugriff auf gemeinsam genutzte Datensätze einfach verwalten können. Sie können S3 Access Point-Aliase überall 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 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 detaillierte Zugriffskontrolle wie oben erwähnt zu implementieren, können Sie einen S3-Zugriffspunkt erstellen, der eine Richtlinie enthält, die verschiedenen Teams asymmetrischen Zugriff gewährt. Sie können S3-Zugriffspunkte mit Ihrem Transfer Family Family-Server verwenden, um eine differenzierte Zugriffskontrolle zu erreichen, ohne eine komplexe S3-Bucket-Richtlinie zu erstellen, die Hunderte von Anwendungsfällen umfasst. Weitere Informationen zur Verwendung von S3 Access Points mit einem Transfer Family Family-Server finden Sie im Blogbeitrag Enhance data access control with AWS Transfer Family and 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 Family-Server erstellen oder aktualisieren, können Sie die Leistung Ihrer Amazon S3 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, 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, das letzte Element als Dateinamen behandelt und dann Dateinamen, die dasselbe Präfix haben, unter demselben Pfad gruppiert werden. Null-Byte-Objekte werden erstellt, um den Pfad eines Ordners darzustellen, wenn Sie mit mkdir oder mithilfe der Amazon S3 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 S3-Konsole mithilfe von Ordnern im Amazon S3 S3-Benutzerhandbuch beschrieben.

Wenn Sie einen ls Befehl ausführen und einige Ergebnisse Amazon S3 S3-Null-Byte-Objekte sind (diese Objekte haben Schlüssel, die mit einem Schrägstrich enden), gibt Transfer Family eine HeadObject Anfrage für jedes dieser Objekte aus (Einzelheiten finden Sie HeadObjectin der Amazon Simple Storage Service API Reference). 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 S3-Objekte anbieten. Beispielsweise möchten Sie möglicherweise Zugriff auf Schreib- (oder Upload) und Auflisten von Objekten in einem Bucket gewähren, nicht jedoch auf Objekte zum Lesen (Herunterladen). 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 Anruf mit der Fehlermeldung Zugriff verweigert fehl, da für diesen Aufruf die GetObject entsprechende Genehmigung erforderlich ist.

Anmerkung

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

In diesem Fall können Sie 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 S3-Buckets. Um diese Richtlinie zu verwenden, DOC-EXAMPLE-BUCKET ersetzen Sie sie durch den Namen Ihres Buckets.

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

Diese Richtlinie erlaubt es 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 außerdem vor dem Hochladen einer Datei einen HeadObject Anruf erfordert, funktioniert diese Richtlinie nicht für Sie.

Große Anzahl von Null-Byte-Objekten verursacht Latenzprobleme

Wenn Ihre Amazon S3 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.

Eine mögliche Lösung für dieses Problem besteht 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.

  • Hindert jemanden nicht daran, erneut anzurufen mkdir und Dinge kaputt zu machen. Sie könnten dies mildern, indem Sie eine Richtlinie erstellen, die die Erstellung von Verzeichnissen verhindert.

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

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

Ein EFS Amazon-Dateisystem konfigurieren

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

Beachten Sie Folgendes:

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

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

    Informationen zum Einrichten mehrerer Konten finden Sie im AWS Organizations Benutzerhandbuch unter Verwaltung 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 EFS Amazon-Dateisystem haben.

  • Einzelheiten zum Mounten eines EFS Amazon-Dateisystems finden Sie unter EFSAmazon-Dateisysteme mounten.

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

Besitz Amazon EFS Amazon-Dateien

Amazon EFS verwendet das Dateiberechtigungsmodell Portable Operating System Interface (POSIX), 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 EFS Amazon-Dateisystem gespeichert sind AWS Transfer Family, müssen Sie ihm ein „POSIXProfil“ zuweisen. Dieses Profil wird verwendet, um ihren Zugriff auf Dateien und Verzeichnisse im EFS Amazon-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 Berechtigungssätzen verknüpft. EFSAmazon-Objekten ist ein Modus im UNIX-Stil zugeordnet. Dieser Moduswert definiert die Berechtigungen zum Ausführen von Aktionen für dieses Objekt.

Darüber hinaus werden auf Systemen im UNIX-Stil Benutzer und Gruppen numerischen Identifikatoren zugeordnet, die Amazon EFS verwendet, um den Dateibesitz darzustellen. Für Amazon EFS gehören Objekte einem einzelnen Eigentümer und einer einzelnen Gruppe. Amazon EFS verwendet die zugeordnete ZahlIDs, um Berechtigungen zu überprüfen, wenn ein Benutzer versucht, auf ein Dateisystemobjekt zuzugreifen.

EFSAmazon-Benutzer für Transfer Family einrichten

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

Anmerkung

Transfer Family Family-Server unterstützen keine Amazon EFS Access Points zum Einstellen von POSIX Berechtigungen. Die POSIX Benutzerprofile von Transfer Family (im vorherigen Abschnitt beschrieben) bieten die Möglichkeit, POSIX Berechtigungen festzulegen. Diese Berechtigungen werden auf Benutzerebene für einen detaillierten Zugriff auf der Grundlage von UIDGID, und sekundär GIDs festgelegt.

Transfer Family Family-Benutzer auf Amazon konfigurieren EFS

Transfer Family ordnet die Benutzer den zu, die noch UID/GID and directories you specify. If the UID/GID/directories nicht in vorhanden sindEFS, dann sollten Sie sie erstellen, bevor Sie sie in Transfer einem Benutzer zuweisen. Die Einzelheiten zum Erstellen von EFS Amazon-Benutzern werden unter Arbeiten mit Benutzern, Gruppen und Berechtigungen auf Netzwerkdateisystemebene (NFS) im Amazon Elastic File System-Benutzerhandbuch beschrieben.

Schritte zum Einrichten von EFS Amazon-Benutzern in Transfer Family
  1. Ordnen Sie mithilfe der PosixProfileFelder das EFS UID und GID für Ihren Benutzer in Transfer Family 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 HomeDirectoryFeld 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 interagiertEFS, finden Sie unter Verwenden von Amazon EFS for AWS Lambda in Ihren serverlosen Anwendungen.

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

Erstellen Sie einen EFS Amazon-Root-Benutzer

Wenn es in Ihrer Organisation für Sie angenehm ist, den Root-Benutzerzugriff überSFTP/FTPSfür die Konfiguration Ihrer Benutzer zu aktivieren, können Sie einen Benutzer erstellen, der 0 ist UID und GID ist (Root-Benutzer), und dann diesen Root-Benutzer verwenden, um Ordner zu erstellen und den übrigen Benutzern POSIX ID-Besitzer zuzuweisen. Der Vorteil dieser Option besteht darin, dass das EFS Amazon-Dateisystem nicht bereitgestellt werden muss.

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

Unterstützte EFS Amazon-Befehle

Die folgenden Befehle werden für Amazon EFS for 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 die Gruppe einer Datei nur in eine seiner sekundären Gruppen ändern kann.

  • ln -s/symlink

  • mkdir

  • rm/delete

  • rmdir

  • chmtime