Übertragung von Dateien über einen Serverendpunkt mit einem Client - 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.

Übertragung von Dateien über einen Serverendpunkt mit einem Client

Sie übertragen Dateien über den AWS Transfer Family Dienst, indem Sie den Übertragungsvorgang in einem Client angeben. AWS Transfer Family unterstützt die folgenden Clients:

  • Wir unterstützen Version 3 des SFTP Protokolls.

  • Öffnen SSH (macOS und Linux)

    Anmerkung

    Dieser Client funktioniert nur mit Servern, die für das Secure Shell (SSH) File Transfer Protocol (SFTP) aktiviert sind.

  • Win SCP (nur Microsoft Windows)

  • Cyberduck (Windows, macOS und Linux)

  • FileZilla (Windows, macOS und Linux)

Die folgenden Einschränkungen gelten für jeden Client:

  • Die maximale Anzahl gleichzeitiger SFTP Multiplex-Sitzungen pro Verbindung beträgt 10.

  • Amazon S3 und Amazon EFS (aufgrund des NFSv4 Protokolls) verlangen, dass Dateinamen in der UTF -8-Kodierung vorliegen. Die Verwendung einer anderen Kodierung kann zu unerwarteten Ergebnissen führen. Informationen zu Amazon S3 finden Sie unter Richtlinien zur Benennung von Objektschlüsseln.

  • Für File Transfer Protocol over SSL (FTPS) wird nur der Modus Explizit unterstützt. Der implizite Modus wird nicht unterstützt.

  • Für File Transfer Protocol (FTP) und FTPS wird nur der passive Modus unterstützt.

  • Für FTP und FTPS wird nur der STREAM Modus unterstützt.

  • Für FTP und FTPS wird nur der Bild-/Binärmodus unterstützt.

  • Für FTP und FTPS ist TLS — PROT C (ungeschützt) TLS für die Datenverbindung die Standardeinstellung, aber PROT C wird im AWS Transfer Family FTPS Protokoll nicht unterstützt. Sie müssen also PROT P eingebenFTPS, damit Ihre Datenoperation akzeptiert wird.

  • Wenn Sie Amazon S3 für den Speicher Ihres Servers verwenden und Ihr Client die Option enthält, mehrere Verbindungen für eine einzelne Übertragung zu verwenden, stellen Sie sicher, dass Sie die Option deaktivieren. Andernfalls können große Datei-Uploads auf unvorhersehbare Weise fehlschlagen. Beachten Sie, dass, wenn Sie Amazon EFS als Speicher-Backend verwenden, mehrere Verbindungen für eine einzige Übertragung EFS unterstützt werden.

Im Folgenden finden Sie eine Liste der verfügbaren Befehle für FTP undFTPS:

Verfügbare Befehle

ABOR

FEAT

MLST

PASS

RETR

STOR

AUTH

LANG

MKD

PASV

RMD

STOU

CDUP

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NLST

PROT

RNTO

SYST

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTS

QUIT

STAT

USER

Anmerkung

APPE wird nicht unterstützt.

Denn SFTP die folgenden Operationen werden derzeit nicht für Benutzer unterstützt, die das logische Home-Verzeichnis auf Servern verwenden, die Amazon Elastic File System (AmazonEFS) verwenden.

Befehle werden nicht unterstützt SFTP

SSH_FXP_READLINK

SSH_FXP_SYMLINK

SSH_ FXP _ STAT wenn die angeforderte Datei ein Symlink ist

SSH_ FXP _ REALPATH wenn der angeforderte Pfad irgendwelche Symlink-Komponenten enthält

Generieren Sie ein öffentlich-privates key pair

Bevor Sie eine Datei übertragen können, müssen Sie über ein öffentlich-privates key pair verfügen. Wenn Sie noch kein key pair generiert haben, finden Sie weitere Informationen unterGenerieren Sie SSH Schlüssel für vom Service verwaltete Benutzer.

Verfügbare SFTP/FTPS/FTP Befehle

In der folgenden Tabelle werden die verfügbaren Befehle für AWS Transfer Family, für die SFTPFTPS, und FTP Protokolle beschrieben.

Anmerkung

In der Tabelle werden Dateien und Verzeichnisse für Amazon S3 erwähnt, das nur Buckets und Objekte unterstützt: Es gibt keine Hierarchie. Sie können jedoch Präfixe in Objektschlüsselnamen verwenden, um eine Hierarchie zu implizieren und Ihre Daten ähnlich wie Ordner zu organisieren. Dieses Verhalten wird unter Arbeiten mit Objektmetadaten im Amazon Simple Storage Service-Benutzerhandbuch beschrieben.

SFTP/FTPS/FTPBefehle
Befehl Amazon S3 Amazon EFS
cd Unterstützt Unterstützt
chgrp Nicht unterstützt Unterstützt (rootoder owner nur)
chmod Nicht unterstützt Wird unterstützt (rootnur)
chmtime Nicht unterstützt Unterstützt
chown Nicht unterstützt Unterstützt (rootnur)
get Unterstützt Unterstützt (einschließlich der Auflösung symbolischer Links)
ln -s Nicht unterstützt Unterstützt
ls/dir Unterstützt Unterstützt
mkdir Unterstützt Unterstützt
put Unterstützt Unterstützt
pwd Unterstützt Unterstützt
rename

Wird nur für Dateien unterstützt

Unterstützt
Anmerkung

Ein Umbenennen, das eine bestehende Datei oder ein vorhandenes Verzeichnis überschreiben würde, wird nicht unterstützt.

rm Unterstützt Unterstützt
rmdir Unterstützt (nur leere Verzeichnisse) Unterstützt
version Unterstützt Unterstützt

Finden Sie Ihren VPC Amazon-Endpunkt

Wenn der Endpunkttyp für Ihren Transfer Family Family-Server lautetVPC, ist es nicht einfach, den Endpunkt zu identifizieren, der für die Übertragung von Dateien verwendet werden soll. Gehen Sie in diesem Fall wie folgt vor, um Ihren VPC Amazon-Endpunkt zu finden.

Finden Sie Ihren VPC Amazon-Endpunkt
  1. Navigieren Sie zur Detailseite Ihres Servers.

  2. Wählen Sie im Bereich Endpunktdetails die VPC.

    Die Serverdetailseite der Transfer Family Family-Konsole, auf der die Endpunktdetails für einen VPC Server angezeigt werden.
  3. Wählen Sie im VPC Amazon-Dashboard die VPCEndpunkt-ID aus.

  4. In der DNSNamensliste ist Ihr Serverendpunkt der erste, der aufgeführt ist.

    Die Seite Endpoints der VPC Amazon-Konsole, auf der die DNSNamen für einen ausgewählten Endpunkt angezeigt werden.

Vermeiden Sie Fehler setstat

Einige SFTP Dateiübertragungsclients können versuchen, die Attribute von Remotedateien, einschließlich Zeitstempel und Berechtigungen, mithilfe von Befehlen zu ändern, z. B. SETSTAT beim Hochladen der Datei. Diese Befehle sind jedoch nicht mit Objekt-Speichersystemen wie Amazon S3 kompatibel. Aufgrund dieser Inkompatibilität können Datei-Uploads von diesen Clients zu Fehlern führen, selbst wenn die Datei anderweitig erfolgreich hochgeladen wurde.

  • Wenn Sie CreateServer oder aufrufen UpdateServerAPI, verwenden Sie die ProtocolDetails Option, um den Fehler SetStatOption zu ignorieren, der generiert wird, wenn der Client versucht, eine Datei SETSTAT zu verwenden, die Sie in einen S3-Bucket hochladen.

  • Stellen Sie den Wert ENABLE_NO_OP auf ein, damit der Transfer Family Family-Server den SETSTAT Befehl ignoriert und Dateien hochlädt, ohne Änderungen an Ihrem SFTP Client vornehmen zu müssen.

  • Beachten Sie, dass die SetStatOption ENABLE_NO_OP Einstellung zwar den Fehler ignoriert, aber einen Protokolleintrag in CloudWatch Logs generiert, sodass Sie feststellen können, wann der Client einen SETSTAT Anruf tätigt.

APIEinzelheiten zu dieser Option finden Sie unter ProtocolDetails.

Verwenden Sie „Öffnen“ SSH

Verwenden Sie die folgenden Anweisungen, um Dateien mithilfe von Öffnen von der Befehlszeile aus zu übertragenSSH.

Anmerkung

Dieser Client funktioniert nur mit einem Server, der SFTP -fähig ist.

