View a markdown version of this page

Erstellen Sie einen SFTP-Connector mit Ausgang VPC-based - 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.

Erstellen Sie einen SFTP-Connector mit Ausgang VPC-based

Dieses Thema enthält schrittweise Anweisungen zum Erstellen von SFTP-Connectors mit VPC-Konnektivität. LATTICE-enabled VPC_-Connectors verwenden Amazon VPC Lattice, um den Datenverkehr durch Ihre Virtual Private Cloud zu leiten und so sichere Verbindungen zu privaten Endpunkten zu ermöglichen oder Ihre eigenen NAT-Gateways für den Internetzugang zu verwenden.

Wann sollte VPC-Konnektivität verwendet werden

Verwenden Sie in diesen Szenarien VPC-Konnektivität für SFTP-Konnektoren:

  • Private SFTP-Server: Stellen Sie eine Verbindung zu SFTP-Servern her, auf die nur von Ihrer VPC aus zugegriffen werden kann.

  • On-premises Konnektivität: Stellen Sie über AWS Direct Connect- oder VPN-Verbindungen eine Verbindung zu lokalen SFTP-Servern her. AWS Site-to-Site

  • Benutzerdefinierte IP-Adressen: Verwenden Sie Ihre eigenen NAT-Gateways und Elastic IP-Adressen, einschließlich BYOIP-Szenarien.

  • Zentralisierte Sicherheitskontrollen: Leiten Sie Dateiübertragungen über die zentralen Steuerungen Ihres Unternehmens weiter. ingress/egress

Architekturdiagramm, das den VPC-based ausgehenden Datenverkehr für SFTP-Connectoren zeigt und veranschaulicht, wie Cross-VPC Resource Access sichere Verbindungen über Ihre Virtual Private Cloud ermöglicht.

Voraussetzungen für VPC_-SFTP-Konnektoren LATTICE-enabled

Bevor Sie einen LATTICE-enabled VPC_-SFTP-Connector erstellen, müssen Sie die folgenden Voraussetzungen erfüllen:

So funktioniert Konnektivität VPC-based

Mit VPC Lattice können Sie VPC-Ressourcen sicher mit anderen Diensten teilen. AWS AWS Transfer Family verwendet ein Servicenetzwerk, um den Prozess der gemeinsamen Nutzung von Ressourcen zu vereinfachen. Die wichtigsten Komponenten sind:

  • Resource Gateway: Dient als Zugangspunkt zu Ihrer VPC. Sie erstellen dies in Ihrer VPC mit mindestens zwei Availability Zones.

  • Ressourcenkonfiguration: Enthält die private IP-Adresse oder den öffentlichen DNS-Namen des SFTP-Servers, zu dem Sie eine Verbindung herstellen möchten.

Wenn Sie einen LATTICE-enabled VPC_-Connector erstellen, AWS Transfer Family verwendet Forward Access Session (FAS), um vorübergehend Ihre Anmeldeinformationen abzurufen und Ihre Ressourcenkonfiguration mit unserem Servicenetzwerk zu verknüpfen.

Erforderliche Einrichtungsschritte

  1. VPC-Infrastruktur: Stellen Sie sicher, dass Sie über eine ordnungsgemäß konfigurierte VPC mit den erforderlichen Subnetzen, Routing-Tabellen und Sicherheitsgruppen für Ihre SFTP-Serverkonnektivitätsanforderungen verfügen.

  2. Resource Gateway: Erstellen Sie mit dem Befehl VPC Lattice ein Resource Gateway in Ihrer VPC. create-resource-gateway Das Resource Gateway muss Subnetzen in mindestens zwei Availability Zones zugeordnet sein. Weitere Informationen finden Sie unter Resource Gateways im Amazon VPC Lattice-Benutzerhandbuch.

  3. Ressourcenkonfiguration: Erstellen Sie mit dem Befehl VPC Lattice eine Ressourcenkonfiguration, die den Ziel-SFTP-Server darstellt. create-resource-configuration Sie können entweder angeben:

    • Eine private IP-Adresse für private Endpunkte

    • Ein öffentlicher DNS-Name für öffentliche Endpunkte (IP-Adressen werden für öffentliche Endpunkte nicht unterstützt)

  4. Anmeldeinformationen für die Authentifizierung: Speichern Sie die SFTP-Benutzeranmeldeinformationen AWS Secrets Manager wie unter beschrieben. Speichern Sie die Anmeldeinformationen für SFTP-Konnektoren in Secrets Manager

