为什么我的 EC2 实例无法通过 HTTP 连接到我的负载均衡器?

问题描述 投票:0回答:2

我将负载均衡器设置为允许端口 80 上的流量流向我的 EC2 实例的安全组,但负载均衡器拒绝连接。为了进行健全性检查,当我允许从我的 IP 到负载均衡器的 HTTP 流量时,我能够无缝连接。仅当我允许所有流量流向负载均衡器上的端口 80 时,我才能从 EC2 实例访问负载均衡器。我不断地来回检查,以确保 EC2 实例所在的安全组与负载均衡器应允许的安全组相同,所以我知道事实并非如此。还有什么可能阻碍交通?

上下文:我使用负载均衡器是因为我想要一个静态地址供我的 EC2 实例访问,并且我不希望 IP 是动态的。基本上,负载均衡器后面是一个协调器实例,我想用它来管理自动扩展 EC2 实例的作业。负载均衡器可以是内部的,以满足我需要的目的。

amazon-web-services amazon-ec2 amazon-elb aws-security-group aws-application-load-balancer
2个回答
1
投票

EC2 实例和面向公众的负载均衡器之间的网络流量将传出至 Internet 并返回,不会停留在 VPC 内。一旦请求离开 VPC,它就会失去与源安全组的关联,这就是您的安全组规则不起作用的原因。如果 EC2 实例分配有弹性 IP 地址,您可以尝试将其添加到负载均衡器的安全组中。


可能有更好的方法来完成您想要做的事情,而无需让您的 EC2 实例访问公共负载均衡器。也许负载均衡器可以转换为内部负载均衡器?或者也许有更好的方法让这个 EC2 服务器以某种方式直接与负载均衡器后面的资源进行通信。您需要发布有关您的系统和您期望的目标的更多信息以获得帮助。


0
投票

我也遇到过类似的问题。我已经在端口 80 上为 HTTP 配置了入站规则,但它不起作用。 我已将类型从 HTTP 更改为 (Alltcp)(负载平衡安全组)它可以工作

© www.soinside.com 2019 - 2024. All rights reserved.