Um Dateien AWS Transfer Family mit dem SSH Befehlszeilenprogramm Open zu übertragen
  1. Öffnen Sie unter Linux, macOS oder Windows ein Befehlsterminal.

  2. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

    sftp -i transfer-key sftp_user@service_endpoint

    Im vorherigen Befehl sftp_user ist dies der Benutzername und transfer-key der SSH private Schlüssel. Hier service_endpoint ist der Endpunkt des Servers, wie er in der AWS Transfer Family Konsole für den ausgewählten Server angezeigt wird.

    Anmerkung

    Dieser Befehl verwendet Einstellungen, die in der ssh_config Standarddatei enthalten sind. SFTPVerwendet Port 22. Es sei denn, Sie haben diese Datei zuvor bearbeitet. Sie können einen anderen Port angeben (z. B. 2222), indem Sie dem Befehl wie folgt ein -P Flag hinzufügen.

    sftp -P 2222 -i transfer-key sftp_user@service_endpoint

    Wenn Sie immer Port 2222 verwenden möchten, können Sie alternativ Ihren Standardport in Ihrer ssh_config Datei aktualisieren.

    Eine sftp-Eingabeaufforderung sollte angezeigt werden.

  3. (Optional) Um das Home-Verzeichnis des Benutzers anzuzeigen, geben Sie an der sftp Eingabeaufforderung den folgenden Befehl ein:

    pwd

  4. Verwenden Sie den put Befehl, um eine Datei von Ihrem Dateisystem auf den Transfer Family Family-Server hochzuladen. Um beispielsweise hochzuladen hello.txt (vorausgesetzt, die Datei befindet sich in Ihrem aktuellen Verzeichnis auf Ihrem Dateisystem), führen Sie an der sftp Eingabeaufforderung den folgenden Befehl aus:

    put hello.txt

    Eine Meldung ähnlich der folgenden wird angezeigt, die darauf hinweist, dass die Dateiübertragung im Gange ist oder abgeschlossen ist.

    Uploading hello.txt to /my-bucket/home/sftp_user/hello.txt

    hello.txt 100% 127 0.1KB/s 00:00

Anmerkung

Nachdem Ihr Server erstellt wurde, kann es einige Minuten dauern, bis der Hostname des Serverendpunkts vom DNS Dienst in Ihrer Umgebung aufgelöst werden kann.

Verwenden Sie Win SCP

Verwenden Sie die folgenden Anweisungen, um Dateien mit Win von der Befehlszeile aus zu übertragenSCP.

Anmerkung

Wenn Sie Win SCP 5.19 verwenden, können Sie mit Ihren AWS Anmeldeinformationen direkt eine Verbindung zu Amazon S3 herstellen und Dateien hochladen/herunterladen. Weitere Informationen finden Sie unter Verbindung zum Amazon S3 S3-Service herstellen.

Um Dateien AWS Transfer Family mithilfe von Win zu übertragen SCP
  1. Öffnen Sie den SCP Win-Client.

  2. Wählen Sie im Anmeldedialogfeld für Dateiprotokoll ein Protokoll aus: SFTPoder FTP.

    Wenn Sie sich für Verschlüsselung entschieden habenFTP, wählen Sie eine der folgenden Optionen:

    • Keine Verschlüsselung für FTP

    • TLS/SSLExplizite Verschlüsselung für FTPS

  3. Geben Sie in das Feld Host name (Host-Name) den Server-Endpunkt ein. Der Serverendpunkt befindet sich auf der Seite mit den Serverdetails. Weitere Informationen finden Sie unter SFTPFTPServerdetails FTPS anzeigen und.

    Anmerkung

    Wenn Ihr Server einen VPC Endpunkt verwendet, finden Sie weitere Informationen unterFinden Sie Ihren VPC Amazon-Endpunkt.

  4. Geben Sie als Portnummer Folgendes ein:

    • 22 für SFTP

    • 21fürFTP/FTPS

  5. Geben Sie unter Benutzername den Namen für den Benutzer ein, den Sie für Ihren spezifischen Identity Provider erstellt haben.

    Anmerkung

    Der Benutzername sollte einer der Benutzer sein, die Sie für Ihren Identitätsanbieter erstellt oder konfiguriert haben. AWS Transfer Family bietet die folgenden Identitätsanbieter:

  6. Wählen Sie „Erweitert“, um das Dialogfeld „Erweiterte Seiteneinstellungen“ zu öffnen. Wählen Sie in dem SSHAbschnitt Authentifizierung aus.

  7. Suchen Sie unter Datei mit privatem Schlüssel nach der Datei mit dem SSH privaten Schlüssel aus Ihrem Dateisystem und wählen Sie sie aus.

    Anmerkung

    Wenn Win SCP anbietet, Ihren SSH privaten Schlüssel in das PPK Format zu konvertieren, wählen Sie OK.

  8. Wählen Sie OK aus, um zum Dialogfeld Login (Anmelden) zurückzukehren. Wählen Sie dann Save (Speichern) aus.

  9. Wählen Sie im Dialogfeld Sitzung als Site speichern die Option OK, um die Verbindungseinrichtung abzuschließen.

  10. Wählen Sie im Anmeldedialogfeld die Option Tools und anschließend Einstellungen aus.

  11. Wählen Sie im Dialogfeld „Einstellungen“ für „Übertragung“ die Option „Endurance“.

    Wählen Sie für die Option „Wiederaufnahme der Übertragung/Übertragung auf temporären Dateinamen aktivieren“ die Option „Deaktivieren“.

    Anmerkung

    Wenn Sie diese Option aktiviert lassen, erhöht dies die Upload-Kosten und verringert die Upload-Leistung erheblich. Dies kann auch dazu führen, dass das Hochladen großer Dateien fehlschlägt.

  12. Wählen Sie für Übertragung die Option Hintergrund und deaktivieren Sie das Kontrollkästchen Mehrere Verbindungen für eine einzige Übertragung verwenden.

    Anmerkung

    Wenn Sie diese Option aktiviert lassen, können große Dateiuploads auf unvorhersehbare Weise fehlschlagen. Beispielsweise können verwaiste mehrteilige Uploads erstellt werden, für die Amazon S3 S3-Gebühren anfallen. Es kann auch zu einer unbemerkten Beschädigung von Daten kommen.

  13. Führen Sie Ihre Dateiübertragung durch.

    Sie können drag-and-drop Methoden verwenden, um Dateien zwischen dem Ziel- und dem Quellfenster zu kopieren. Sie können die Symbolleistensymbole verwenden, um die Eigenschaften von Dateien in Win hochzuladen, herunterzuladen, zu löschen, zu bearbeiten oder zu ändernSCP.

Anmerkung

Dieser Hinweis gilt nicht, wenn Sie Amazon EFS als Speicher verwenden.

Befehle, die versuchen, Attribute von Remote-Dateien, einschließlich Zeitstempeln, zu ändern, sind nicht mit Objektspeichersystemen wie Amazon S3 kompatibel. Wenn Sie Amazon S3 als Speicher verwenden, sollten Sie daher sicherstellen, dass Sie die SCP Win-Zeitstempeleinstellungen deaktivieren (oder SetStatOption wie unter beschrieben verwendenVermeiden Sie Fehler setstat), bevor Sie Dateiübertragungen durchführen. Deaktivieren Sie dazu im Dialogfeld mit den Einstellungen für Win SCP Transfer die Upload-Optionen „Berechtigungen festlegen“ und die Option „Zeitstempel beibehalten“.

Verwenden Sie Cyberduck

Unten wird beschrieben, wie Dateien in der Befehlszeile mit Cyberduck übertragen werden.

Um Dateien AWS Transfer Family mit Cyberduck zu übertragen
  1. Öffnen Sie den Cyberduck-Client.

  2. Wählen Sie Verbindung öffnen.

  3. Wählen Sie im Dialogfeld „Verbindung öffnen“ ein Protokoll aus: SFTP(SSHFile Transfer Protocol), FTP- SSL (Explizit AUTHTLS) oder FTP(File Transfer Protocol).

  4. Geben Sie unter Server Ihren Serverendpunkt ein. Der Serverendpunkt befindet sich auf der Seite mit den Serverdetails. Weitere Informationen finden Sie unter SFTPFTPServerdetails FTPS anzeigen und.

    Anmerkung

    Wenn Ihr Server einen VPC Endpunkt verwendet, finden Sie weitere Informationen unterFinden Sie Ihren VPC Amazon-Endpunkt.

  5. Geben Sie als Portnummer Folgendes ein:

    • 22 für SFTP

    • 21fürFTP/FTPS

  6. Geben Sie in das Feld Username (Benutzername) den Namen des Benutzers ein, den Sie in Benutzer für Serverendpunkte verwalten erstellt haben.

  7. Falls SFTP ausgewählt, wählen Sie für SSHPrivate Key den privaten Schlüssel aus oder geben Sie SSH ihn ein.

  8. Wählen Sie Connect aus.

  9. Führen Sie Ihre Dateiübertragung durch.

    Führen Sie nun – abhängig von der Position der Dateien – einen der folgenden Schritte durch:

    • Wählen Sie in Ihrem lokalen Verzeichnis (der Quelle) die Dateien aus, die Sie übertragen möchten, und ziehen Sie sie per Drag & Drop in das Amazon S3 S3-Verzeichnis (das Ziel).

    • Wählen Sie im Amazon S3 S3-Verzeichnis (der Quelle) die Dateien aus, die Sie übertragen möchten, und ziehen Sie sie per Drag & Drop in Ihr lokales Verzeichnis (das Ziel).

Verwenden FileZilla

Verwenden Sie die folgenden Anweisungen, um Dateien mit zu übertragen FileZilla.

