ECS Windows服务器
如果您本地需要通过公网访问 云数据库 Redis,可以在 ECS Windows 云服务器中通过 netsh 进行端口映射实现。
1. 登录 ECS Windows 服务器,在 CMD 执行以下命令。(公网地址与 连接地址 请替换 为您的实际地址。)
netsh interface portproxy add v4tov4 listenaddress=ECS服务器的公网IP地 址 listenport=6379 connectaddress=云数据库Redis的连接地址 connectport=6379
说明:
ᅳ netsh interface portproxy delete v4tov4 listenaddress=ECS 公网服务器 的公网 IP 地址 listenport=6379 可以删除不需要的映射。
ᅳ netsh interface portproxy show all 可以查看当前服务器中存在的映射。
2. 设置完成后进行验证测试。 在本地 redis-cli 连接 ECS Windows 服务器后进行数据写入和查询验证,ECS Windows 服务器的 IP 是 1.1.1.1,即 telnet 1.1.1.1 6379。
注意:因 portproxy 由微软官方提供,未开源使用,您如果配置使用过程中遇到疑问,可 参看 netsh 的 portproxy 使用说明或向微软官方咨询确认。或者您也可以考虑通过其他 的方案实现,比如通过 portmap 配置代理映射。
ECS Linux服务器
目前云数据库 Redis 需要通过 ECS 的内网进行连接访问。如果您本地需要通过公网访问 云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现。
1. ECS Linux 上执行以下命令安装 rinetd。
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 安装包下载地址不确保下载可用性,您可以自行搜索安装包进行下载使 用。
2. 新建并打开配置文件。
vim /etc/rinetd.conf
3. 输入如下内容。
0.0.0.0 6379 Redis的链接地址 6379 #说明一下: 0.0.0.0表示本机绑定所有可用地址,将所有发往本机6379端口的请求转发到 Redis 的6379端口
logfile /var/log/rinetd.log
4. 执行如下命令启动 rinetd。
rinetd
注意:
通过 echo rinetd >>/etc/rc.local 可以设置为自启动。
可以使用 pkill rinetd 结束该进程。
5. 验证测试。
在本地通过Xshell 连接 ECS Linux 服务器后进行登录验证:
redis-cli -h ECS服务器的内网IP -a Redis 的实例 ID:Redis 密码
通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux 6379 端口,对 云数据库 Redis 进行访问。
注意: 您可以通过该方案进行测试使用,因 rinetd 为开源软件,如在使用过程中存在疑 问,您可以参看其官方文档或与 rinetd 官方进行联系确认。
redis-cli 导入数据
操作步骤:
1. 开启用户现有 Redis 实例的 AOF 功能(如果实例已经启用 AOF 功能则忽略此步 骤)。执行命令如下:
# redis-cli -h old_instance_ip -p old_instance_port config set appendonly yes
2. 通过 AOF 文件将数据导入到新的云数据库 Redis 版实例 (假定生成的 AOF 文件名 为 append.aof)。执行命令如下:
# redis-cli -h aliyun_redis_instance_ip -p 6379 -a password --pipe < appendonly.aof
注意事项:
1、如果原有旧的 Redis 实例不需要一直开启 AOF,可在导入完成后通过以下命令关闭。
# redis-cli -h old_instance_ip -p old_instance_port config set appendonly no
2、由于云数据库 Redis 版仅支持从内网访问。若您的 Redis 不在阿里云 ECS 服务器上,您需要将原有的 AOF 文件复制到 ECS 上再执行以上操作。
3、redis-cli 是 Redis 原生的命令行工具。若您在 ECS 上无法使用 redis-cli,可以先下 载安装 Redis 即可使用 redis-cli。
apt install redis-tools
同节点 Redis-cli 连接
redis-cli 是 Redis 原生的命令行工具。
云数据库 Redis 版仅支持内网访问,不支持外网访问,即只有在同节点的 ECS 上安装 Redis-cli 才能与云数据库建立连接并进行数据操作。
Redis-cli 连接云数据库 Redis 版的命令如下:
redis-cli -h 实例连接地址 -a 密码