云主机实现外网转发访问内网的 Redis 和 MongDB 数据库

1、前提条件

    如果您需要从本地 PC 端访问 Redis 实例或者 MongDB 实例进行数据操作,可以通过在 ECS 云主机上配置端口映射或者端口转发实现。但必须符合以下前提条件:

  • Redis 实例或 MongDB 实例属于专有网络(VPC),ECS 必须与 Redis 实例属于同一个 VPC。
  • Redis 实例或 MongDB 实例属于经典网络,ECS 必须与 Redis 实例属于同一节点(地域)。
  • Redis 实例或 MongDB 实例开启了 IP 白名单,必须将 ECS 的内网地址加入白名单列表内。

2、ECS Linux 篇

    目前云数据库 Redis MongDB 版需要通过 ECS 云主机进行内网连接访问。
    如果您本地需要通过公网访问云数据库 RedisMongDB,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现。

2.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.2 打开配置文件 rinetd.conf。

在配置文件中写入如下内容:

#Redis配制
vi /etc/rinetd.conf 
0.0.0.0 6379  #云Redis的内网IP 6379 
0.0.0.0 27017 #云MongDB的内网IP 27017 
logfile /var/log/rinetd.log #开启日志

说明:您可以使用 cat 命令来检验配置文件是否修改正确。

cat /etc/rinetd.conf

2.3 启动 rinetd

[root@vm ~]# rinetd 
[root@vm ~]# ps -ef |grep rinetd 
root     20965     1  0 10:50 pts/0    00:00:00 rinetd

注意: 您可以将 rinetd 设置为开机自启动

echo rinetd >>/etc/rc.local

若遇到绑定报错,可以执行 pkill 结束进程,再执行 rinetd 重启进程

pkill rinetd 

rinetd 正常启动后, 执行 netstat 命令确认服务是否正常运行。

netstat -anp | grep 6379
netstat -anp | grep 27017

netstat 验证如下:

[root@vm ~]# netstat -tulnp
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1515/master
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      20965/rinetd
tcp        0      0 10.0.5.2:6379           0.0.0.0:*               LISTEN      20965/rinetd
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      19261/sshd: root@pt
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      743/sshd
udp        0      0 0.0.0.0:68              0.0.0.0:*                           686/dhclient
udp        0      0 0.0.0.0:39007           0.0.0.0:*                           20958/local

3、本地进行访问验证测试

3.1 ECS 放开 6379 端口或 27017 端口

3.2 本地连接测试

3.2.1 Linux 系统测试方式
安装 Redis 软件:

​​​​​​​yum install -y redis

本地通过 redis-cli 连接 ECS 服务器后进行登录验证,进行数据写入及查询验证。

[root@vm~]# redis-cli -h 120.92.88.247 -p 6379 -a password

​​​​​​​3.2.2 Windows 系统测试方式

Redis 本地验证

通过 redis-desktop-manager 软件
下载地址:https://download.csdn.net/download/hcqhappy/11574109
设置连接:ECS的IP地址 +  端口:6379  + 验证:Redis密码

云主机实现外网转发访问内网的 Redis 和 MongDB 数据库_第1张图片

通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux 6379 端口,对云数据库 Redis 进行访问。

云主机实现外网转发访问内网的 Redis 和 MongDB 数据库_第2张图片

 

MongDB 本地验证

通过 NoSQLBooster for MongoDB 软件 
下载地址:https://nosqlbooster.com/downloads

云主机实现外网转发访问内网的 Redis 和 MongDB 数据库_第3张图片

云主机实现外网转发访问内网的 Redis 和 MongDB 数据库_第4张图片

通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux 27017 端口,对云数据库 MongoDB 进行访问。

云主机实现外网转发访问内网的 Redis 和 MongDB 数据库_第5张图片

 

你可能感兴趣的:(云主机实现外网转发访问内网的 Redis 和 MongDB 数据库)