如何在AWS上平衡sftp实例


10

我想知道是否可以在中对sftp服务器进行负载平衡AWS。我有2台服务器,并且我的每台服务器都s3fs-fuse用于将同一台服务器挂载S3 bucket到挂载点上。我的两个ec2实例都可以读取/写入其挂载点,并且从中S3,我可以看到两个服务器上的文件。

我正在寻找的是必须SFTP传输文件并Amazon S3用于存储我的文件。文件将每天上传和下载。

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

对于下一步,我想知道如何对sftp服务器进行负载平衡,以便当用户连接到特定IP地址时,它将把它们重定向到我的一sftp台服务器。我看了看elastic load balancers,但是它们似乎只允许特定的端口。我也进行了调查HAProxy,但是不确定该解决方案的安全性。我必须考虑HIPAA合规性。负载均衡器必须是静态IP地址,因为我们的供应商不支持DNS hostnames


7
我再也不想像现在这样自焚。
Wesley

3
TBH,将s3fs-fuse用于PHI似乎很愚蠢。
EEAA 2015年

作为记录,ELB现在支持所有端口(1-65535):aws.amazon.com/blogs/aws/…。但是,ELB还要求客户端使用AWS生成的DNS名称(该名称也指向两个可以更改的公共IP地址)。
Jukka 2015年

但是,最大的问题是,为什么要进行负载平衡?如果是用于HA,则您的haproxy中仍将有SPoF。如果是出于ssh的cpu要求,那将很难让人相信,但这是一个合理的理由。
w00t 2015年

另外,您是否考虑过要求供应商支持加密的S3上传?一点也不难…
w00t 2015年

Answers:


22

我的评论可能需要澄清。我with之以鼻的:牛:

我再也不想像现在这样自焚。

为什么?我为什么要说这样的话?主要是因为我是一个可怕的人。但是,除此之外,我还可以通过原始的零碎内容来解释我的爆发:

我想知道是否可以在AWS中负载均衡sftp服务器。

是。不可能是什么。但是请知道,除非获得特殊的SFTP软件包,否则负载平衡将完全由您决定。由SFTP托管在AWS中的服务是无关紧要的。

我有2台服务器,并且我的每台服务器都使用s3fs-fuse将相同的S3存储桶安装到安装点上。我的两个ec2实例都能够读取/写入它们的挂载点,并且从S3中,我可以看到两个服务器上的文件。

尽管有设置的性能和可靠性,但您还是从共享文件系统开始了一个良好的开端。

关于下一步,我想知道如何平衡sftp服务器的负载,以便当用户连接到特定IP地址时,它将把它们重定向到我的sftp服务器之一。

现在的问题是:为什么要进行负载平衡。Amazon实例目录提供了惊人的吞吐量和处理能力,并且需要对SFTP进行负载平衡意味着您正在达到网络活动的色情水平。尽可能使其保持简单,可重复和有弹性。获得一个运行有SFTP守护程序的i2.xlarge,无论如何都可以。使用Puppet / Chef /进行构建$trendy-config-management-tool,您就可以开展业务。继续前进...

我看了一下弹性负载平衡器,但它们似乎只允许特定的端口。我还研究了HAProxy,但不确定该解决方案的安全性。

HAproxy正是您需要的工具。只需几个小时的阅读,就可以轻松消除对安全性的不确定性。从此以后,我对自我献身的渴望正在上升。如果不确定某件事,请确定一下。HAProxy是许多金融机构,医院和政府的选择。

我必须考虑遵守HIPAA。

完全理解,但合规性并不是工具的主要作用。您需要了解HIPAA合规性要求背后的概念,并了解HAproxy如何满足这些要求。HAProxy既不符合HIPAA,也不符合HIPAA。无论使用哪种工具,都需要独立验证合规性和监管需求的基本假设和要求。实际上,如果有的话,应该比使用HAproxy更仔细地检查S3和Amazon实例的使用。

负载平衡器必须是静态IP地址,因为我们的供应商不支持DNS主机名

这个。做到了。您的供应商不好,应该感到难受。现在我想跳进熔岩。不支持诸如DNS解析之类的基本功能完全无关紧要,但这就像在说“汽车必须配备引擎才能使用它”。嗯,当然。当然,负载均衡器将具有使用静态IP地址的能力。在上述简单静态IP地址之上,您还需要考虑许多其他注意事项。

TL; DR

是的,您可以使用HAproxy负载均衡SFTP。是否符合HIPAA标准取决于您,并且不会选择工具。您需要做一些谷歌搜索和阅读文档。

我要扑灭一些火焰。


感谢您的诚实反馈和建议。我将仔细检查它们,但这将为我提供一个起点。
popopanda

7
这是我很长时间以来最喜欢的SF答案。<3
ceejayoz

Netscaler还为虚拟服务器提供了一种SFTP模式,可能还需要考虑这一点。可通过AWS市场获得EC2实例支持的Netscaler设备(具有不同的带宽选项)。虽然要花钱。
Jukka 2015年

在医疗保健IT工作近十年后,第三方供应商无法支持dns查找,使用系统间不可访问的域以及面对公认的标准而出现的其他奇怪程度并不特别令人惊讶并且会发生比任何人想要的更多。例如,几年前,一个供应商告诉我他们不支持ssh公钥身份验证,因为它不使用每30天旋转一次的密码。HIPAA似乎引起一定程度的偏执狂和混乱。我很惊讶AWS愿意成为一名学士学位。
Andrew Domaszek 2015年

0

是。通过使用AWS Load Balancer,这是可能的。

  1. 在端口22上使用侦听器创建负载均衡器。
  2. 通过拥有2个SFTP实例来创建目标组。
  3. 在实例和负载均衡器上正确对齐SG。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.