我在 Amazon 弹性缓存上创建了一个 redis 终端节点,并设置 vpc 和 NAT 网关。我需要将创建的 redis 端点与 redis-cli 连接。我使用这样的命令
redis-cli -h dev-redis.434dffsdsf.0094.ustyue1.cache.amazonaws.com
但是我收到这样的错误消息
Could not connect to Redis at dev-redis.a35gy4.0001.use1.cache.amazonaws.com:6379: Connection timed out
我尝试了几种方法
- 尝试从我的本地 Ubuntu 机器连接。
- 已尝试从 EC2 实例进行连接。
我的源代码在 aws lambda 上运行。使用 AWS lambda,我们可以成功连接到同一个 Redis 终端节点。
我的 redis 客户端的实际问题是什么?
请检查 ElastiCache 的 SG。运行 Redis CLI 的服务器应该可以访问 Redis 实例。
选项 1 将不起作用,因为 ElastiCache 实例无法在其 VPC 之外访问。常见问题解答中:"部署在 VPC 内的 Amazon ElastiCache 节点永远无法从互联网或 VPC 外部的 EC2 实例访问。
如果 EC2 实例与 ElastiCache 实例位于同一 VPC 中,则选项 2 应该有效。
添加更多详细信息,因为这里没有一个答案让我完全清楚
- 什么是安全组 - AWS 中的安全组就像防火墙。
- 我应该在安全组中检查什么 - 如果端口 6379 对您尝试访问 Redis/ElasticCache 的 EC2 实例的 CIDR(例如 192.168.32.0/20)内的 IP 开放,则检查附加到 Redis 的安全组的入站规则