当前位置: 首页 > 知识库问答 >
问题:

无法访问Redis(启用群集模式)群集的终结点

公良理
2023-03-14

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

telnet在我的EC2实例(配置endpoint)的6379端口工作

无法使用Redis CLI连接到Redis服务器-无论是配置endpoint还是节点endpoint都无关紧要;使用v.5.0.4版本的Redis CLI;

请注意-AWS ElastiCache Redis群集(群集禁用)或单服务器节点,提供主endpoint,工作正常。只有当群集启用并获得配置endpoint/节点endpoint-然后有问题。

配置endpoint:

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

节点endpoint:

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

感谢您的帮助!

谢谢

共有1个答案

吕自明
2023-03-14

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

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

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

 类似资料:
  • 我是Docker Swarm的新手。我试图用compose文件在Docker swarm上部署redis集群。我希望redis集群使用端口6380,所以我配置了端口,并让它在compose文件中挂载redis配置文件。 但是当我运行时,我得到了一个错误的声明,“对不起,集群配置文件redis-node.conf已经被不同的Redis集群节点使用了。请确保不同的节点使用不同的集群配置文件。” 这是我

  • Redis streams是否受益于群集模式?假设您有10个流,它们是分布在集群中还是全部分布在同一个节点上?我计划使用Redis streams实现真正的高吞吐量(每秒200万条消息),因此我担心Redis streams在这种规模下的性能。 如果Redis streams不能在集群模式下进行开箱即用的扩展,那么任何关于水平扩展Redis streams的指导都会非常棒。

  • 第一次使用 kubectl 访问 如果您是第一次访问 Kubernetes API 的话,我们建议您使用 Kubernetes 命令行工具:kubectl。 为了访问集群,您需要知道集群的地址,并且需要有访问它的凭证。通常,如果您完成了入门指南那么这些将会自动设置,或者其他人为您部署的集群提供并给您凭证和集群地址。 使用下面的命令检查 kubectl 已知的集群的地址和凭证: $ kubectl

  • Redis 集群(Redis Cluster) 是 Redis 提供的分布式数据库方案。 既然是分布式,自然具备分布式系统的基本特性:可扩展、高可用、一致性。 Redis 集群通过划分 hash 槽来分片,进行数据分享。 Redis 集群采用主从模型,提供复制和故障转移功能,来保证 Redis 集群的高可用。 根据 CAP 理论,Consistency、Availability、Partition

  • 问题内容: 我想在Kubernetes中创建6个节点的Redis集群。我正在使用 Minikube 运行 kubernetes 。 以下是我创建6节点群集的实现。 创建有状态集之后,我将从一个Pod内部执行redis create cluster命令。 这些都是pod的ips。有了这个,我就能启动集群了。但是一旦我手动删除使用 例如,删除IP地址为172.17.0.6:6379的Redis节点(假

  • 根据用户部署和暴露服务的方式不同,有很多种方式可以用来访问 kubernetes 集群。 最简单也是最直接的方式是使用 kubectl 命令。 其次可以使用 kubeconfig 文件来认证授权访问 API server。 通过各种 proxy 经过端口转发访问 kubernetes 集群中的服务 使用 Ingress,在集群外访问 kubernetes 集群内的 service