AWS排查ALB健康检查失败的原因

AWS排查ALB健康检查失败的原因

负载平衡器使用指定的端口、协议和ping路径向每个注册目标发送健康检查请求

Path

查看虚拟机中的请求文件路径

$ curl http://localhost:80
<h1>Hello from Nginx!</h1>

nginx中请求路径是根路径,那么在目标组的路径中也需要写/
在这里插入图片描述

Timeout

当您看到此原因代码时,则表示应用程序负载均衡器将其运行状况检查HTTP GET请求发送到目标,并且在运行状况检查超时之前未收到响应

当负载均衡器没有在健康检查设置的超时时间内收到响应,那么就会被认为成是unhealthy
在这里插入图片描述

导致Failure的两个原因

  • 负载均衡器和目标组之间存在连通性问题

  • ALB 没有在设置的Timeout 时间内收到目标组实例的响应

确保目标器和负载均衡器在健康检查端口和健康检查协议上允许流量相互进出
后端实例port:80
在这里插入图片描述
使用的协议http
在这里插入图片描述
Make Sure

负载均衡器的出站流量可以路由到后端EC2的入站流量(协议 && 端口)

如果您在不同的VPC中有负载均衡器和目标,则确保子网的网络acl允许从目标到临时端口上的负载均衡器节点的流量(1024 - 65535)

确认目标OS层面的防火墙允许健康检查流量的进出

ALB没有在设置的Timeout时间内收到目标组实例的响应

去查看目标组收到响应的时间,如果收到响应需要更长时间,那么需要手动更改Timeout 超时时间

健康检查403
  • 检查应用已开启且正在运行

  • 目标组在监听健康的端口

  • 如果目标组连接多个接口,然后验证您的应用程序正在正确的网络接口上侦听

  • ALB使用ELBSecurityPolicy-2016-08 安全策略对https进行健康检查

    确保alb目标组支持一个或多个匹配密码和负载均衡器在此安全策略中提供的协议来建立TLS握手

ALB状态码

Elb.InitialHealthCheck - 初始健康检查正在进行中

Elb.RegistrationInProgress - 目标注册正在进行中

Target.DeregistrationInProgress - 目标注销正在进行中

Target.InvalidState - 目标处于停止状态或终止状态

Target.IpUnusable - 目标类型为IP,并且您选择的IP地址已经被负载平衡器使用

Target.NotInUse - 目标组未被任何负载平衡器使用,或者目标位于未为其负载平衡器启用的可用性区域中

Target.NotRegistered - 目标器未注册到目标组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值