Wichtig

Das Resource Gateway und die Ressourcenkonfiguration müssen im selben AWS Konto erstellt werden. Wenn Sie eine Ressourcenkonfiguration erstellen, müssen Sie zunächst ein Resource Gateway einrichten.

Weitere Informationen zu VPC-Ressourcenkonfigurationen finden Sie unter Ressourcenkonfigurationen im Amazon VPC Lattice-Benutzerhandbuch.

Anmerkung

VPC-Konnektivität für SFTP-Connectors ist dort verfügbar, AWS-Regionen wo Amazon VPC Lattice-Ressourcen verfügbar sind. Weitere Informationen finden Sie unter Häufig gestellte Fragen zu VPC Lattice. Die Unterstützung für Availability Zones ist je nach Region unterschiedlich, und Resource Gateways erfordern mindestens zwei Availability Zones.

Erstellen Sie einen LATTICE-enabled VPC_-SFTP-Connector

Nachdem Sie die Voraussetzungen erfüllt haben, können Sie mithilfe der AWS Management Console oder der SDKs einen SFTP-Connector mit VPC-Konnektivität erstellen. AWS CLI AWS

Console
So erstellen Sie einen VPC_-SFTP-Connector LATTICE-enabled
  1. Öffnen Sie die Konsole unter AWS Transfer Family . https://console.aws.amazon.com/transfer/

  2. Wählen Sie im linken Navigationsbereich SFTP-Connectors und dann SFTP-Connector erstellen aus.

  3. Wählen Sie im Abschnitt Connector-Konfiguration als Ausgangstyp die Option VPC Lattice aus.

    Diese Option leitet den Datenverkehr mithilfe von Amazon VPC Lattice für den VPC-übergreifenden Ressourcenzugriff durch Ihre VPC weiter. Sie können diese Option verwenden, um eine Verbindung zu privat gehosteten Serverendpunkten herzustellen, den Datenverkehr durch die Sicherheitskontrollen Ihrer VPC zu leiten oder Ihre eigenen NAT-Gateways und Elastic IP-Adressen zu verwenden. Die Adresse des Remote-SFTP-Servers wird in Ihrer VPC als Ressourcenkonfiguration dargestellt. Weitere Informationen zu Ressourcenkonfigurationen finden Sie unter Ressourcenkonfigurationen für VPC-Ressourcen im Amazon VPC Lattice-Benutzerhandbuch.

  4. Vervollständigen Sie die Connector-Konfiguration:

    • Wählen Sie für die Access-Rolle den Amazon-Ressourcennamen (ARN) der zu verwendenden AWS Identity and Access Management (IAM) -Rolle aus.

      • Stellen Sie sicher, dass diese Rolle Lese- und Schreibzugriff auf das übergeordnete Verzeichnis des Dateispeicherorts bietet, der in der StartFileTransfer Anfrage verwendet wird.

      • Stellen Sie sicher, dass diese Rolle die Berechtigung secretsmanager:GetSecretValue zum Zugriff auf das Geheimnis gewährt.

        Anmerkung

        In der Richtlinie müssen Sie den ARN für das Geheimnis angeben. Der ARN enthält den geheimen Namen, fügt dem Namen jedoch sechs zufällige alphanumerische Zeichen hinzu. Ein ARN für ein Geheimnis hat das folgende Format.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Stellen Sie sicher, dass diese Rolle eine Vertrauensbeziehung enthält, die es dem Connector ermöglicht, bei der Bearbeitung der Übertragungsanfragen Ihrer Benutzer auf Ihre Ressourcen zuzugreifen. Einzelheiten zum Aufbau einer Vertrauensbeziehung finden Sie unterSo stellen Sie eine Vertrauensbeziehung her.

      { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      Anmerkung

      Für die Zugriffsrolle gewährt das Beispiel Zugriff auf ein einzelnes Geheimnis. Sie können jedoch ein Platzhalterzeichen verwenden, was Arbeit sparen kann, wenn Sie dieselbe IAM-Rolle für mehrere Benutzer und Geheimnisse wiederverwenden möchten. Die folgende Ressourcenanweisung gewährt beispielsweise Berechtigungen für alle Geheimnisse, deren Namen mit beginnen. aws/transfer

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      Sie können Geheimnisse, die Ihre SFTP-Anmeldeinformationen enthalten, auch in einem anderen AWS-Konto speichern. Einzelheiten zur Aktivierung des kontoübergreifenden geheimen Zugriffs finden Sie unter Berechtigungen für Benutzer in einem anderen Konto auf AWS Secrets Manager geheime Daten.

    • Geben Sie als Resource Configuration ARN den ARN der VPC Lattice Resource Configuration ein, der auf Ihren SFTP-Server verweist:

      arn:aws:vpc-lattice:region:account-id:resourceconfiguration/rcfg-12345678
    • (Optional) Wählen Sie für die Logging-Rolle die IAM-Rolle aus, die der Connector verwenden soll, um Ereignisse in Ihre Protokolle zu übertragen. CloudWatch

      { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*" } ] }
  5. Geben Sie im Abschnitt SFTP-Konfiguration die folgenden Informationen ein:

    • Wählen Sie für Connector-Anmeldeinformationen den Namen eines Geheimnisses AWS Secrets Manager , das den privaten Schlüssel oder das Passwort des SFTP-Benutzers enthält.

    • Fügen Sie bei vertrauenswürdigen Hostschlüsseln den öffentlichen Teil des Hostschlüssels ein, der zur Identifizierung des externen Servers verwendet wird, oder lassen Sie das Feld leer, um ihn später mit dem TestConnection Befehl zu konfigurieren.

      Da dieser Hostschlüssel für einen VPC_LATTICE-Connector bestimmt ist, entfernen Sie den Hostnamen aus dem Schlüssel

    • (Optional) Wählen Sie für Maximale Anzahl gleichzeitiger Verbindungen die Anzahl gleichzeitiger Verbindungen aus, die Ihr Connector zum Remoteserver herstellt (die Standardeinstellung ist 5).

    • (Optional) Geben Sie für Stufen der bestellten geheimen Version eine geordnete Liste von Secrets Manager-Versionsstufen ein. Der Connector versucht, sich bei Dateiübertragungen mit jeder Stufe in der richtigen Reihenfolge zu authentifizieren. Wenn Sie keine Versionsphasen angeben, verwendet der Connector nur dieseAWSCURRENT. Geben Sie beispielsweise anAWSCURRENT, AWSPREVIOUS um das automatische Fallback während der Secret-Rotation zu aktivieren.

  6. Wählen Sie im Abschnitt Optionen für kryptografischen Algorithmus eine Sicherheitsrichtlinie aus der Dropdownliste aus.

  7. (Optional) Fügen Sie im Abschnitt „Tags“ Tags als Schlüssel-Wert-Paare hinzu.

  8. Wählen Sie SFTP-Connector erstellen, um den LATTICE-enabled VPC_-SFTP-Connector zu erstellen.

Der Connector wird mit dem Status erstellt, PENDING während die Ressourcenzuordnung bereitgestellt wird. Dies dauert in der Regel mehrere Minuten. Sobald sich der Status in ändertACTIVE, ist der Connector einsatzbereit.

CLI

Verwenden Sie den folgenden Befehl, um einen LATTICE-enabled VPC_-SFTP-Connector zu erstellen:

aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-secret-id,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-1234567890abcdef0} \ --security-policy-name TransferSecurityPolicy-2024-01

Der Schlüsselparameter für die VPC-Konnektivität ist--egress-config, der den Ressourcen-Konfigurations-ARN angibt, der Ihr SFTP-Serverziel definiert.

Überwachung des VPC-Connector-Status

LATTICE-enabled VPC_-Konnektoren haben einen asynchronen Einrichtungsprozess. Überwachen Sie nach der Erstellung den Konnektorstatus:

  • AUSSTEHEND: Der Connector wird bereitgestellt. Die Bereitstellung des Servicenetzwerks ist im Gange, was in der Regel mehrere Minuten dauert.

  • AKTIV: Der Connector ist einsatzbereit und kann Dateien übertragen.

  • FEHLER: Der Connector konnte nicht bereitgestellt werden. Informationen zur Fehlerbehebung finden Sie in den Fehlerdetails.

Überprüfen Sie den Connector-Status mit dem describe-connector folgenden Befehl:

aws transfer describe-connector --connector-id c-1234567890abcdef0

Im Status PENDING gibt die test-connection API „Connector nicht verfügbar“ zurück, bis die Bereitstellung abgeschlossen ist.

Einschränkungen und Überlegungen

  • Öffentliche Endpunkte: Wenn Sie über VPC eine Verbindung zu öffentlichen Endpunkten herstellen, müssen Sie in der Ressourcenkonfiguration einen DNS-Namen angeben. Öffentliche IP-Adressen werden nicht unterstützt.

  • Regionale Verfügbarkeit: VPC-Konnektivität ist in ausgewählten AWS-Regionen Fällen verfügbar. Cross-region Die gemeinsame Nutzung von Ressourcen wird nicht unterstützt.

  • Anforderungen an die Availability Zone: Resource Gateways müssen Subnetzen in mindestens zwei Availability Zones zugeordnet sein. Nicht alle Availability Zones unterstützen VPC Lattice in jeder Region.

  • Verbindungslimits: Maximal 350 Verbindungen pro Ressource mit einem Leerlaufzeitlimit von 350 Sekunden für TCP-Verbindungen.

Kostenüberlegungen

Es fallen keine zusätzlichen Gebühren an, die über die regulären Servicegebühren AWS Transfer Family hinausgehen. Für Kunden können jedoch zusätzliche Gebühren von Amazon VPC Lattice im Zusammenhang mit der gemeinsamen Nutzung ihrer Amazon Virtual Private Cloud-Ressourcen anfallen. Außerdem können NAT-Gateway-Gebühren anfallen, wenn sie ihre eigenen NAT-Gateways für den Internetausgang verwenden.

Vollständige AWS Transfer Family Preisinformationen finden Sie auf der Preisseite. AWS Transfer Family

Beispiele für VPC-Konnektivität für SFTP-Konnektoren

Dieser Abschnitt enthält Beispiele für die Erstellung von SFTP-Konnektoren mit VPC-Konnektivität für verschiedene Szenarien. Bevor Sie diese Beispiele verwenden, stellen Sie sicher, dass Sie die Einrichtung der VPC-Infrastruktur wie in der VPC-Konnektivitätsdokumentation beschrieben abgeschlossen haben.

Beispiel: Private Endpunktverbindung

Dieses Beispiel zeigt, wie Sie einen SFTP-Connector erstellen, der eine Verbindung zu einem privaten SFTP-Server herstellt, auf den nur von Ihrer VPC aus zugegriffen werden kann.

Voraussetzungen
  1. Erstellen Sie ein Resource Gateway in Ihrer VPC:

    aws vpc-lattice create-resource-gateway \ --name my-private-server-gateway \ --vpc-identifier vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0 subnet-0987654321fedcba0
  2. Erstellen Sie eine Ressourcenkonfiguration für Ihren privaten SFTP-Server:

    aws vpc-lattice create-resource-configuration \ --name my-private-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} \ --port-ranges 22
