Amazon ElastiCache for Redis 集群部署后redis-处理连接后一直没响应,但是telnet能通

现象

部署Amazon ElastiCache for Redis 集群后, 在AWS EC2实例上, 该Ec2实例和redis集群都在同一个VPC下, 通过redis-cli -h Primary or Configuration Endpoint -a 'your-password' -p 6379 方式连接redis集群无响应并且一直卡住, 使用telnet Primary or Configuration Endpoint 6379 测试能联通6379端口但是还是无响应

原因

TransitEncryptionEnabled = true, 可以检查下encryption in transit类似的参数,有可能默认情况下被设置为true了, 该参数设置为true时res-li连接时需要带上--tls参数 , 如下:

#无密码
redis-cli -h "Primary or Configuration Endpoint" --tls -p 6379
#有密码
redis-cli -h Primary or Configuration Endpoint --tls -a 'your-password' -p 6379

其他

如果redis-cli 不支持--tls参数的话需要按照文档https://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/red-ug/in-transit-encryption.html#connect-tls重新编译

如下:

sudo yum -y install openssl-devel gcc
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make distclean
make redis-cli BUILD_TLS=yes
sudo install -m 755 src/redis-cli /usr/local/bin/

参考

  1. redis-cli connection to Amazon ElastiCache Redis cluster hangs up
  2. 使用 redis-cli 连接到启用了传输中加密的 Amazon ElastiCache for Redis 节点
  3. 访问您的集群或复制组

猜你喜欢

转载自blog.csdn.net/qq_26545503/article/details/128919342
今日推荐