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.
SFTP-Konnektoren einrichten und verwenden
Der Zweck eines Connectors besteht darin, eine Beziehung zwischen Ihrem AWS Speicher und dem SFTP-Server eines Partners herzustellen. Sie können Dateien von Amazon S3 an ein externes, partnereigenes Ziel senden. Sie können auch einen SFTP-Connector verwenden, um Dateien vom SFTP-Server eines Partners abzurufen.
Dieses Tutorial zeigt, wie Sie einen SFTP-Connector mit den Ausgangstypen Service Managed und VPC_LATTICE einrichten und anschließend Dateien zwischen Amazon S3 S3-Speicher und einem SFTP-Server übertragen.
Ein SFTP-Connector ruft SFTP-Anmeldeinformationen ab, um sich bei einem Remote-SFTP-Server AWS Secrets Manager zu authentifizieren und eine Verbindung herzustellen. Der Connector sendet Dateien an den Remote-Server oder ruft Dateien vom Remote-Server ab und speichert die Dateien in Amazon S3. Sie können zwischen Service Managed Egress (mithilfe AWS verwalteter Infrastruktur) oder VPC-Egress (Routing durch Ihre VPC mithilfe von Cross-VPC Resource Access) wählen. Eine IAM-Rolle wird verwendet, um den Zugriff auf den Amazon S3 S3-Bucket und auf die in Secrets Manager gespeicherten Anmeldeinformationen zu ermöglichen. Und Sie können sich bei Amazon anmelden CloudWatch.
Der folgende Blogbeitrag bietet eine Referenzarchitektur für die Erstellung eines MFT-Workflows mithilfe von SFTP-Konnektoren, einschließlich der Verschlüsselung von Dateien mit PGP, bevor sie mithilfe von SFTP-Konnektoren an einen Remote-SFTP-Server gesendet werden: Architektur sicherer und richtlinienkonformer verwalteter Dateiübertragungen mit SFTP-Konnektoren und PGP-Verschlüsselung
Ausgangstypen für Konnektoren
SFTP-Konnektoren unterstützen zwei Ausgangstypen, die bestimmen, wie Ihr Connector den Datenverkehr an Remote-SFTP-Server weiterleitet:
-
SERVICE_MANAGED (Standard): Verwendet die von AWS Transfer Family verwaltete Infrastruktur mit statischen IP-Adressen für ausgehende Verbindungen.
-
VPC: Leitet den Datenverkehr mithilfe von Cross-VPC Resource Access durch Ihre VPC weiter und ermöglicht so private Endpunktkonnektivität und die Verwendung Ihrer eigenen NAT-Gateways.
Dieses Tutorial behandelt beide Ausgangstypen. Wählen Sie den VPC-Ausgangstyp, wenn Sie:
-
Connect zu privaten SFTP-Servern in Ihrer VPC her (private IP-Adressen)
-
Stellen Sie über Direct Connect oder VPN eine Verbindung zu lokalen SFTP-Servern her
-
Leiten Sie öffentlichen Endpunktverkehr für Sicherheitskontrollen durch Ihre VPC
-
Verwenden Sie Ihre eigenen Elastic IP-Adressen für ausgehende Verbindungen
Themen
Schritt 1: Erstellen Sie die erforderlichen unterstützenden Ressourcen
Sie können SFTP-Konnektoren verwenden, um Dateien zwischen Amazon S3 und einem beliebigen Remote-SFTP-Server zu kopieren. Für dieses Tutorial verwenden wir einen AWS Transfer Family Server als Remote-SFTP-Server. Wir müssen die folgenden Ressourcen erstellen und konfigurieren:
-
Erstellen Sie Amazon S3 S3-Buckets, um Dateien in Ihrer AWS Umgebung zu speichern und Dateien vom Remote-SFTP-Server zu senden und abzurufen:. Amazon S3 S3-Buckets erstellen
-
Erstellen Sie eine AWS Identity and Access Management Rolle für den Zugriff auf Amazon S3 S3-Speicher und unser Geheimnis in Secrets Manager:Erstellen Sie eine IAM-Rolle mit den erforderlichen Berechtigungen.
-
Erstellen Sie einen Transfer Family Family-Server, der das SFTP-Protokoll verwendet, und einen vom Dienst verwalteten Benutzer, der den SFTP-Connector verwendet, um Dateien zum oder vom SFTP-Server zu übertragen:. Erstellen Sie einen Transfer Family SFTP-Server und einen Benutzer
-
Erstellen Sie ein AWS Secrets Manager Geheimnis, das die Anmeldeinformationen speichert, die der SFTP-Connector für die Anmeldung am Remote-SFTP-Server verwendet:. Erstellen und speichern Sie ein Geheimnis in AWS Secrets Manager
Für VPC-Ausgangsanschlüsse benötigen Sie außerdem:
-
Eine VPC mit entsprechenden Subnetzen und Sicherheitsgruppen
-
Ein Resource Gateway (mindestens 2 Availability Zones erforderlich):. Erstellen Sie ein Resource Gateway (nur VPC-Ausgangstyp)
-
Eine Ressourcenkonfiguration, die auf Ihren SFTP-Server verweist:Erstellen Sie eine Ressourcenkonfiguration (nur VPC-Ausgangstyp). Weitere Informationen finden Sie unter Ressourcenkonfigurationen im Benutzerhandbuch für Amazon VPC Lattice.
Amazon S3 S3-Buckets erstellen
So erstellen Sie einen Amazon-S3-Bucket
-
Melden Sie sich bei der AWS Transfer Family Konsole an unter https://console.aws.amazon.com/s3/
. -
Wählen Sie eine Region und geben Sie einen Namen ein.
In diesem Tutorial ist unser Bucket
US East (N. Virginia) us-east-1dabei und der Name lautetsftp-server-storage-east. -
Akzeptieren Sie die Standardeinstellungen und wählen Sie Create Bucket.
Vollständige Informationen zum Erstellen von Amazon S3 S3-Buckets finden Sie unter Wie erstelle ich einen S3-Bucket? im Amazon Simple Storage Service-Benutzerhandbuch.
Erstellen Sie eine IAM-Rolle mit den erforderlichen Berechtigungen
Erstellen Sie für die Zugriffsrolle eine Richtlinie mit den folgenden Berechtigungen.
Ersetzen Sie Elemente wie folgt:
-
Für
amzn-s3-demo-bucketverwendet das Tutorialsftp-server-storage-east. -
Für
regionverwendet das Tutorialus-east-1. -
Verwenden
account-idSie für Ihre AWS-Konto ID. -
Denn
SecretName-6RandomCharacterswir sindusing sftp-connector1für den Namen (Sie werden Ihre eigenen sechs zufälligen Zeichen für Ihr Geheimnis haben).
Sie müssen außerdem sicherstellen, dass diese Rolle eine Vertrauensstellung beinhaltet, die es dem Connector ermöglicht, auf Ihre Ressourcen zuzugreifen, wenn er Übertragungsanfragen Ihrer Benutzer bearbeitet. Einzelheiten zum Aufbau einer Vertrauensbeziehung finden Sie unterSo stellen Sie eine Vertrauensbeziehung her.
Anmerkung
Einzelheiten zu der Rolle, die wir für das Tutorial verwenden, finden Sie unterKombinierte Benutzer- und Zugriffsrolle.
Erstellen und speichern Sie ein Geheimnis in AWS Secrets Manager
Wir müssen ein Geheimnis in Secrets Manager speichern, um Benutzeranmeldeinformationen für Ihren SFTP-Connector zu speichern. Sie können ein Passwort, einen privaten SSH-Schlüssel oder beides verwenden. Für das Tutorial verwenden wir einen privaten Schlüssel.
Anmerkung
Wenn Sie Geheimnisse im Secrets Manager speichern, AWS-Konto fallen Gebühren an. Informationen zu den Preisen erhalten Sie unter AWS Secrets Manager Preise
Bevor Sie mit dem Verfahren zum Speichern des Geheimnisses beginnen, müssen Sie Ihren privaten Schlüssel abrufen und formatieren. Der private Schlüssel muss dem öffentlichen Schlüssel entsprechen, der für den Benutzer auf dem Remote-SFTP-Server konfiguriert ist. Für unser Tutorial muss der private Schlüssel dem öffentlichen Schlüssel entsprechen, der für unseren Testbenutzer auf dem Transfer Family SFTP-Server gespeichert ist, den wir als Remote-Server verwenden.
Führen Sie dazu den folgenden Befehl aus:
jq -sR .path-to-private-key-file
Wenn sich Ihre private Schlüsseldatei beispielsweise in befindet~/.ssh/sftp-testuser-privatekey, lautet der Befehl wie folgt.
jq -sR . ~/.ssh/sftp-testuser-privatekey
Dadurch wird der Schlüssel im richtigen Format (mit eingebetteten Zeilenumbruchzeichen) in die Standardausgabe ausgegeben. Kopieren Sie diesen Text irgendwo, da Sie ihn im folgenden Verfahren (in Schritt 6) einfügen müssen.
Um Benutzeranmeldeinformationen in Secrets Manager für einen SFTP-Connector zu speichern
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Secrets Manager Konsole unter https://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie im linken Navigationsbereich Secrets aus.
-
Wählen Sie auf der Seite Secrets die Option Neues Geheimnis speichern aus.
-
Wählen Sie auf der Seite Geheimtyp auswählen für Geheimtyp die Option Anderer Geheimtyp aus.
-
Wählen Sie im Abschnitt Schlüssel/Wert-Paare die Registerkarte Schlüssel/Wert aus.
-
Schlüssel — Geben Sie ein.
Username -
Wert — Geben Sie den Namen unseres Benutzers ein,
sftp-testuser.
-
-
Um den Schlüssel einzugeben, empfehlen wir, die Registerkarte Klartext zu verwenden.
-
Wählen Sie Zeile hinzufügen und geben Sie dann die Eingabetaste ein
PrivateKey. -
Wählen Sie die Registerkarte Klartext. Das Feld enthält jetzt den folgenden Text:
{"Username":"sftp-testuser","PrivateKey":""} -
Fügen Sie den Text für Ihren privaten Schlüssel (zuvor gespeichert) zwischen den leeren doppelten Anführungszeichen („“) ein.
Ihr Bildschirm sollte wie folgt aussehen (Schlüsseldaten sind ausgegraut).
-
-
Wählen Sie Weiter aus.
-
Geben Sie auf der Seite Geheim konfigurieren einen Namen für Ihr Geheimnis ein. In diesem Tutorial geben wir dem Geheimnis einen Namen
aws/transfer/sftp-connector1. -
Wählen Sie Weiter und akzeptieren Sie dann die Standardeinstellungen auf der Seite „Rotation konfigurieren“. Klicken Sie anschließend auf Weiter.
-
Wählen Sie auf der Seite „Überprüfen“ die Option Speichern aus, um das Geheimnis zu erstellen und zu speichern.
Erstellen Sie ein Resource Gateway (nur VPC-Ausgangstyp)
Für VPC-Egress-Connectors müssen Sie in Ihrer VPC ein Resource Gateway erstellen. Das Resource Gateway dient als Einstiegspunkt für den VPC-übergreifenden Ressourcenzugriff.
Um ein Resource Gateway zu erstellen
-
Führen Sie den folgenden Befehl aus, um ein Resource Gateway zu erstellen (ersetzen Sie die VPC-ID und das Subnetz IDs durch Ihre Werte):
aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321Anmerkung
Resource Gateways benötigen Subnetze in mindestens 2 Availability Zones.
-
Notieren Sie sich die Resource Gateway-ID aus der Antwort, um sie im nächsten Schritt zu verwenden.
Erstellen Sie eine Ressourcenkonfiguration (nur VPC-Ausgangstyp)
Erstellen Sie eine Ressourcenkonfiguration, die auf Ihren SFTP-Server verweist. Dies kann eine private IP-Adresse für Server in Ihrer VPC oder ein öffentlicher DNS-Name für externe Server sein. Weitere Informationen zu Ressourcenkonfigurationen finden Sie unter Ressourcenkonfigurationen im Amazon VPC Lattice-Benutzerhandbuch.
Um eine Ressourcenkonfiguration zu erstellen
-
Führen Sie für einen privaten SFTP-Server Folgendes aus:
aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} -
Führen Sie für einen öffentlichen SFTP-Server (nur DNS-Name) Folgendes aus:
aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}Anmerkung
Öffentliche Endpunkte müssen DNS-Namen verwenden, keine IP-Adressen.
-
Notieren Sie sich den ARN für die Ressourcenkonfiguration aus der Antwort, der beim Erstellen des Connectors verwendet werden soll.
Schritt 2: Erstellen und testen Sie einen SFTP-Connector
In diesem Abschnitt erstellen wir einen SFTP-Connector, der alle Ressourcen verwendet, die wir zuvor erstellt haben. Weitere Details finden Sie unter SFTP-Konnektoren erstellen.
Um einen SFTP-Connector zu erstellen
-
Öffnen Sie die AWS Transfer Family Konsole unter. https://console.aws.amazon.com/transfer/
-
Wählen Sie im linken Navigationsbereich SFTP-Connectors und anschließend Create SFTP-Connector aus.
-
Wählen Sie als Ausgangstyp eine der folgenden Optionen aus:
-
Service managed (Standard): Verwendet die von AWS Transfer Family verwaltete Infrastruktur mit statischen IP-Adressen für ausgehende Verbindungen.
-
VPC Lattice: Leitet den Datenverkehr mithilfe von Cross-VPC Resource Access durch Ihre VPC weiter. Wählen Sie diese Option für private Endpunktkonnektivität oder um Ihre eigenen NAT-Gateways zu verwenden.
Wichtig
Sie können den Ausgangstyp nicht ändern, nachdem Sie den Connector erstellt haben. Wählen Sie sorgfältig auf der Grundlage Ihrer Konnektivitätsanforderungen.
-
-
Geben Sie im Abschnitt Connector-Konfiguration die folgenden Informationen an:
-
Geben Sie für die URL die URL des Remote-SFTP-Servers ein. Für das Tutorial geben wir die URL des Transfer Family Family-Servers ein, den wir als Remote-SFTP-Server verwenden.
sftp://s-1111aaaa2222bbbb3.server---transfer---us-east-1.amazonaws.com.rproxy.govskope.ca1111aaaa2222bbbb3Ersetzen Sie es durch Ihre Transfer Family Family-Server-ID. -
Geben Sie für die Access-Rolle die Rolle ein, die wir zuvor erstellt haben
sftp-connector-role. -
Geben Sie für Resource Configuration ARN (nur VPC Lattice Egress Type) den ARN der Ressourcenkonfiguration ein, die Sie zuvor erstellt haben:
arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678 -
Wählen Sie für die Rolle „Logging“ eine Rolle aus, die
transfer.amazonaws.com.rproxy.govskope.caim Principal-Element eine Vertrauensrichtlinie enthält.Tipp: Sie können Transfer Family nicht nur als vertrauenswürdige Entität hinzufügen, sondern auch die AWSTransferLoggingAccess AWS verwaltete Richtlinie zur Rolle hinzufügen. Diese Richtlinie wird ausführlich unter beschrieben AWSTransferLoggingAccess.
-
-
Geben Sie im Abschnitt SFTP-Konfiguration die folgenden Informationen ein:
-
Wählen Sie für Connector-Anmeldeinformationen den Namen Ihrer Secrets Manager Manager-Ressource, die SFTP-Anmeldeinformationen enthält. Für das Tutorial wählen
aws/transfer/sftp-connector1Sie. -
Fügen Sie für vertrauenswürdige Hostschlüssel den öffentlichen Teil des Hostschlüssels ein. Sie können diesen Schlüssel abrufen, indem Sie ihn
ssh-keyscanfür Ihren SFTP-Server ausführen. Einzelheiten zum Formatieren und Speichern des vertrauenswürdigen Host-Schlüssels finden Sie in der Dokumentation zum SftpConnectorConfigDatentyp. -
Wählen Sie für Maximale Anzahl gleichzeitiger Verbindungen einen Ganzzahlwert zwischen 1 und 5 aus: Der Standardwert ist 5.
-
-
Nachdem Sie alle Ihre Einstellungen bestätigt haben, wählen Sie Connector erstellen, um den SFTP-Connector zu erstellen.
Sie können Konnektoren auch mit dem AWS Command Line Interface erstellen.
-
Führen Sie den folgenden Befehl aus, um einen SFTP-Connector mit vom Service verwaltetem Ausgang zu erstellen:
aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." -
Führen Sie den folgenden Befehl aus, um einen SFTP-Connector mit VPC-basiertem Ausgang zu erstellen:
aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}
Nachdem Sie einen SFTP-Connector erstellt haben, empfehlen wir, ihn zu testen, bevor Sie versuchen, Dateien mit Ihrem neuen Connector zu übertragen.
Anmerkung
Bei VPC-Ausgangsverbindern kann die DNS-Auflösung nach der Erstellung mehrere Minuten dauern. Während dieser Zeit wird der Connector-Status „Connector not available“ (Konnektor nicht verfügbar) TestConnection angezeigt PENDING und auch wieder angezeigt. Warten Sie, bis der Status erreicht ist, ACTIVE bevor Sie versuchen, Dateien zu übertragen.
Wenn Sie einen VPC-Ausgangsconnector beschreiben, enthält die Antwort die neuen Felder:
{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }
Beachten Sie, dass dieser Wert für VPC-Ausgangs-Connectors Null ServiceManagedEgressIpAddresses ist, da der Datenverkehr über Ihre VPC und nicht über die verwaltete Infrastruktur geleitet wird. AWS
Schritt 3: Senden und Abrufen von Dateien mithilfe des SFTP-Connectors
Der Einfachheit halber gehen wir davon aus, dass Sie bereits Dateien in Ihrem Amazon S3 S3-Bucket haben.
Anmerkung
Das Tutorial verwendet Amazon S3 S3-Buckets sowohl für Quell- als auch für Zielspeicherorte. Wenn Ihr SFTP-Server keinen Amazon S3 S3-Speicher verwendet, können Sie, wo immer Sie sftp-server-storage-east in den folgenden Befehlen sehen, den Pfad durch einen Pfad zu Dateispeicherorten ersetzen, auf die von Ihrem SFTP-Server aus zugegriffen werden kann.
-
Wir senden eine
SEND-to-SERVER.txtvom Amazon S3 S3-Speicher benannte Datei an den SFTP-Server. -
Wir rufen eine Datei mit dem Namen
RETRIEVE-to-S3.txtvom SFTP-Server in den Amazon S3 S3-Speicher ab.
Anmerkung
Ersetzen Sie die Befehle in den folgenden Befehlen connector-id durch Ihre Connector-ID.
Zunächst senden wir eine Datei von unserem Amazon S3 S3-Bucket an den Remote-SFTP-Server. Führen Sie in einer Befehlszeile den folgenden Befehl aus:
aws transfer start-file-transfer --connector-id c-connector-id--send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"
Ihr sftp-server-storage-east Bucket sollte jetzt so aussehen.
Wenn Sie die Datei nicht wie erwartet sehen, überprüfen Sie Ihre CloudWatch Protokolle.
Um deine CloudWatch Logs zu überprüfen
-
Öffnen Sie die CloudWatch Amazon-Konsole unter https://console.aws.amazon.com/cloudwatch/
-
Wählen Sie im linken Navigationsmenü Protokollgruppen aus.
-
Geben Sie Ihre Connector-ID in die Suchleiste ein, um Ihre Logs zu finden.
-
Wählen Sie den Protokollstream aus, der bei der Suche zurückgegeben wird.
-
Erweitern Sie den neuesten Protokolleintrag.
Bei Erfolg sieht der Protokolleintrag wie folgt aus:
{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }
Wenn die Dateiübertragung fehlgeschlagen ist, enthält der Protokolleintrag eine Fehlermeldung, die das Problem spezifiziert. Häufige Fehlerursachen sind Probleme mit den IAM-Berechtigungen und falsche Dateipfade.
Als Nächstes rufen wir eine Datei vom SFTP-Server in einen Amazon S3-Bucket ab. Führen Sie in einer Befehlszeile den folgenden Befehl aus:
aws transfer start-file-transfer --connector-id c-connector-id--retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"
Wenn die Übertragung erfolgreich ist, enthält Ihr Amazon S3 S3-Bucket die übertragene Datei, wie hier gezeigt.
Bei Erfolg sieht der Protokolleintrag wie folgt aus:
{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }
Fehlerbehebung bei VPC-Ausgangssteckern
Wenn Sie Probleme mit VPC-Ausgangsverbindern haben, überprüfen Sie Folgendes:
-
Der Connector-Status ist AUSSTEHEND: Die DNS-Auflösung für VPC-Connectoren kann mehrere Minuten dauern. Warten Sie, bis der Status AKTIV wird, bevor Sie versuchen, Verbindungen herzustellen.
-
Verbindungstimeouts: Stellen Sie sicher, dass Sicherheitsgruppen Datenverkehr auf Port 22 zwischen Ihren Resource Gateway-Subnetzen und dem Ziel-SFTP-Server zulassen.
-
Fehler bei der Ressourcenkonfiguration: Stellen Sie sicher, dass Ihre Ressourcenkonfiguration auf die richtige IP-Adresse oder den richtigen DNS-Namen verweist und dass sich das Resource Gateway in derselben VPC wie Ihr SFTP-Server befindet (für private Endpunkte). Weitere Informationen finden Sie unter Ressourcenkonfigurationen im Benutzerhandbuch für Amazon VPC Lattice.
-
Probleme mit öffentlichen Endpunkten: Stellen Sie bei öffentlichen Endpunkten sicher, dass Sie in Ihrer Ressourcenkonfiguration einen DNS-Namen und keine IP-Adresse verwenden. Stellen Sie sicher, dass Ihre VPC über ein NAT-Gateway für ausgehenden Internetzugang verfügt.
-
AZ-Verfügbarkeit: Resource Gateways benötigen Subnetze in mindestens 2 Availability Zones. Nicht alle AZs unterstützen VPC Lattice — überprüfen Sie, welche Unterstützung AZs in Ihrer Region unterstützt wird.
Überlegungen zu den Kosten für den VPC-Ausgangstyp:
-
VPC Lattice berechnet als Ressourcenanbieter 0,006 USD/GB für die Datenverarbeitung (direkt von VPC Lattice in Rechnung gestellt)
-
AWS Transfer Family übernimmt die Kosten für den Ressourcenverbrauch von 0,01 USD/GB (erstes 1 PB)
-
Für öffentliche Endpunkte über VPC können zusätzliche NAT-Gateway- und Datenübertragungsgebühren anfallen
-
Keine zusätzlichen Transfer Family Family-Gebühren, die über die standardmäßige Datenverarbeitungsgebühr von 0,40 USD pro GB hinausgehen
Verfahren zum Erstellen eines Transfer Family Family-Servers, der als Remote-SFTP-Server verwendet werden kann
Im Folgenden beschreiben wir die Schritte zum Erstellen eines Transfer Family Family-Servers, der als Remote-SFTP-Server für dieses Tutorial dient. Beachten Sie Folgendes:
-
Wir verwenden einen Transfer Family Family-Server, um einen Remote-SFTP-Server darzustellen. Typische Benutzer von SFTP-Connectoren haben ihren eigenen Remote-SFTP-Server. Siehe Erstellen Sie einen Transfer Family SFTP-Server und einen Benutzer.
-
Da wir einen Transfer Family Family-Server verwenden, verwenden wir auch einen vom Service verwalteten SFTP-Benutzer. Der Einfachheit halber haben wir die Berechtigungen, die dieser Benutzer für den Zugriff auf den Transfer Family Family-Server benötigt, mit den Berechtigungen kombiniert, die er für die Verwendung unseres Connectors benötigt. Auch hier haben die meisten Anwendungsfälle für SFTP-Connectoren einen separaten SFTP-Benutzer, der keinem Transfer Family Family-Server zugeordnet ist. Siehe Erstellen Sie einen Transfer Family SFTP-Server und einen Benutzer.
-
Da wir Amazon S3-Speicher für unseren Remote-SFTP-Server verwenden, müssen wir für das Tutorial einen zweiten Bucket erstellen
sftp-server-storage-east, damit wir Dateien von einem Bucket in einen anderen übertragen können.
Erstellen Sie einen Transfer Family SFTP-Server und einen Benutzer
Die meisten Benutzer müssen keinen Transfer Family Family-SFTP-Server und keinen Benutzer erstellen, da Sie bereits über einen SFTP-Server mit Benutzern verfügen und diesen Server verwenden können, um Dateien von und zu übertragen. In diesem Tutorial verwenden wir der Einfachheit halber jedoch einen Transfer Family Family-Server, der als Remote-SFTP-Server fungiert.
Folgen Sie dem unter Erstellen Sie einen SFTP-fähigen Server Erstellen eines Servers und Schritt 3: Fügen Sie einen vom Service verwalteten Benutzer hinzu Hinzufügen eines Benutzers beschriebenen Verfahren. Dies sind die Benutzerdetails, die wir für das Tutorial verwenden:
-
Erstellen Sie Ihren vom Service verwalteten Benutzer,
sftp-testuser.-
Stellen Sie das Home-Verzeichnis ein auf
/sftp-server-storage-east/sftp-testuser -
Wenn Sie den Benutzer erstellen, speichern Sie einen öffentlichen Schlüssel. Später, wenn Sie das Geheimnis in Secrets Manager erstellen, müssen Sie den entsprechenden privaten Schlüssel angeben.
-
-
Rolle:
sftp-connector-role. Für das Tutorial verwenden wir dieselbe IAM-Rolle sowohl für unseren SFTP-Benutzer als auch für den Zugriff auf den SFTP-Connector. Wenn Sie Konnektoren für Ihre Organisation erstellen, haben Sie möglicherweise separate Benutzer- und Zugriffsrollen. -
Server-Hostschlüssel: Sie müssen den Server-Hostschlüssel verwenden, wenn Sie den Connector erstellen. Sie können diesen Schlüssel abrufen, indem Sie ihn
ssh-keyscanfür Ihren Server ausführen. Wenn Ihre Server-ID beispielsweise lautets-1111aaaa2222bbbb3und ihr Endpunkt in istus-east-1, ruft der folgende Befehl den Server-Host-Schlüssel ab:ssh-keyscan s-1111aaaa2222bbbb3---server---transfer---us-east-1.amazonaws.com.rproxy.govskope.caKopieren Sie diesen Text irgendwo, da Sie ihn in die Schritt 2: Erstellen und testen Sie einen SFTP-Connector Prozedur einfügen müssen.
Kombinierte Benutzer- und Zugriffsrolle
Für das Tutorial verwenden wir eine einzelne, kombinierte Rolle. Wir verwenden diese Rolle sowohl für unseren SFTP-Benutzer als auch für den Zugriff auf den Connector. Das folgende Beispiel enthält die Details für diese Rolle, falls Sie die Aufgaben im Tutorial ausführen möchten.
Das folgende Beispiel gewährt die erforderlichen Berechtigungen für den Zugriff auf unsere beiden Buckets in Amazon S3 und das Secret namens, das in Secrets Manager aws/transfer/sftp-connector1 gespeichert ist. Für das Tutorial wird diese Rolle benanntsftp-connector-role.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }
Vollständige Informationen zum Erstellen von Rollen für Transfer Family finden Sie unter Eine Benutzerrolle erstellen So erstellen Sie eine Rolle.