本地开发PC上的弹性负载均衡器

时间:2012-06-18 13:18:10

标签: java amazon-ec2 load-balancing

我正在开始一个新项目,在这个项目中,将使用两个tomcats前面的Elastic Load Balancer。至少那是候选解决方案。在这个项目中,每个开发人员的pc上都会有一个开发环境。每个开发人员都需要拥有最终生产拓扑的精确副本。对于EC2实例,这将通过oracles虚拟盒(ubuntu VM)实现。

问题/问题是:如何在本地环境中复制ELB以便具有相同的行为。我认为使用Apache的HAProxy或mod_proxy在本地环境中进行负载平衡是有风险的,因为前面的软件产品具有与ELB不同的行为(例如,它们传输HTTP头的方式)。

所以最后的问题是: 有建议的解决方法吗? 有经验的人是否有针对此类案件的任何建议/解决方法?

由于

1 个答案:

答案 0 :(得分:2)

好问题。我就是这样做的:

  1. 专门为开发测试创建ELB和EC2实例,并将实例添加到ELB。
  2. 在ELB上为每个开发人员的工作站创建一个监听器(即http / 3001 - > http / 3001,http / 3002 - > http / 3002,等等)。请注意,您只能在ELB上创建一个健康检查 - 要解决此问题,您可以在测试实例上安装apache或nginx,并且只需要检查80 / tcp以确保实例始终处于服务状态。
  3. 从每个开发人员的工作站,建立到测试实例的ssh隧道(即ssh -fN -i ~/.ssh/ec2_keypair.pem ec2-user@ec2-instance-fqdn -R 3001:localhost:3001)。
  4. 在此配置下,每个开发人员的本地环境都可在http://elb-fqdn:developer_port处获得。您可能希望锁定分配给测试ELB的安全组,以便只允许来自某些IP的连接。