Erstellen Sie den VPC_-Connector LATTICE-enabled
  1. Erstellen Sie den SFTP-Connector mit VPC-Konnektivität:

    aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-private-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22}
  2. Überwachen Sie den Connector-Status, bis er wie folgt aussieht: ACTIVE

    aws transfer describe-connector --connector-id c-1234567890abcdef0

Der Remote-SFTP-Server erkennt Verbindungen, die von der IP-Adresse des Resource Gateways innerhalb Ihres VPC-CIDR-Bereichs stammen.

Beispiel: Öffentlicher Endpunkt über VPC

Dieses Beispiel zeigt, wie Sie Verbindungen zu einem öffentlichen SFTP-Server über Ihre VPC weiterleiten, um zentrale Sicherheitskontrollen zu nutzen und Ihre eigenen NAT-Gateway-IP-Adressen zu verwenden.

Voraussetzungen
  1. Erstellen Sie ein Resource Gateway in Ihrer VPC (wie im Beispiel für einen privaten Endpunkt).

  2. Erstellen Sie eine Ressourcenkonfiguration für den öffentlichen SFTP-Server unter Verwendung seines DNS-Namens:

    aws vpc-lattice create-resource-configuration \ --name my-public-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"} \ --port-ranges 22
    Anmerkung

    Für öffentliche Endpunkte müssen Sie einen DNS-Namen und keine IP-Adresse verwenden.

