如何使用Curl命令测试AWS Network Load Balancer?

时间:2019-09-18 06:57:14

标签: amazon-web-services curl amazon-ecs

我创建了一个带有TCP:80(HTTP)侦听器的AWS Network Load Balancer。该侦听器将请求转发到名为“ My-TargetGroup”的目标组。

我创建了一个任务定义,该任务指向运行在端口8080上的Spring Boot服务的Docker映像。在ECS中,当我创建ECS服务时,我选择了“ My-TargetGroup”,侦听器端口为80

我可以看到我的ECS服务已成功运行一个任务。但是,我不知道如何测试NLB是否能够将请求转发到基础的Spring Boot服务。例如。在我的Spring Boot API中,我有一个端点myapi / faq。如何通过curl调用此API?基本上,我将这个API端点称为http / https方法。因此,我现在想通过https协议将此API作为get调用进行测试

2 个答案:

答案 0 :(得分:0)

您可以尝试使用netcat命令进行各种连通性测试。这是语法

nc -v {host} {port}

使用-v(详细)选项,如果服务器套接字在连接上返回内容,则理想情况下应该看到输出。

答案 1 :(得分:0)

在进行curl之前,我建议您在基础架构方面进行确定,curl永远不会帮助您调试问题。 email: Joi.string().email({ minDomainSegments: 2, tlds: { allow: ['com', 'net'] } }) 可能适合您的情况,但通常网络负载平衡器可以在netwrok层上工作,因此您可以尝试使用curl

telnet

但是您需要确保目标健康吗?

enter image description here

因此,如果目标是运行状况良好的应用程序正在运行,并且LB应该做出响应,否则,请检查LB的安全组。

如果目标不健康,则ECS服务有问题,因此需要调试LB。