Comment charger des instances sftp d'équilibrage sur AWS

10

J'aime savoir s'il est possible d'équilibrer la charge des sftpserveurs AWS. J'ai 2 serveurs, et chacun de mes serveurs utilise s3fs-fusepour monter le même S3 bucketsur un point de montage. Mes deux ec2instances sont capables de lire / écrire sur leurs points de montage, et depuis S3, je peux voir les fichiers des deux serveurs.

Ce que je recherche, c'est de devoir SFTPtransférer des fichiers et de les utiliser Amazon S3pour stocker mes fichiers. Les fichiers seraient téléchargés et téléchargés quotidiennement.

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

Quant à ma prochaine étape, j'aime savoir comment puis-je équilibrer la charge de mes sftpserveurs, de sorte que lorsqu'un utilisateur se connecte à une adresse IP spécifique, il les redirige vers l'un de mes sftpserveurs. J'ai jeté un coup d'œil elastic load balancers, mais ils semblent autoriser uniquement des ports spécifiques. J'ai également enquêté HAProxy, mais je ne suis pas sûr de la sécurité de cette solution. Je dois prendre HIPAAen compte la conformité. L'équilibreur de charge doit être une adresse IP statique car nos fournisseurs ne la prennent pas en charge DNS hostnames.

popopanda
la source
7
Je n'ai jamais autant voulu me mettre le feu que maintenant.
Wesley
3
TBH, utiliser s3fs-fuse pour PHI semble assez stupide.
EEAA
Pour mémoire, les ELB prennent actuellement en charge tous les ports (1-65535): aws.amazon.com/blogs/aws/… . Mais, les ELB exigent également que les clients utilisent le nom DNS généré par AWS (qui pointe également vers deux adresses IP publiques, qui peuvent changer).
Jukka
La plus grande question est cependant, pourquoi voulez-vous équilibrer la charge? Si c'est pour HA, vous aurez toujours un SPoF dans votre haproxy. Si c'est pour les exigences de CPU de ssh, ce serait difficile à croire, mais une raison valable.
w00t
Avez-vous également envisagé de demander à votre fournisseur de prendre en charge les téléchargements S3 chiffrés? Pas difficile du tout…
w00t

Réponses:

22

Mon commentaire pourrait probablement utiliser une clarification. J'ai jailli avec l'éloquence d'un yak en état d'ébriété:

Je n'ai jamais autant voulu me mettre le feu que maintenant.

Pourquoi? Pourquoi devrais-je dire une chose pareille? Surtout parce que je suis une personne horrible. Cependant, à part cela, je peux expliquer mon explosion en passant en revue le post original au coup par coup:

J'aime savoir s'il est possible d'équilibrer la charge des serveurs sftp dans AWS.

Oui. Impossible n'est rien . Mais sachez qu'à moins d'obtenir un package SFTP spécial, l'équilibrage de charge sera entièrement à vous de construire. Le service étant SFTP et hébergé dans AWS est sans conséquence.

J'ai 2 serveurs et chacun de mes serveurs utilise s3fs-fuse pour monter le même compartiment S3 sur un point de montage. Mes deux instances ec2 sont capables de lire / écrire sur leurs points de montage, et depuis S3, je peux voir les fichiers des deux serveurs.

Vous êtes bien parti avec un système de fichiers partagé, malgré les performances et la fiabilité de l'installation.

Quant à ma prochaine étape, j'aime savoir comment puis-je équilibrer la charge de mes serveurs sftp, de sorte que lorsqu'un utilisateur se connecte à une adresse IP spécifique, il les redirige vers l'un de mes serveurs sftp.

La question est maintenant: pourquoi voulez-vous équilibrer la charge. Le catalogue d'instances Amazon offre un débit et une puissance de traitement fantastiques et la nécessité d'équilibrer la charge SFTP signifierait que vous approchez des niveaux porno d'activité réseau. Restez simple, reproductible et résilient dans la mesure du possible. Obtenez un i2.xlarge avec un démon SFTP en cours d'exécution et tout devrait bien se passer. Construisez-le avec Puppet / Chef / $trendy-config-management-toolet vous êtes en affaires. Passons cependant ...

