如何连接到 AWS elasticache?

How to connect to AWS elasticache?

谁能给出连接到 elasticache 的分步过程。

我正在尝试从我的 EC2 实例(通过 sshed in)连接到一个 redis elasticache 节点。我每次都收到连接超时错误,而且我无法弄清楚我配置 AWS 设置的方式有什么问题。

它们在不同的 VPC 中,但在我的 elasticache VPC 中,我在端口 6379 有一个自定义的 TCP 入站规则,可以从任何地方接受。这两个 VPC 共享一个我设置的 Active Peer 连接。我还打算做什么?

编辑:

我正在尝试通过 redis-cli 命令进行连接。因为我的 EC2 实例托管节点服务器,所以我最初尝试通过 node-redis 模块连接。所以我的两次正式尝试是 1. 脚本模块和 2. AWS 文档中提供的 redis-cli 命令。

据我所知,我也根据这个正确设置了路由表:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#route-tables-vpc-peering

您无法从其 VPC 外部连接到 Elasticache。这是 AWS 的一个奇怪的设计决定,虽然它没有很好地记录,但记录在案 here:

Amazon ElastiCache Nodes, deployed within a VPC, can never be accessed from the Internet or from EC2 Instances outside the VPC.

您可以将您的安全组设置为允许来自任何地方的连接,它看起来可以正常工作,但这并不重要,或者让您实际从 VPC 外部进行连接(这也是一个奇怪的设计决定)。

在您的 Redis 集群属性中,您有一个对安全组的引用。复制它。

在我们的 EC2 实例中,您还有一个安全组。您应该编辑此安全组并在出站连接中添加 Redis 安全组的 ID 作为 CIDR + 端口 6379。

这样两个安全组就链接起来了,可以建立连接了。

尝试连接到 ElasticCache 时我们可能会忘记两件事,

  1. 配置入站 TCP 规则以允许端口 6379 上的传入请求
  2. 在 ElasticCache 实例中添加 EC2 安全组

第二个帮了我。

参考(2):https://www.youtube.com/watch?v=fxjsxtcgDoc&ab_channel=HendyIrawanSocialEnterprise

以下是从与 Elasticache 位于同一 VPC 中的 EC2 实例连接到 Redis Elasticache 集群的分步说明: Connect to a Elasticache Redis Cluster's Node