若是您须要从本地 PC 端访问 Redis 实例进行数据操做,能够经过在 ECS 上配置端口映射或者端口转发实现。但必须符合如下前提条件:
若 Redis 实例属于专有网络(VPC),ECS 必须与 Redis 实例属于同一个 VPC。
若 Redis 实例属于经典网络,ECS 必须与 Redis 实例属于同一节点(地域)。
若 Redis 实例开启了 IP 白名单,必须将 ECS 的内网地址加入白名单列表内。java
目前云数据库 Redis 版须要经过 ECS 进行内网链接访问。若是您本地须要经过公网访问云数据库 Redis,能够在 ECS Linux 云服务器中安装 rinetd 进行转发实现。
在云服务器 ECS Linux 中安装 rinetd。linux
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar -xvf rinetd.tar.gz&&cd rinetd sed -i 's/65536/65535/g' rinetd.c (修改端口范围) mkdir /usr/man && make && make install 注意:rinetd 安装包下载地址不确保下载可用性,您能够自行搜索安装包进行下载使用。
打开配置文件 rinetd.conf。nginx
vi /etc/rinetd.conf 在配置文件中写入以下内容: 0.0.0.0 6379 云Redis的连接地址 6379 logfile /var/log/rinetd.log 说明:您能够使用 cat /etc/rinetd.conf命令来检验配置文件是否修改正确。
执行以下命令启动 rinetd。redis
[root@iasdfac98s9a9zc0h9z ~]# rinetd [root@iasdfac98s9a9zc0h9z ~]# ps -ef |grep rinetd root 1205 1 0 11:13 ? 00:00:00 rinetd 注意 您能够经过 echo rinetd >>/etc/rc.local 将 rinetd 设置为自启动。 若遇到绑定报错,能够执行 pkill rinetd 结束进程,再执行 rinetd启动进程 rinetd。 rinetd 正常启动后, 执行netstat -anp | grep 6379 确认服务是否正常运行。
netstat 验证数据库
[root@iasdfac98s9a9zc0h9z ~]# netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 1205/rinetd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 821/nginx: master p tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1094/sshd tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 960/java udp 0 0 0.0.0.0:68 0.0.0.0:* 672/dhclient udp 0 0 192.168.100.243:123 0.0.0.0:* 452/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 452/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 452/ntpd udp6 0 0 :::123 :::* 452/ntpd
在本地进行验证测试。
首先,让你的ECS放开6379端口
而后,链接测试:您能够在本地经过redis-cli链接ECS服务器后进行登陆验证,即redis-cli -h ECS的IP -a Redis的实例ID:Redis密码 (例如:redis-cli -h 39.106.38.252 -a r-2ze5194129e56544.redis.rds.aliyuncs.com:flzx300ccc)
最后,进行数据写入及查询验证。
本地验证,经过redis-desktop-manager设置链接: 链接host:ECS的IP地址 端口:6379 验证: xxxxxxxxxx.redis.rds.com:flzx300ccc服务器
经过上述步骤便可实现:您本地的 PC 或服务器经过公网链接 ECS Linux 6379 端口,对云数据库 Redis 进行访问。网络