J'ai jeté un œil aux équilibreurs de charge élastiques, mais ils ne semblent autoriser que des ports spécifiques. J'ai également étudié HAProxy, mais je ne suis pas sûr de la sécurité de cette solution.

HAproxy est exactement le type d'outil dont vous avez besoin. Votre incertitude sur la sécurité est facilement dissipée avec seulement quelques heures de lecture. Mon désir de m'immoler est en augmentation à partir de ce moment. Si vous n'êtes pas sûr de quelque chose, allez en être sûr. HAProxy est le choix de nombreuses institutions financières, hôpitaux et gouvernements.

Je dois prendre en compte la conformité HIPAA.

Entièrement compris, mais la conformité n'est pas principalement le rôle des outils. Vous devrez comprendre les concepts sous-jacents aux exigences de conformité HIPAA et voir comment HAproxy peut les satisfaire. HAProxy n'est ni conforme HIPAA ni non conforme HIPAA. Quel que soit l'outil que vous utilisez, vous devrez vérifier indépendamment les hypothèses et exigences sous-jacentes de vos besoins en matière de conformité et de réglementation. En fait, si quoi que ce soit, S3 et l'utilisation des instances Amazon doivent être inspectés plus attentivement que l'utilisation de HAproxy.

L'équilibreur de charge doit être une adresse IP statique car nos fournisseurs ne prennent pas en charge les noms d'hôte DNS

Ce. Ça l'a fait. Votre fournisseur est mauvais et devrait se sentir mal. Maintenant, je veux sauter dans la lave. Ne pas prendre en charge quelque chose de basique comme la résolution DNS n'a rien à voir, mais c'est aussi comme dire "Une voiture doit avoir un moteur pour que je puisse l'utiliser." Oui bien sur. Bien sûr, un équilibreur de charge va pouvoir utiliser une adresse IP statique. Il existe de nombreuses autres considérations auxquelles vous devez penser au-dessus des adresses IP statiques simples.

TL; DR

Oui, vous pouvez équilibrer la charge SFTP avec HAproxy. La conformité HIPAA est à vous de discerner et le choix de l'outil ne cochera pas. Vous avez des recherches sur Google et de la documentation à lire.

J'ai des flammes à éteindre.

Wesley
la source
Merci pour les commentaires et suggestions honnêtes. Je vais les parcourir, mais cela me donnera un début.
popopanda
7
C'est ma réponse préférée sur SF depuis un certain temps. <3
ceejayoz
Netscaler dispose également d'un mode SFTP pour les serveurs virtuels, peut-être voudrez-vous également en tenir compte. Une appliance Netscaler basée sur une instance EC2 (avec différentes options de bande passante) est disponible sur le marché AWS. Mais cela coûte de l'argent.
Jukka
Après avoir travaillé dans l'informatique des soins de santé pendant près d'une décennie, les fournisseurs tiers ne sont pas en mesure de prendre en charge les recherches DNS, en utilisant des domaines qui ne sont pas accessibles entre les systèmes, et d'autres niveaux bizarres qui vont à l'encontre des normes acceptées ne sont pas particulièrement surprenants et se produisent beaucoup plus souvent que quiconque ne le souhaiterait. Par exemple, il y a plusieurs années, un fournisseur m'a dit qu'il ne pouvait pas prendre en charge l'authentification par clé publique ssh car il n'utilisait pas de mots de passe pouvant être renouvelés tous les 30 jours. HIPAA semble provoquer une certaine quantité d'hyper-paranoïa et de confusion. Je suis surpris qu'AWS accepte d'être BA.
Andrew Domaszek
0

Oui. Cela est possible en utilisant AWS Load Balancer.

  1. Créez un équilibreur de charge avec Listener sur le port 22.
  2. Créez un groupe cible en ayant 2 de votre instance SFTP.
  3. Alignez correctement vos SG sur l'instance et l'équilibreur de charge.
Dheepan Swaminathan
la source