Erstellen Sie den Connector
  • Erstellen Sie den SFTP-Connector:

    aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-public-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0987654321fedcba0,PortNumber=22}

Der Datenverkehr fließt vom Connector zu Ihrem Resource Gateway und dann durch Ihr NAT-Gateway, um den öffentlichen SFTP-Server zu erreichen. Der Remote-Server sieht die Elastic IP-Adresse Ihres NAT Gateways als Quelle.

Beispiel: Cross-account privater Endpunkt

Dieses Beispiel zeigt, wie Sie mithilfe der gemeinsamen Nutzung von Ressourcen eine Verbindung zu einem privaten SFTP-Server in einem anderen AWS Konto herstellen.

Anmerkung

Wenn Sie die VPC-übergreifende Ressourcenfreigabe bereits über andere Mechanismen aktiviert haben, z. B. AWS Transit Gateway, müssen Sie die hier beschriebene gemeinsame Nutzung von Ressourcen nicht konfigurieren. Die vorhandenen Routing-Mechanismen, wie z. B. Transit Gateway-Routentabellen, werden automatisch von SFTP-Connectoren verwendet. Sie müssen nur eine Ressourcenkonfiguration in demselben Konto erstellen, in dem Sie den SFTP-Connector erstellen.

Konto A (Ressourcenanbieter) — Teilen Sie die Ressourcenkonfiguration
  1. Erstellen Sie das Ressourcen-Gateway und die Ressourcenkonfiguration in Konto A (wie in den vorherigen Beispielen).

  2. Teilen Sie die Ressourcenkonfiguration mithilfe von AWS Resource Access Manager mit Konto B:

    aws ram create-resource-share \ --name cross-account-sftp-share \ --resource-arns arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0 \ --principals 222222222222
