[英]How to connect to specific instance behind Elastic Load Balancer
[英]ECS instance can't connect to itself behind network load balancer
我们有一个服务(基于 Java)和 mysql 都作为 ECS 服务运行。 该服务希望通过 .network ELB 与 mysql 数据库通信。
当我们的服务和mysql数据库运行在同一个EC2实例上时,无法连接到mysql数据库。 我可以使用 te.net 重现此内容 - 如果我从另一台计算机通过 ELB 将 te.net 连接到 mysql 数据库,但如果我将 ssh 连接到运行 mysql 的 EC2 实例,然后尝试将 te.net 连接到它通过 ELB,它只是挂起。
这是怎么回事?
如果实例需要通过 a.network 负载均衡器连接到自身,我认为让它工作的唯一方法是禁用负载均衡器目标组上的客户端 IP 保留。
来自https://docs.aws.amazon.com/elasticloadbalancing/latest.network/load-balancer-troubleshooting.html
检查您的目标组是否启用了客户端IP保留。 启用客户端 IP 保留的负载均衡器不支持发夹或环回。 如果一个实例是它注册的负载均衡器的客户端,并且启用了客户端 IP 保留,则仅当请求路由到不同的实例时连接才会成功。 否则源和目的IP地址相同,连接超时。
如果实例必须向其注册的负载均衡器发送请求,请执行以下操作之一:
禁用客户端 IP 保存。
确保必须通信的容器位于不同的容器实例上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.