我在Amazon Web Services中设置了以下情况:AWS setup。
来自Internet的请求通过端口443进入负载均衡器,并且侦听器确保此流量转发到端口8080上的实例(到应用程序A)。 负载均衡器上的另一个侦听器将流量从端口8041转发到实例上的端口8050(到应用程序B)。 应用程序A可以在端口8041上对负载均衡器执行REST调用,这最终将在应用程序B处结束。
入站规则在图表上设置 sg-1 安全组:
入站规则在图表上设置了 sg-2 安全组:
不幸的是,应用程序A无法通过端口8041上的负载均衡器到达应用程序B. 但是,一旦我允许来自所有源(而不是特定安全组)的上述端口上的入站连接,突然应用程序可以在端口8041上对应用程序B进行REST调用。
我怀疑它可能与sg-1中的实例有关,并通过负载均衡器再次以sg-1结尾。 报告应用B"健康"通过负载均衡器,连接端口8041上的负载均衡器或转发到实例的端口8050似乎有问题。
我试图通过其内部DNS名称直接调用应用程序B,而不是通过应用程序A中的负载均衡器调用应用程序B.这样可行。
我没有想法。我的配置似乎很好,但仍然要求不通过。任何帮助将不胜感激。
答案 0 :(得分:3)
当您指定安全组作为规则的来源时,请执行此操作 允许与源安全组关联的实例进行访问 安全组中的实例。 (...)允许进入的流量 基于关联实例的私有IP地址 与源安全组(而不是公共IP或弹性IP) 地址)。
当您的应用程序A连接到(外部)Load Balancer时,它将连接到LB公共IP,app a公共IP作为源地址,因此sg-1 ID不能用于sg-2规则。我在这里看到两个选项: