View a markdown version of this page

Arbeiten mit Network Load Balancern - 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.

Arbeiten mit Network Load Balancern

Ob Sie einen Network Load Balancer (NLB) vor einem AWS Transfer Family Server platzieren können, hängt vom Protokoll ab, das Ihr Server verwendet. Lesen Sie die folgenden Hinweise, bevor Sie Ihrer Architektur einen NLB hinzufügen.

  • FTP und FTPS — Wir empfehlen, keinen NLB vor dem Server zu platzieren. Ein NLB auf diesem Pfad erhöht die Kosten und reduziert die Anzahl gleichzeitiger Verbindungen, die der Server akzeptiert. Wenn für Ihre FTP- oder FTPS-Implementierung ein NLB erforderlich ist, finden Sie Konfigurationsempfehlungen unterVermeiden Sie es, NLBs und NATs vor AWS Transfer Family Server.

  • SFTP — Ein NLB wird unterstützt. Mit dem PROXY-Protokoll v2 (PPv2) können Sie die Quell-IP-Adresse des Clients bei SFTP-Verbindungen beibehalten.

Ein häufiger Grund, einen NLB vor einem AWS Transfer Family Server zu platzieren, besteht darin, einen benutzerdefinierten Listener-Port anzubieten. AWS Transfer Family bietet bereits mehrere Ports an. Überprüfen AWS Transfer Family Matrix vom Typ Endpoint Sie daher die unterstützten Ports, bevor Sie einen NLB hinzufügen. Erstellen Sie einen SFTP-enabled Server

Beibehaltung der Quell-IP des Clients für SFTP mit dem PROXY-Protokoll v2

Wenn sich ein NLB im Pfad zwischen Ihrem Client und Ihrem SFTP-Server befindet, AWS Transfer Family wird die private IP-Adresse des NLB anstelle der Quell-IP-Adresse des Clients angezeigt. Das PROXY-Protokoll v2 (PPv2) löst dieses Problem. Das NLB fügt einen PPv2-Header hinzu, der die Quell-IP-Adresse des Clients enthält, und AWS Transfer Family liest diesen Header.

Wenn Sie PPv2 aktivieren, wird die Quell-IP-Adresse des Clients an den folgenden Stellen verfügbar:

  • Authentifizierungsanfragen, die AWS Transfer Family an Ihren benutzerdefinierten Identitätsanbieter gesendet werden. Anschließend können Sie IP-based Zugriffsrichtlinien schreiben.

  • Loggen Sie Einträge ein Amazon CloudWatch Logs.

Aktivieren Sie die Durchsetzung des PROXY-Protokolls v2 auf einem vorhandenen Server

Das SftpMode Mitglied von ProxyConfig steuert, wie Ihr Server den PPv2-Header verarbeitet. Es hat genau zwei Werte: NONE (die Standardeinstellung) undPROXY_PROTOCOL_V2_ENFORCED. Weitere Informationen finden Sie unter ProtocolDetails in der AWS Transfer Family -API-Referenz.

Wichtig

Mit müssen PROXY_PROTOCOL_V2_ENFORCED Sie die VPC-Endpunkt-Sicherheitsgruppe des Servers so einschränken, dass eingehender Datenverkehr nur über den vertrauenswürdigen NLB zulässig ist.

Führen Sie die folgenden drei Schritte aus, um die Durchsetzung zu ermöglichen, ohne Verbindungen abzulehnen. Diese Reihenfolge sorgt dafür, dass die Migration frei von Ausfallzeiten ist.

Schritt 1: Aktivieren Sie das PROXY-Protokoll v2 für die NLB-Zielgruppe

Aktivieren Sie das proxy_protocol_v2.enabled Attribut für die NLB-Zielgruppe, das auf den VPC-Endpunkt Ihres Servers verweist. Dieses Attribut weist den NLB an, jeder Verbindung einen PPv2-Header voranzustellen. Eine Anleitung finden Sie unter Proxy-Protokoll im Elastic Load Balancing-Benutzerhandbuch.

Solange der Server noch auf eingestellt istSftpMode=NONE, liest und ignoriert er jeden PPv2-Header. Die Aktivierung des PROXY-Protokolls v2 für die Zielgruppe zu diesem Zeitpunkt verursacht keine Unterbrechung.

Schritt 2: Stellen Sie sicher, dass der Header bei jeder Verbindung ankommt

Bevor Sie PPv2 erzwingen, stellen Sie sicher, dass der Server bei jeder Verbindung einen PPv2-Header empfängt. Prüfen Sie Ihre Serverprotokolle auf den CONNECTED Aktivitätstyp. Überprüfen Sie bei strukturierten (JSON Amazon CloudWatch Logs-) Anmeldungen das proxy-protocol-v2-header Feld auf den Wertignored; in älteren Protokollen überprüfen Sie das ProxyProtocolV2Header Feld auf denselben Wert.

Das Feld hat die folgende Semantik:

  • Das Feld fehlt, wenn die Verbindung keinen PPv2-Header enthielt.

  • Der Wert ist angegebenignored, wenn die Verbindung einen PPv2-Header enthielt, obwohl SftpMode dies der Fall ist. NONE

  • Der Wert wird angegebenapplied, wenn die Verbindung einen PPv2-Header enthielt und der Server diesen entsprechend berücksichtigt hat. PROXY_PROTOCOL_V2_ENFORCED

Überprüfen Sie die Protokolle so lange, bis jeder CONNECTED Eintrag das Feld mit dem Wert ignored enthält. Ein fehlendes Feld bedeutet, dass ein Pfad den Server immer noch ohne PPv2-Header erreicht. Wenn Sie erzwingen, dass bei einem beliebigen Pfad der Header fehlt, lehnt der Server diese Verbindungen ab. Weitere Informationen zu diesen Protokollfeldern finden Sie unter Strukturierte JSON-Protokolle für Transfer Family undÄltere Protokolle für Transfer Family.

Schritt 3: PROXY-Protokoll v2 durchsetzen

Aktualisieren Sie den Server so, dass das SftpMode Mitglied von ProxyConfig PROXY_PROTOCOL_V2_ENFORCED Der Server benötigt dann für jede eingehende SFTP-Verbindung einen gültigen PPv2-Header. Der Server lehnt Verbindungen ab, die ohne einen gültigen PPv2-Header eingehen, und protokolliert einen Fehler in. Amazon CloudWatch Logs Um ein Rollback durchzuführen, setzen Sie SftpMode aufNONE.

Console

Wählen Sie auf der Seite mit den Serverdetails neben Zusätzliche Details die Option Bearbeiten aus, und aktivieren Sie dann die Konfigurationsoption für das PROXY-Protokoll. Das vollständige Verfahren zum Bearbeiten des Servers finden Sie unter. Serverdetails bearbeiten

AWS CLI

Führen Sie den folgenden Befehl aus, um das PROXY-Protokoll v2 auf Ihrem Server durchzusetzen.

aws transfer update-server --server-id your-server-id --protocol-details ProxyConfig={SftpMode=PROXY_PROTOCOL_V2_ENFORCED}

Bei Erfolg gibt der Befehl den folgenden Code zurück und aktualisiert Ihren Server.

{ "ServerId": "your-server-id" }