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