需为AWS上的Aeron Cluster开放哪些防火墙端口以正常通信?
Aeron Cluster 客户端超时问题排查与解决
核心原因
Aeron Cluster 采用双向UDP通信模式:
- 客户端通过集群的Ingress UDP端口发送请求和心跳包
- 集群需要主动向客户端回发响应、心跳确认及集群状态更新,这部分流量依赖集群到客户端的UDP连通性
你仅开放了集群的Ingress入站端口,但集群无法向客户端回传数据,导致客户端心跳无法被集群确认,最终触发超时,反映在Cluster timed out client count统计值增长。
必须的端口/连通性配置
- 保留已开放的集群Ingress UDP端口
- 确保AWS集群节点能发起UDP流量到客户端设备:
- 客户端运行Aeron时会动态绑定本地UDP端口用于接收集群回包,需保证该端口未被客户端本地防火墙拦截
- 若客户端在NAT网络(如家用宽带),需在路由器上配置端口转发,将客户端的Aeron监听端口映射到公网IP
- 调整AWS安全组出规则,允许集群节点向客户端的IP段发送UDP流量(适配客户端动态端口场景,比固定端口更灵活)
额外排查步骤
- 检查客户端Aeron配置:确认
aeron.client.channel正确指向集群Ingress端口,且客户端本地监听端口无防火墙限制 - 测试双向UDP连通性:用
nc -u <集群IP> <Ingress端口>从客户端发测试包,同时在客户端用nc -ul <本地监听端口>监听,验证是否能收到集群回包 - 查看Aeron日志:集群和客户端的日志会输出具体超时细节,比如
Client heartbeat timeout或No response received from cluster
内容的提问来源于stack exchange,提问作者Theboy
相关产品推荐
相关产品推荐

