So laden Sie SFTP-Instanzen unter AWS aus

10

Ich möchte wissen, ob es möglich ist, sftpServer mit Lastausgleich zu laden AWS. Ich habe 2 Server, und jeder meiner Server verwendet s3fs-fuse, um dasselbe S3 bucketauf einem Mount-Punkt bereitzustellen. Meine beiden ec2Instanzen können an ihren Mount-Punkten lesen / schreiben, und von dort aus S3kann ich die Dateien von beiden Servern sehen.

Was ich suche, ist das SFTPÜbertragen von Dateien und Amazon S3das Speichern meiner Dateien. Dateien werden täglich hochgeladen und heruntergeladen.

https://github.com/s3fs-fuse/s3fs-fuse

In meinem nächsten Schritt möchte ich wissen, wie ich meine sftpServer ausgleichen kann , damit ein Benutzer, der eine Verbindung zu einer bestimmten IP-Adresse herstellt, diese auf einen meiner sftpServer umleitet . Ich habe es mir angesehen elastic load balancers, aber sie scheinen nur bestimmte Ports zuzulassen. Ich habe auch untersucht HAProxy, bin mir aber nicht sicher, wie sicher diese Lösung sein wird. Ich muss HIPAACompliance berücksichtigen. Der Load Balancer muss eine statische IP-Adresse sein, da unsere Anbieter dies nicht unterstützen DNS hostnames.

Popopanda
quelle
7
Ich wollte mich noch nie so sehr in Brand setzen wie jetzt.
Wesley
3
TBH, s3fs-fuse für PHI zu verwenden, scheint ziemlich dumm zu sein.
EEAA
Für die Aufzeichnung unterstützen ELBs heutzutage alle Ports (1-65535): aws.amazon.com/blogs/aws/… . Für ELBs müssen Clients jedoch auch den von AWS generierten DNS-Namen verwenden (der auch auf zwei öffentliche IP-Adressen verweist, die sich ändern können).
Jukka
Die größte Frage ist jedoch, warum Sie den Lastausgleich durchführen möchten. Wenn es für HA ist, haben Sie immer noch einen SPoF in Ihrem Haproxy. Wenn es um die CPU-Anforderungen von ssh geht, wäre das kaum zu glauben, aber ein triftiger Grund.
w00t
Haben Sie auch darüber nachgedacht, Ihren Anbieter zu bitten, verschlüsselte S3-Uploads zu unterstützen? Gar nicht so schwer ...
w00t

Antworten:

22

Mein Kommentar könnte wahrscheinlich einer Klarstellung bedürfen. Ich spritzte mit der Beredsamkeit eines betrunkenen Yaks aus:

Ich wollte mich noch nie so sehr in Brand setzen wie jetzt.

Warum? Warum sollte ich so etwas sagen? Meistens, weil ich eine schreckliche Person bin. Abgesehen davon kann ich meinen Ausbruch jedoch erklären, indem ich den ursprünglichen Beitrag stückweise durchgreife:

Ich möchte wissen, ob es möglich ist, SFTP-Server mit Lastausgleich in AWS zu laden.

Ja. Unmöglich ist nichts . Beachten Sie jedoch, dass der Lastausgleich ganz bei Ihnen liegt, sofern Sie kein spezielles SFTP-Paket erhalten. Der Dienst, der SFTP ist und in AWS gehostet wird, spielt keine Rolle.

Ich habe 2 Server und jeder meiner Server verwendet s3fs-fuse, um denselben S3-Bucket auf einem Mount-Punkt zu mounten. Meine beiden ec2-Instanzen können an ihren Mount-Punkten lesen / schreiben, und in S3 kann ich die Dateien von beiden Servern sehen.

Sie haben einen guten Start mit einem gemeinsam genutzten Dateisystem, ungeachtet der Leistung und Zuverlässigkeit des Setups.

In meinem nächsten Schritt möchte ich wissen, wie ich meine SFTP-Server ausgleichen kann, damit ein Benutzer, der eine Verbindung zu einer bestimmten IP-Adresse herstellt, diese auf einen meiner SFTP-Server umleitet.

Die Frage ist jetzt: Warum möchten Sie den Lastausgleich durchführen? Der Amazon-Instanzkatalog bietet eine fantastische Menge an Durchsatz und Verarbeitungsleistung, und die Notwendigkeit, SFTP zu laden, würde bedeuten, dass Sie sich der Netzwerkaktivität von Pornos nähern. Halten Sie es einfach, wiederholbar und belastbar, wo immer dies möglich ist. Holen Sie sich eine i2.xlarge mit einem SFTP-Daemon, der darauf ausgeführt wird, und Sie sollten in Ordnung sein, egal was passiert. Bauen Sie es mit Puppet / Chef / $trendy-config-management-toolund Sie sind im Geschäft. Weiter aber ...

