【问题标题】:Elastic Load Balancer on local development PC本地开发 PC 上的 Elastic Load Balancer
【发布时间】:2012-06-20 11:26:14
【问题描述】:

我开始着手一个新项目,其中将在两个 tomcat 前使用弹性负载均衡器。至少这是候选解决方案。在这个项目中,每个开发者的电脑上都会有一个开发环境。每个开发人员都需要拥有最终生产拓扑的精确副本。对于 EC2 实例,这将通过 oracles 虚拟机(ubuntu VM)来实现。

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

所以最后的问题是: 有建议的解决方法吗? 有经验的人对这种情况有任何建议/解决方法吗?

谢谢

【问题讨论】:

    标签: java amazon-ec2 load-balancing


    【解决方案1】:

    好问题。以下是我的做法:

    1. 创建专门用于开发测试的 ELB 和 EC2 实例,并将实例添加到 ELB。
    2. 在 ELB 上为每个开发人员的工作站创建一个侦听器(即 http/3001 --> http/3001、http/3002 --> http/3002 等)。请注意,您只能在 ELB 上创建一个运行状况检查——要解决此问题,您可以在测试实例上安装 apache 或 nginx,然后让 ELB 检查 80/tcp 以确保实例始终处于服务状态)。
    3. 从每个开发人员的工作站,建立到测试实例的 ssh 隧道(即ssh -fN -i ~/.ssh/ec2_keypair.pem ec2-user@ec2-instance-fqdn -R 3001:localhost:3001)。

    在此配置下,每个开发者的本地环境都可以在http://elb-fqdn:developer_port 获得。您可能希望锁定分配给测试 ELB 的安全组,以便只允许来自特定 IP 的连接。

    【讨论】:

    • 感谢您的回答。它有点复杂:) 我会尝试测试它,看看这是否是一个可以接受的解决方案。嗯,一定是因为没有其他候选人。来自我的 +1。
    • 是的,这有点复杂,但除了让开发人员在测试之前将他们的代码直接部署到 EC2 实例上的开发环境之外,这是完成您所要求的唯一方法。感谢您的支持。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2012-11-01
    • 2016-02-05
    • 2017-05-10
    • 2015-10-24
    • 2016-12-26
    • 2015-04-14
    相关资源
    最近更新 更多