要解决AWS负载均衡器工作不正常的问题,需要确保负载均衡器上的目标组配置正确,并且后端实例的健康检查通过。同时,确保负载均衡器正确地将流量转发到后端实例。
以下是一个使用AWS CLI创建负载均衡器的示例,并将流量转发到EC2实例的代码:
# 创建负载均衡器
aws elbv2 create-load-balancer --name my-load-balancer --subnets subnet-xxxxxxx --security-groups sg-xxxxxxx
# 创建目标组
aws elbv2 create-target-group --name my-target-group --protocol HTTP --port 80 --vpc-id vpc-xxxxxxx
# 注册后端实例到目标组
aws elbv2 register-targets --target-group-arn arn:aws:elasticloadbalancing:region:xxxxxxxxxxxx:targetgroup/my-target-group/xxxxxxxxxxxx --targets Id=i-xxxxxxxxxxxx
# 创建监听器并将流量转发到目标组
aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:xxxxxxxxxxxx:loadbalancer/my-load-balancer/xxxxxxxxxxxx --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:xxxxxxxxxxxx:targetgroup/my-target-group/xxxxxxxxxxxx
请确保替换示例中的参数(如子网、安全组、VPC和实例ID)为您自己的值。
此外,还需要确保EC2实例上的Web服务器正在侦听正确的IP和端口,并且安全组允许来自负载均衡器的流量。
若要提供网站视图,可以在EC2实例上部署Web服务器(如Apache或Nginx),并将其配置为侦听负载均衡器传递的流量。然后,负载均衡器将流量转发到Web服务器,并将响应返回给客户端。
根据您使用的Web服务器和应用程序框架的不同,配置可能会有所不同。请查阅相应的文档或寻求相关的技术支持以获取更详细的指导。