Ich habe mir elastische Lastausgleicher angesehen, aber sie scheinen nur bestimmte Anschlüsse zuzulassen. Ich habe auch HAProxy untersucht, bin mir aber nicht sicher, wie sicher diese Lösung sein wird.

HAproxy ist genau das Werkzeug, das Sie benötigen. Ihre Unsicherheit über die Sicherheit lässt sich mit nur wenigen Stunden Lesen leicht zerstreuen. Mein Wunsch, sich selbst zu verbrennen, steigt von diesem Punkt an. Wenn Sie sich bei etwas nicht sicher sind, gehen Sie sich dessen sicher. HAProxy ist die Wahl für viele Finanzinstitute, Krankenhäuser und Regierungen.

Ich muss die HIPAA-Konformität berücksichtigen.

Völlig verstanden, aber Compliance ist nicht in erster Linie die Rolle von Tools. Sie müssen die Konzepte hinter den HIPAA-Konformitätsanforderungen verstehen und sehen, wie HAproxy sie erfüllen kann. HAProxy ist weder HIPAA-konform noch HIPAA-nicht konform. Unabhängig davon, welches Tool Sie verwenden, müssen Sie die zugrunde liegenden Annahmen und Anforderungen Ihrer Compliance- und regulatorischen Anforderungen unabhängig überprüfen. Wenn überhaupt, sollten S3 und die Verwendung von Amazon-Instanzen genauer überprüft werden als die Verwendung von HAproxy.

Der Load Balancer muss eine statische IP-Adresse sein, da unsere Anbieter keine DNS-Hostnamen unterstützen

Dies. Das hat es geschafft. Ihr Verkäufer ist schlecht und sollte sich schlecht fühlen. Jetzt möchte ich in Lava springen. Etwas Grundlegendes wie die DNS-Auflösung nicht zu unterstützen, hat nichts damit zu tun, aber es ist auch so, als würde man sagen: "Ein Auto muss einen Motor haben, damit ich es verwenden kann." Aber natürlich. Natürlich kann ein Load Balancer eine statische IP-Adresse verwenden. Es gibt viele weitere Überlegungen, über die Sie über einfache statische IP-Adressen nachdenken müssen.

TL; DR

Ja, Sie können SFTP mit HAproxy ausgleichen. Die HIPAA-Konformität liegt bei Ihnen und die Auswahl des Werkzeugs aktiviert keine Kontrollkästchen. Sie müssen etwas googeln und die Dokumentation lesen.

Ich muss ein paar Flammen löschen.

Wesley
quelle
Vielen Dank für das ehrliche Feedback und die Vorschläge. Ich werde sie durchsehen, aber das wird mir einen Anfang geben.
Popopanda
7
Dies ist meine Lieblingsantwort auf SF seit geraumer Zeit. <3
ceejayoz
Netscaler verfügt auch über einen SFTP-Modus für virtuelle Server. Möglicherweise sollten Sie dies ebenfalls berücksichtigen. Eine von EC2-Instanzen unterstützte Netscaler-Appliance (mit verschiedenen Bandbreitenoptionen) ist über den AWS-Marktplatz erhältlich. Kostet aber Geld.
Jukka
Nach fast einem Jahrzehnt in der IT des Gesundheitswesens sind Drittanbieter, die DNS-Lookups nicht unterstützen können und Domänen verwenden, auf die nicht systemübergreifend zugegriffen werden kann, und andere ungerade Ebenen, die angesichts akzeptierter Standards fliegen, nicht besonders überraschend und treten auf viel öfter als irgendjemand möchte. Vor einigen Jahren teilte mir beispielsweise ein Anbieter mit, dass die Authentifizierung mit öffentlichem Schlüssel von ssh nicht unterstützt werden könne, da keine Kennwörter verwendet würden, die alle 30 Tage gewechselt werden könnten. HIPAA scheint ein gewisses Maß an Hyperparanoia und Verwirrung zu verursachen. Ich bin überrascht, dass AWS bereit ist, BA zu werden.
Andrew Domaszek
0

Ja. Dies ist mit AWS Load Balancer möglich.

  1. Erstellen Sie einen Load Balancer mit Listener an Port 22.
  2. Erstellen Sie eine Zielgruppe, indem Sie 2 Ihrer SFTP-Instanzen haben.
  3. Richten Sie Ihre SGs sowohl am Instanz- als auch am Load Balancer richtig aus.
Dheepan Swaminathan
quelle