You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将开发机连接至Amazon Memory DB集群?VPN连接后访问失败求助

解决VPN连接后无法访问AWS MemoryDB集群的问题

1. 先找到MemoryDB的私有IP

  • 控制台操作:打开AWS MemoryDB控制台,进入目标集群详情页,滚动到「节点」区域,每个节点的「Endpoint」字段里的前缀就是私有IP(比如10.0.2.100:6379,前面的10.0.2.100就是IP)。
  • CLI命令方式(替换你的集群名):
    aws memorydb describe-clusters --cluster-name your-cluster-name --query 'Clusters[0].Nodes[*].Endpoint.Address'
    
    执行后直接输出所有节点的私有IP列表。

2. 检查MemoryDB安全组配置

  • 找到MemoryDB集群关联的安全组,在入站规则里添加VPN客户端所在的CIDR段(比如VPN分配的客户端IP段是192.168.100.0/24),允许TCP端口6379的访问。
  • 核心原因:EC2能正常连接是因为其所在CIDR已经在安全组允许列表中,但VPN客户端的IP段大概率未被添加,这是此类问题最常见的诱因。

3. 验证VPN与VPC的路由配置

  • 确认OpenVPN服务器推送的路由包含MemoryDB所在子网的CIDR。比如MemoryDB部署在10.0.1.0/24子网,需确保VPN客户端能获取这条路由(开发机上可通过ip route(Linux/macOS)或route print(Windows)查看路由表)。
  • 检查VPC路由表:MemoryDB所在子网的路由表,需存在指向VPN网关的路由条目,允许来自VPN客户端CIDR的流量通行。

4. 定位故障的实用工具

  • 在能正常连接MemoryDB的EC2上抓包排查:
    sudo tcpdump port 6379 -i any
    
    同时在开发机执行telnet <MemoryDB私有IP> 6379,若EC2上看不到数据包,说明路由存在问题;若能看到数据包但无响应,大概率是安全组或MemoryDB自身配置问题。
  • 开发机上追踪路由:
    traceroute -T -p 6379 <MemoryDB私有IP>  # Linux/macOS
    tracert -d -p 6379 <MemoryDB私有IP>       # Windows
    
    通过数据包卡住的节点,快速定位是VPN路由、VPC路由还是子网安全组的问题。

5. 排除其他次要问题

  • 确认MemoryDB未启用传输加密:若开启加密,telnet会直接失败,需使用redis-cli --ssl -h <IP> -p 6379连接(但你EC2能正常telnet,这条可优先忽略)。
  • 检查开发机本地防火墙:临时关闭防火墙,测试是否能连通,排除本地端口拦截的可能。

内容的提问来源于stack exchange,提问作者kah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:50:33