10

我试图让DevOps沮丧,并且运行状况检查请求超时失败。问题是我的Elastic Load Balancer会向我的EC2实例发送运行状况检查并获取网络超时。我不确定我做错了什么。我遵循this tutorial,并且完成了所有步骤,包括“使用Elastic Load Balancer”。我的EC2实例似乎工作正常,我能够在EC2实例内成功卷曲端口9292上的本地主机。AWS负载均衡器EC2运行状况检查请求超时失败

EC2实例安全组设置: description

弹性负载均衡设置: enter image description here

我对ELB路由目标群体通过HTTP有端口9292打开,这里的目标的截图中我的目标不健康的组。 enter image description here

健康检查的配置:enter image description here

我有一个VPC,我的EC2实例的一部分,我的ELB连接到同一个VPC。我没有安装Apache,也没有安装nginx。据我了解,我不需要这些。我有一个Rails Puma服务器正在运行,我可以向服务器发送成功的curl请求。

我的预感是我的ELB不允许到达我的EC2实例,导致网络超时和健康检查失败。我无法找到原因。有任何想法吗?这SO post并没有太大的帮助。我的安全组是否配置错误?还有什么可能阻止从ELB到我的EC2实例的路由请求?

此外,有没有办法查看我的EC2实例的网络请求/日志?我一直看到VPC流量记录,但我觉得有更简单的选择。

Here's something我发布在AWS论坛上,但无济于事。

更新:我可以在EC2实例内卷曲目标的私有IP。我认为这不是目标实例,我认为这与安全组设置有关。我无法确定为什么,因为我基本上允许从负载均衡器到EC2实例的所有流量。

+0

您可以向我们展示负载均衡器上的运行状况检查配置吗?刚刚添加的 –

+0

! – Sticky

+0

我看不到您的负载平衡器和VPC /安全组配置有任何问题。我猜你的应用程序根本不会返回'/'处的请求的200响应代码。您的应用程序是否可能为该路径返回301响应? –

回答

3

我在“设置您的VPC”步骤中犯了我的错误。我完成了为RDS实例创建子网。我开始创建一个实例,AWS切换到我的VPC时选择的默认子网是我为我的RDS创建的子网,它不是公有子网。因此,来自任何EC2实例或我的负载均衡器的任何尝试都无法到达它,因为我只设置了公有子网来接收请求。

解决方案是创建一个新实例,这次选取正确的public子网。我的原始EC2实例与私有子网关联,而负载平衡器则指向公有子网。

这里的a link到一个手绘的图像,帮助我指出我的问题,希望可以帮助其他任何人遇到麻烦设置。我没有直接在这里放置图片,因为它大于2MB。

很高兴回答任何进一步的问题!

相关问题