【问题标题】:Unable to access Redis (cluster mode enabled) Cluster's Endpoints无法访问 Redis(已启用集群模式)集群的端点
【发布时间】:2019-08-09 10:34:08
【问题描述】:

我有 1 个 VPC - 在该 1 个 EC2 实例(amazon ami)和 1 个 Redis(启用集群模式)集群下,具有 Auth(密码)和对所有 IP:Port 开放的安全组(仅用于测试)-非常简单的设置。

telnet 在我的 EC2 实例的 6379 端口工作 - 配置端点 - 分片>每个节点端点

无法使用 Redis CLI 连接到 Redis 服务器 - 无论是 Config 还是 Node 端点都无关紧要;使用 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

节点端点:

[root@ip-xx-xx-xx-xx src]# ./redis-cli -h xxxx-0001-0-01.xxxx.xxxxx.use1.cache.amazonaws.com  -p 6379

感谢任何帮助!

谢谢

【问题讨论】:

    标签: redis amazon-elasticache redis-cluster redis-cli


    【解决方案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

    【讨论】:

    • 您的解决方案似乎与对集群应用加密有关,而不是启用集群模式。