Node.js连接AWS ElastiCache Redis超时失败求助
Node.js连接AWS ElastiCache Redis超时问题求助
使用Node.js连接AWS ElastiCache Redis时遇到连接超时问题,尝试多种方案未解决,请求技术帮助。
代码实现
const redis = createClient({ socket: { host: process.env.REDIS_HOST, port: Number(process.env.REDIS_PORT), tls: true, connectTimeout: 30000, }, });
错误日志
Redis Client Error Error: connect ETIMEDOUT
排查方向
- 确认网络环境:AWS ElastiCache Redis默认仅允许VPC内部访问,检查你的Node.js服务是否与ElastiCache集群处于同一VPC;若需外部访问,需通过NAT实例、VPN等打通网络,或开启集群公网访问(生产环境不建议)。
- 检查安全组规则:确保ElastiCache集群的安全组允许Node.js服务所在安全组/IP访问对应Redis端口(默认6379,启用TLS则为6380)。
- 核对连接参数:验证
REDIS_HOST和REDIS_PORT环境变量是否正确,确认ElastiCache端点地址无误,端口与集群配置匹配。 - 验证TLS配置:如果ElastiCache未启用TLS,代码中
tls: true会导致连接失败;可先设置tls: false测试连接,再确认集群的TLS状态。 - 排查资源与防火墙:检查ElastiCache集群是否健康、是否达到连接上限;同时确认Node.js服务所在服务器的出站防火墙规则允许访问Redis端口。
内容的提问来源于stack exchange,提问作者conchomauvang
相关产品推荐
相关产品推荐

