Elastic Load balancer侦听器不适用于一个端口

时间:2016-02-06 23:22:54

标签: amazon-web-services amazon-ec2 load-balancing amazon-elastic-beanstalk

我有一个运行Sinatra应用程序的Elastic Beanstalk Docker容器。使用ebextensions,我在EC2盒子上运行了一个haproxy实例 - 它将流量从端口9090转发到docker_ip:application_port。设置工作正常,因为我能够在端口9090上卷曲EC2框的IP并点击我的应用程序的端点(我也能看到haproxy日志)

现在,我已在Elastic loadbalancer上设置了一个额外的tcp侦听器,以将端口9090转发到端口9090(默认端口80 - >端口80)。但是,当我尝试访问domain_name:9090时,它会超时。如果我只是访问domain_name它就可以了。关于我如何调试负载均衡器监听器无法按预期工作的任何想法。

请注意,ELB可见性设置为公开。

因此,我打开了负载均衡器的日志记录并直接访问了它的DNS名称。它记录了发送到端口80的请求,但没有记录发送到端口9090的请求。

另一个更新 - 我在端口9090上的ec2框上运行了一个tcpdump。它没有捕获我运行的任何数据包load_balancer_domain:9090

已解决 - 我必须编辑负载均衡器上的安全组规则,以允许实例的端口9090上的出站流量。

1 个答案:

答案 0 :(得分:2)

启用ELB Access Logs并向AWS生成的ELB DNS名称发送请求。检查ELB在S3存储桶中创建的日志文件。