AWS转发端口8000从elb到EC2的端口8000

时间:2017-10-04 10:45:20

标签: amazon-web-services amazon-ec2 port portforwarding elastic-load-balancer

我有ELB,在目标组中注册了多个EC2实例。我正在使用port正常运行的php应用程序。它有SSL。

我想将端口8000用于我的节点应用程序。我想做的是我想将my-elb-address:8000转发到any-ec2-ip:8000。因此,当我访问连接到ELB的域和端口8000时,它会将端口8000转发到ec2。如何实现此目的?他们的任何其他方式的ELB监听和转发多个端口?

我在ELB中添加了端口80,443和8000的监听器。请帮忙

1 个答案:

答案 0 :(得分:3)

经典ELB

使用" classic"您可以在ELB中定义用于在AWS仪表板中转发端口的自定义规则:

enter image description here

请注意,请求将转发到所有可用实例,这意味着在上面的示例中(假设 php 正在80,节点上运行。 8000上的js 所有实例都必须运行这两个服务。如果服务是在不同的实例上,则需要两个不同的负载平衡器,每个端口一个。

申请ELB

另一个选择是使用"应用程序" ELB(ALB)。 此选项将允许具有细粒度规则的单个负载均衡器,允许每个协议将请求转发到一组实例。

  • 创建"默认" ALB
  • 在自定义端口上添加新的目标组(请参阅侧栏中负载平衡部分下的条目)
  • 注册运行 node.js 应用程序的实例(右键单击目标组)
  • 将目标组绑定到ALB的侦听器

另一种解决方案可能是,指定基于路径的规则,仅使用一个端口(443)并仅将/to_nodejs下的请求转发到端口8000。