无法从本地计算机连接到 AWS Elasticache Redis 集群

问题描述 投票:0回答:4

我最近在 AWS elasticache 上创建了一个 Redis 集群,但在从本地计算机通过 redis-cli 连接时遇到问题。每次我运行命令时:

redis-cli -h <redis_cluster_domain> -p 6379

连接从未建立,最终因超时而退出。

最终,我发现它是由于安全组上的设置而被阻止的,因此我编辑了入站规则以允许来自我的 IP 地址的所有流量。即使执行此操作后,我仍然无法连接到集群。有什么想法吗?

amazon-web-services amazon-vpc aws-security-group redis-cli amazon-elasticache
4个回答
13
投票

我明白了。

显然,默认情况下您无法从AWS外部访问elasticache集群。为此,您需要通过 AWS 创建 VPN 并连接到该 VPN,以便到达所需的集群。

本 AWS 教程此处概述了执行此操作的步骤,但更简单地说,我所做的就是以下内容:

  1. 使用 AWS Certificate Manager 创建并导入授权证书。您将使用此证书来授权您的 VPN 连接。

  2. 创建 VPN 客户端端点并附加上一步中生成的密钥和证书。

  3. 将 Elasticache 集群上使用的 VPC 与 VPN 终端节点关联。

  4. 为所有用户授权 VPN 上的所有流量。

  5. 将路由添加到 VPN 端点的路由表中,以允许从任何地方 (0.0.0.0/0) 进行访问。

  6. 在本地下载 VPN 客户端配置文件,并使用“openvpn”(您可能需要安装它)以及第一步中创建的证书和密钥连接到 VPN。

这对我有用,我很高兴我明白了。现在我可以使用“redis-cli”从本地计算机连接到我的 Redis 集群!


2
投票

您还可以通过跳转服务器/堡垒主机甚至本地端口转发来完成此操作。


0
投票

可能需要在Redis集群的网络&安全中编辑入站规则。另外,如果您使用VPN,请确保您是否已创建TCP协议条目。


0
投票

对于后代,如果您尝试通过同一 VPC 中的资源进行连接但仍然无法连接,并且您已启用传输中加密,则可能需要在命令行中使用 redis-cli 传递 --tls 选项在您的 Redis 集群上。

更多详细信息请点击此处 -> https://repost.aws/knowledge-center/elasticache-redis-cluster-fix-connection

© www.soinside.com 2019 - 2024. All rights reserved.