我正在尝试使用DevOps来解决问题并且我遇到了运行状况检查请求超时失败。问题是我的Elastic Load Balancer向我的EC2实例发送运行状况检查并获得网络超时。我不确定我做错了什么。我正在关注this tutorial并完成了所有步骤,包括“使用弹性负载均衡器”。我的EC2实例似乎工作正常,我能够在EC2实例中成功地在端口9292上卷曲localhost。
我的ELB路由目标组通过HTTP打开端口9292,这是我目标组中目标组的目标屏幕截图,它不健康。
我有一个VPC,我的EC2实例是其中一部分,我的ELB连接到同一个VPC。我没有安装Apache,也没有安装nginx。据我了解,我不需要这些。我有一个Rails Puma服务器正在运行,我可以将成功的curl请求发送到服务器。
我的预感是我的ELB不允许到达我的EC2实例,导致网络超时和健康状况检查失败。我无法找到原因。有任何想法吗?这SO post没有多大帮助。我的安全组是否配置错误?还有什么可能阻止从ELB到我的EC2实例的路由请求?
此外,有没有办法查看我的EC2实例的网络请求/日志?我一直看到VPC流量记录,但我觉得有更简单的替代方案。
Here's something我在AWS论坛上发帖但无济于事。
更新:我可以在EC2实例中正常卷曲目标的私有IP。我认为这不是目标实例,我认为这与安全组设置有关。我无法确定原因,因为我基本上允许从Load Balancer到EC2实例的所有流量。
答案 0 :(得分:6)
我在“设置您的VPC”步骤中犯了错误。我完成了为RDS实例创建子网。我开始启动一个实例,当我切换到我的VPC时,AWS选择的默认子网是我为RDS制作的子网,它不是公共子网。因此,任何来自任何EC2实例或我的负载均衡器的尝试都无法访问它,因为我只设置了我的公共子网来接收请求。
解决方案是创建一个新实例,这一次,选择正确的 公共 子网。当负载均衡器指向公有子网时,我的原始EC2实例与私有子网关联。
这是a link手绘图像帮助我指出我的问题,希望可以帮助其他任何设置有问题的人。我没有把图像直接放在这里,因为它大于2MB。
很高兴再回答任何问题!