无法访问 Redis(已启用集群模式)集群的端点

Dee*_*ppa 5 redis amazon-elasticache redis-cli redis-cluster

我有 1 个 VPC - 在 1 个 EC2 实例(亚马逊 ami )和 1 个 Redis(已启用集群模式)集群下,具有身份验证(密码)并且安全组对所有 IP:端口开放(仅用于测试目的) - 所以设置非常简单。

telnet 在我的 EC2 实例的端口 6379 上工作 - 配置端点 - Shard>eachNode EndPoint

无法使用 Redis CLI 连接到 Redis 服务器 - 无论端点是配置端点还是节点端点;使用 v.5.0.4 的 Redis CLI ;

请注意 - AWS ElastiCache Redis 集群(已禁用集群)或单服务器节点提供主端点,工作正常。仅当启用集群并获取 ConfigEndpoint/NodeEndPoints 时,才会出现问题。

配置端点:

[root@ip-xx-xx-xx-xx src]# ./redis-cli -h clustercfg.xxxx.xxxxx.use1.cache.amazonaws.com  -p 6379
Run Code Online (Sandbox Code Playgroud)

节点端点:

[root@ip-xx-xx-xx-xx src]# ./redis-cli -h xxxx-0001-0-01.xxxx.xxxxx.use1.cache.amazonaws.com  -p 6379
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

谢谢

Dee*_*ppa 1

在这个问题上花了几天时间后,我找到了解决方案 - 我们需要 stunnel 或任何其他创建 SSL 隧道的等效工具,redis-cli 不支持 ssl 或 tls。

要从启用传输中加密的 ElastiCache for Redis 节点访问数据,您可以使用支持安全套接字层 (SSL) 的客户端。但是,redis-cli 不支持 SSL 或传输层安全性 (TLS)。要解决此问题,您可以使用 stunnel 命令创建到 Redis 节点的 SSL 隧道。然后,您使用 redis-cli 连接到隧道以访问来自加密 Redis 节点的数据。

https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/in-transit-encryption.html