AWS 单一 public IP & websockets
AWS single public IP & websockets
我需要创建一个 AWS 架构来支持需要 100% 正常运行的应用程序。为了实现容错,我想创建一个至少包含 2 台机器的自动缩放组。在自动缩放组的所有 运行 服务器上,我需要从第三方服务器(使用套接字)获取数据,该服务器只接受允许列表中的 1 个 IP。所有 public 用户都应该能够打开到其中一台服务器的 websocket 连接。
有什么方法可以只用一个IP连接到第三方服务器吗?我认为 NAT 是一种实现方式,但用户将无法再连接到服务器。
通过负载均衡器提供 websocket 连接的一些最佳实践是什么?
如果我没有提供足够的上下文细节,请告诉我。
谢谢,
加布里埃尔
如果您搜索,可以找到一些通过 ELB 使用 websockets 的教程。看起来它的要点是使用 TCP 负载平衡,增加 ELB 上的连接超时,并终止 Web 服务器上的 SSL。
只要您通过 ELB 使用 websockets,我根本看不出 NAT 会如何干扰 websockets。因此,使用 ELB,然后使用 NAT 启用第三方 API 调用,应该可以正常工作。
或者,如果您不想使用 NAT,您是否考虑过设置一个服务器来代理那些第三方 API 调用?如果您可以通过代理服务器仅发送那些 API 调用,那么您就不必担心其他网络流量的 NAT 配置。缺点是代理服务器会成为单点故障。
我需要创建一个 AWS 架构来支持需要 100% 正常运行的应用程序。为了实现容错,我想创建一个至少包含 2 台机器的自动缩放组。在自动缩放组的所有 运行 服务器上,我需要从第三方服务器(使用套接字)获取数据,该服务器只接受允许列表中的 1 个 IP。所有 public 用户都应该能够打开到其中一台服务器的 websocket 连接。
有什么方法可以只用一个IP连接到第三方服务器吗?我认为 NAT 是一种实现方式,但用户将无法再连接到服务器。 通过负载均衡器提供 websocket 连接的一些最佳实践是什么?
如果我没有提供足够的上下文细节,请告诉我。
谢谢, 加布里埃尔
如果您搜索,可以找到一些通过 ELB 使用 websockets 的教程。看起来它的要点是使用 TCP 负载平衡,增加 ELB 上的连接超时,并终止 Web 服务器上的 SSL。
只要您通过 ELB 使用 websockets,我根本看不出 NAT 会如何干扰 websockets。因此,使用 ELB,然后使用 NAT 启用第三方 API 调用,应该可以正常工作。
或者,如果您不想使用 NAT,您是否考虑过设置一个服务器来代理那些第三方 API 调用?如果您可以通过代理服务器仅发送那些 API 调用,那么您就不必担心其他网络流量的 NAT 配置。缺点是代理服务器会成为单点故障。