amazon-web-services - 使用 UDP ECS 服务对 NetworkLoadBalancer 进行健康检查

标签 amazon-web-services amazon-ec2 udp amazon-ecs aws-elb

我正在尝试部署仅使用 UDP 端口的 ECS 服务。通过 NetworkLoadBalancers 添加了对 UDP 负载平衡的支持,因此我部署了我的服务,允许为我的任务动态分配主机端口,并使用适当的监听器和目标组设置 NLB。

我遇到的问题是 NLB 显然必须进行健康检查,并且必须基于 TCP。对于健康检查端口,您可以保留默认的“目标”端口(这适用于动态主机端口分配),或者您可以指定一个端口。我不能做的是为 TCP 公开的端口与我的负载均衡器目标 UDP 端口不同。我可以让我的容器在同一端口上同时监听用于生产的 UDP 和用于健康检查的 TCP,但是即使 Docker 很好地支持它,任务定义似乎也不允许这样做。

这似乎会使 UDP NLB 对 ECS 服务无用,除非我遗漏了什么?我想出的唯一替代方法是使用静态配置的主机端口,以便我可以在受控主机端口上为 TCP 公开第二个端口,并将其作为 NLB 运行状况检查的目标。问题是我们现在已经失去了 ECS 的所有可扩展性优势,因为无法在一个实例上运行多个任务。

最佳答案

关于amazon-web-services - 使用 UDP ECS 服务对 NetworkLoadBalancer 进行健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57698978/

相关文章:

amazon-web-services - 如何使用 S3/Cloudfront 在子文件夹中提供 index.html?

java - 如何从 Amazon Cognito 代码/ token 获取委托(delegate)人

amazon-web-services - 无法通过 CloudFormation 创建 EC2 key 对

amazon-web-services - 我可以配置我的 .ssh/config 文件以使用我的 aws pem 文件作为所有 ec2 连接的默认值吗

c# - .NET Framework 和 CLR 版本有什么区别

udp - "Address already in use": I'm misunderstanding UDP

amazon-web-services - 用于工单管理系统的 dynamo db 中的数据建模

node.js - 从 AWS dynamoDB 中的 JSON 数组中删除元素

c# - .net 中的双向/环回 UDP

udp - 如何让 Wireshark 读取没有 UDP/IP/以太网 header 的无 header pcap 文件?