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

Why can't my EC2 instance connect via HTTP to my load balancer?

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

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

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


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