Konto B (Resource Consumer) — Nehmen Sie die Freigabe an und verwenden Sie sie
  1. Nehmen Sie die Einladung zum Teilen der Ressource an:

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn arn:aws:ram:us-east-1:111111111111:resource-share-invitation/invitation-id
  2. Erstellen Sie den SFTP-Connector in Konto B:

    aws transfer create-connector \ --access-role arn:aws:iam::222222222222:role/TransferConnectorRole \ --sftp-config UserSecretId=cross-account-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22}

Der Connector in Konto B kann jetzt über die gemeinsame Ressourcenkonfiguration auf den privaten SFTP-Server in Konto A zugreifen.

Allgemeine Problembehandlungsszenarien

Hier finden Sie Lösungen für häufig auftretende Probleme beim Erstellen von LATTICE-enabled VPC_-Connectors:

  • Connector steckt im Status PENDING fest: Vergewissern Sie sich, dass Ihr Resource Gateway AKTIV ist und Subnetze in unterstützten Availability Zones hat. Wenn der Connector immer noch den Status PENDING hat, rufen Sie ihn UpdateConnector mit den gleichen Konfigurationsparametern auf, die Sie ursprünglich verwendet haben. Dadurch wird ein neues Statusereignis ausgelöst, das das Problem möglicherweise löst.

  • Verbindungs-Timeouts: Stellen Sie sicher, dass die Sicherheitsgruppenregeln den Datenverkehr auf Port 22 zulassen und dass Ihr VPC-Routing korrekt ist.

  • Probleme mit der DNS-Auflösung: Stellen Sie bei öffentlichen Endpunkten sicher, dass Ihre VPC über ein NAT-Gateway oder Internet-Gateway mit dem Internet verbunden ist.

  • Cross-account Zugriff verweigert: Stellen Sie sicher, dass die Ressourcenfreigabe akzeptiert wird und der ARN der Ressourcenkonfiguration korrekt ist. Wenn die richtige Berechtigungsrichtlinie an die Ressourcenkonfiguration angehängt ist, wenn das Ursprungskonto die Ressourcenfreigabe erstellt, sind die folgenden Berechtigungen erforderlich: vpc-lattice:AssociateViaAWSServicevpc-lattice:AssociateViaAWSService-EventsAndStates,vpc-lattice:CreateServiceNetworkResourceAssociation,vpc-lattice:GetResourceConfiguration.