EC2 上的负载平衡后端服务器

EC2 上的负载平衡后端服务器

我在 EC2 上有一个应用程序,现在需要平衡后端负载。我试图维护我的后端服务器,使它们不公开可见。

有没有办法使用 Elastic Load Balancer 来管理我的后端服务器?
我知道我可以管理 EC2 实例,使它们只从 ELB 获取流量,但如何确保只有我的前端服务器才能首先调用 ELB?(例如,我想确保没有人的 Web 浏览器可以访问 ELB,从而访问我的后端服务器)

需要说明的是:我目前没有 2 个 ELB 实例——我拥有的是几个前端 Web 服务器,它们目前连接到 1 个后端机器,负责进行一些处理。我需要创建另一个后端服务器来处理后端机器上增加的负载,并试图找出最佳的扩展方式,以便 10 多个 Web 服务器可以在现在的 2 个后端服务器上实现平衡。

如果 ELB 不能做到这一点,那么推荐的解决方案是什么?

答案1

我想你可能会感到困惑。你的前端服务器应该ELB。应用程序流量的一般流程如下:

                             |-> EC2 Instance 1
Client -> Internet -> ELB -> |-> EC2 Instance 2
                             |-> EC2 Instance 3

所以是的,您当然可以进行配置,使得互联网客户端无法看到您的后端基础设施是什么样的。

答案2

我对 ELB 不是特别熟悉,因此无法对此发表评论,但我发现对于内部负载平衡,haproxy 是最好的选择。我很喜欢 LVS 等用于前端负载平衡的 L3 解决方案,但内部网络路由问题变得复杂,而且您通常不关心代理引入的问题,因此除非 ELB 可以清楚地满足您的需求,否则我会选择 haproxy。

相关内容