AWS单一公共IP&的WebSockets

时间:2016-04-22 13:40:03

标签: amazon-web-services architecture websocket server load-balancing

我需要创建一个AWS架构来支持需要在100%的时间内完成的应用程序。为了实现容错,我想创建一个至少有2台机器的自动缩放组。在自动扩展组的所有正在运行的服务器上,我需要从第三方服务器(使用套接字)获取数据,该服务器在允许列表上仅接受1个IP。所有公共用户都应该能够打开与其中一个服务器的websocket连接。

有没有办法只使用一个IP连接到第三方服务器?我认为NAT是一种方法,但用户不再能够连接到服务器。 通过负载均衡器提供websocket连接的最佳实践是什么?

如果我没有提供有关背景的足够详细信息,请告诉我。

谢谢, 加布里埃尔

1 个答案:

答案 0 :(得分:1)

如果您搜索,有几个教程可以通过ELB使用websockets。看起来它的要点是使用TCP负载平衡,增加ELB上的连接超时,并终止Web服务器上的SSL。

只要您通过ELB使用websockets,我就不会看到NAT会如何干扰websockets。因此,使用ELB,然后使用NAT来启用第三方API调用,应该可以正常工作。

或者,如果您不想使用NAT,您是否考虑过设置单个服务器来代理这些第三方API调用?如果您只能通过代理服务器发送这些API调用,那么您不必担心其他网络流量的NAT配置。缺点是代理服务器将成为单点故障。