使用 java 访问 AWS ECS 负载均衡器端点
Posted
技术标签:
【中文标题】使用 java 访问 AWS ECS 负载均衡器端点【英文标题】:Hit AWS ECS load balancer endpoint using java 【发布时间】:2021-07-02 09:55:36 【问题描述】:我正在尝试使用适用于 java 的 AWS 开发工具包访问负载均衡器端点,但是我在 AmazonECSClient 类中没有看到任何 API。我看到了设置端点、区域、凭据等的选项。
AmazonECSClient.builder()
.withCredentials(new DefaultAWSCredentialsProviderChain())
.withRegion(region)
.withEndPoint()
.build();
使用 curl 命令测试端点并且它可以工作 - curl http://elb-dummy-endpoint.us-east-1.elb.domain.com:80/invocations -d '"query": "some query"' -H 'Content-Type: application/json'
我是否必须进行常规 API 调用?
【问题讨论】:
【参考方案1】:我正在尝试使用 AWS SDK for java 访问负载均衡器端点
您不会使用 AWS 开发工具包来访问负载均衡器端点。 AWS 开发工具包用于与 AWS API 交互以执行创建负载均衡器等操作。负载均衡器服务于您的 API,而不是 AWS API,因此您不会使用 AWS 开发工具包与负载均衡器交互。
您尝试使用的AmazonECSClient
类用于创建/更新/删除 ECS 集群、服务和任务等操作。它不是您在 ECS 上运行的应用程序的客户端。
使用 curl 命令测试端点并且它可以工作 - curl http://elb-dummy-endpoint.us-east-1.elb.domain.com:80/invocations-d '"query": "some query"' -H 'Content-Type: application/json'
您在此处使用 curl
对其进行测试以进行基本的 HTTP 调用,您没有使用 AWS CLI 工具。在 Java 中,你会做同样的事情,make a basic HTTP call 针对端点。
【讨论】:
以上是关于使用 java 访问 AWS ECS 负载均衡器端点的主要内容,如果未能解决你的问题,请参考以下文章
aws 如何从生产环境中的 lambda 函数访问 ECS 服务
我是不是需要 AWS ECS 中带有 nginx 的 AWS 负载均衡器?
在网络负载均衡器 + 目标组后面运行 SSH 的 AWS ECS 服务使用 CodeDeploy 部署缓慢