我最近在 AWS elasticache 上创建了一个 Redis 集群,但在我的本地机器上通过 redis-cli 连接时遇到了问题。每次我运行命令时:
redis-cli -h <redis_cluster_domain> -p 6379
连接永远不会建立并最终由于超时而退出。
最终,我认为由于安全组上的设置而被阻止,因此我编辑了入站规则以允许来自我的 IP 地址的所有流量。即使这样做了,我仍然无法连接到集群。任何想法为什么会这样?
我最近在 AWS elasticache 上创建了一个 Redis 集群,但在我的本地机器上通过 redis-cli 连接时遇到了问题。每次我运行命令时:
redis-cli -h <redis_cluster_domain> -p 6379
连接永远不会建立并最终由于超时而退出。
最终,我认为由于安全组上的设置而被阻止,因此我编辑了入站规则以允许来自我的 IP 地址的所有流量。即使这样做了,我仍然无法连接到集群。任何想法为什么会这样?
我想到了。
显然,默认情况下,您无法从 AWS 外部访问 elasticache 集群。为此,您需要通过 AWS 创建一个 VPN 并连接到该 VPN 以访问您想要的集群。
此处的 AWS 教程概述了执行此操作的步骤,但更简单地说,我所做的只是以下内容:
使用 AWS Certificate Manager 创建和导入授权证书。您将使用此证书来授权您的 VPN 连接。
创建一个 VPN 客户端端点并将上一步中生成的密钥和证书附加到它。
将您的 elasticache 集群上使用的 VPC 与 VPN 终端节点相关联。
为所有用户授权 VPN 上的所有流量。
将路由添加到您的 VPN 端点的路由表以允许从任何地方 (0.0.0.0/0) 进行访问。
在本地下载 VPN 客户端配置文件并使用“openvpn”连接到 VPN(您可能需要 brew install this)以及您在第一步中创建的证书和密钥。
这对我有用,我很高兴我明白了。现在我可以使用“redis-cli”从本地机器连接到我的 Redis 集群!