我想对客户端无法连接到我的负载均衡器的问题进行故障排查。
解决方法
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
检查端口侦听器
验证是否为负载均衡器端口正确配置了相应的侦听器:
检查目标实例的安全组
检查负载均衡器背后实例的安全组设置。对于附加到负载均衡器的每个子网,确认侦听器端口和运行状况检查端口允许双向流量:
检查负载均衡器的安全组
检查负载均衡器的安全组设置。
**注意:**负载均衡器安全组必须允许出站流量在实例的侦听器端口和运行状况检查端口上通行。
检查网络 ACL(针对 VPC 中的负载均衡器)
确认与负载均衡器子网关联的网络 ACL 允许相应的流量。对于连接到您的虚拟私有云 (VPC) 的每个子网,必须允许侦听器端口和运行状况检查端口上的双向流量。有关详细信息,请参阅 VPC 中负载均衡器的网络 ACL。
检查路由表
确认负载均衡器所连接子网的路由表允许负载均衡器连接。负载均衡器连接必须使用指向互联网网关的默认路由。
**注意:**使用外部负载均衡器时,需要互联网网关。
验证负载均衡器的连接性
要验证从 Amazon Elastic Compute Cloud(Amazon EC2)实例到负载均衡器的连接,请执行以下步骤:
1. 连接到 Amazon EC2 实例(请参阅 Linux 实例或 Windows 实例的步骤)。
2. 确认实例是否安装了 netcat(nc)或 telnet。
3. 如果有公共负载均衡器,请验证实例是否有互联网连接。要确认互联网连接,请使用互联网网关或网络地址转换(NAT)网关。
4. 验证 Amazon EC2 实例安全组是否允许出站连接至互联网。然后,确认附加到实例在其上运行的子网网络 ACL 是否允许入站和出站流量。
5. 根据您的配置,运行以下命令之一:
nc -v <elb_ip_address> <listener_port>
telnet <elb_ip_address> <listener_port>
6. 从外部客户端,对负载均衡器侦听器的 IP 地址运行 traceroute(Linux 客户端)或 tracert(Windows 客户端)实用程序。
7. 查看输出。
**注意:**如果您收到来自经典负载均衡器、应用程序负载均衡器或网络负载均衡器的其他错误代码,请参阅以下内容:
检查是否存在负载或容量问题
偶尔出现的连接问题可能说明负载或容量可能有问题。有关故障排除步骤,请参阅如何解决弹性负载均衡中的经典负载均衡器容量问题?
相关信息
弹性负载均衡的工作原理
负载均衡器产生 HTTP 错误
对经典负载均衡器进行故障排除: HTTP 错误