Um eine Dateiübertragung einzurichten FileZilla
  1. Öffnen Sie den FileZilla Client.

  2. Wählen Sie „Datei“ und anschließend „Site-Manager“.

  3. Wählen Sie im Dialogfeld „Site-Manager“ die Option „Neue Site“ aus.

  4. Wählen Sie auf der Registerkarte Allgemein für Protokoll ein Protokoll aus: SFTPoder FTP.

    Wenn Sie sich für Verschlüsselung entschieden habenFTP, wählen Sie eine der folgenden Optionen:

    • Verwenden Sie nur Plain FTP (unsicher) — für FTP

    • Verwenden Sie explizites FTP OverTLS, falls verfügbar — für FTPS

  5. Geben Sie als Hostname das Protokoll ein, das Sie verwenden, gefolgt von Ihrem Serverendpunkt. Der Serverendpunkt befindet sich auf der Seite mit den Serverdetails. Weitere Informationen finden Sie unter SFTPFTPServerdetails FTPS anzeigen und.

    Anmerkung

    Wenn Ihr Server einen VPC Endpunkt verwendet, finden Sie weitere Informationen unterFinden Sie Ihren VPC Amazon-Endpunkt.

    • Wenn Sie verwendenSFTP, geben Sie Folgendes ein: sftp://hostname

    • Wenn Sie verwendenFTPS, geben Sie ein: ftps://hostname

    Stellen Sie sicher, dass Sie es ersetzen hostname mit Ihrem tatsächlichen Serverendpunkt.

  6. Geben Sie als Portnummer Folgendes ein:

    • 22 für SFTP

    • 21fürFTP/FTPS

  7. Falls SFTP ausgewählt, wählen Sie für Anmeldetyp die Option Schlüsseldatei aus.

    Wählen Sie für Schlüsseldatei den SSH privaten Schlüssel aus, oder geben Sie ihn ein.

  8. Geben Sie unter Benutzer den Namen des Benutzers ein, den Sie in erstellt habenBenutzer für Serverendpunkte verwalten.

  9. Wählen Sie Connect aus.

  10. Führen Sie Ihre Dateiübertragung durch.

    Anmerkung

    Wenn Sie eine laufende Dateiübertragung unterbrechen, wird AWS Transfer Family möglicherweise ein Teilobjekt in Ihren Amazon S3 S3-Bucket geschrieben. Wenn Sie einen Upload unterbrechen, überprüfen Sie, ob die Dateigröße im Amazon S3 S3-Bucket der Dateigröße des Quellobjekts entspricht, bevor Sie fortfahren.

Verwenden Sie einen Perl-Client

Wenn Sie den NET::SFTP::Foreign Perl-Client verwenden, müssen Sie den queue_size Wert auf setzen. 1 Beispielsweise:

my $sftp = Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com', queue_size => 1);

Verarbeitung nach dem Upload

Sie können Verarbeitungsinformationen nach dem Upload anzeigen, einschließlich Amazon S3 S3-Objektmetadaten und Ereignisbenachrichtigungen.

Amazon S3 S3-Objektmetadaten

Als Teil der Metadaten Ihres Objekts sehen Sie einen Schlüssel namens x-amz-meta-user-agent Wessen Wert ist AWSTransfer und x-amz-meta-user-agent-id Wessen Wert istusername@server-id. Der username ist der Transfer Family Family-Benutzer, der die Datei hochgeladen hat, und server-id ist der Server, der für den Upload verwendet wurde. Auf diese Informationen kann mithilfe der HeadObjectOperation für das S3-Objekt in Ihrer Lambda-Funktion zugegriffen werden.

Amazon-S3-Ereignis-Benachrichtigungen

Wenn ein Objekt mit Transfer Family in Ihren S3-Bucket hochgeladen RoleSessionName wird, ist es im Feld Requester in der S3-Ereignisbenachrichtigungsstruktur als [AWS:Role Unique Identifier]/username.sessionid@server-id enthalten. Im Folgenden finden Sie beispielsweise den Inhalt eines Beispielfeldes „Requester“ aus einem S3-Zugriffsprotokoll für eine Datei, die in den S3-Bucket kopiert wurde.

arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id

Im Feld Anforderer oben wird die aufgerufene IAM Rolle angezeigt. IamRoleName Weitere Informationen zur Konfiguration von S3-Ereignisbenachrichtigungen finden Sie unter Konfiguration von Amazon S3 S3-Ereignisbenachrichtigungen im Amazon Simple Storage Service Developer Guide. Weitere Informationen zu eindeutigen Rollen-Identifikatoren AWS Identity and Access Management (IAM) finden Sie unter Eindeutige Identifikatoren im AWS Identity and Access Management Benutzerhandbuch.