【问题标题】:How do i create a load balancer to listen to port 22如何创建负载均衡器来监听端口 22
【发布时间】:2021-08-28 09:05:20
【问题描述】:
我想要达到的目标:
sftp server.greedyguides.com
我基本上想将一个子域连接到一个监听端口 22 的负载平衡器。我知道我可以使用该 ip 进行 ssh/sftp,但我也想设置一个域版本。
PS:我从来没有在这里问过问题,如果格式不好,请见谅。
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
amazon-elb
【解决方案1】:
SFTP 不适合通过负载均衡器提供服务。
负载均衡器的概念是请求跨目标传播(通常是 Amazon EC2 实例)。以 HTTP 为例,一个人可能会请求一个页面,而服务器 1 会返回响应。当他们点击一个链接并请求另一个页面时,它可能是从服务器 2 提供的。
但是,SFTP 不适合由多台计算机提供服务。一台计算机可能会提供一个可用文件的列表,但是当用户请求一个文件时,这样的请求可能会转到另一台没有相同文件集的计算机。 SFTP 并未设计为水平可扩展系统。
从技术角度来看,Application Load Balancer 只能处理 Web (HTTP) 请求。网络负载均衡器可能能够提供 SFTP 流量,因为它不会修改传递给目标的请求的内容。
如果您希望为您的用户提供 SFTP 服务,我会推荐AWS Transfer for SFTP:
AWS Transfer for SFTP (AWS SFTP) 是一项完全托管的 AWS 服务,使您能够通过安全文件传输协议 (SFTP) 将文件传输到 Amazon Simple Storage Service (Amazon S3 ) 贮存。 SFTP 也称为安全外壳 (SSH) 文件传输协议。 SFTP 用于金融服务、医疗保健、广告和零售等不同行业的数据交换工作流程。
作为一项托管服务,AWS 负责扩展系统,因此您无需进行负载平衡或管理 SFTP 服务器。
【解决方案2】:
这与将 NLB 用于任何其他目的没有什么不同
当这些服务器与 NAS 或 EFS 同步时,将 NLB 用于 sftp 服务器是一个有效用例
客户端通过 sftp 服务器向他们上传文件
因此,在这种情况下,您所做的就是在 NLB 端口 22 上创建一个 TCP 侦听器,并为您拥有的许多安装了 NAS 或 EFS 的 sftp 服务器设置转发规则
考虑微服务通过 sftp 服务器将文件上传到 EFS,使用密钥对方法进行身份验证以获得更好的安全性(用户 ID 密码安全性不强)
此外,您不希望所有负载都转到一个 sftp 服务器