redis的使用,正常场景中,应用与部署了DCS Redis缓存数据库的服务器需要在同一个VPC内,而且必须配置相同的安全组规则,以便两者能正常通信。为了方便开发人员在本地搭建开发或测试环境,提高开发效率,华为云DCS提供了一个新功能,即通过公网连接Redis缓存实例。
这里需要提醒一点:通过公网访问可能会降低访问效率,所以对于生产环境,还是建议将应用与DCS Redis实例部署在同一个VPC内,保障访问效率。
本文的主要内容是:
安装并配置Stunnel客户端
安装Redis客户端
本文操作的前提是已经在华为云Console控制台(点击这里进入)申请了DCS Redis实例,并已记录了Redis实例的访问IP和端口。
公网访问DCS Redis实例,重点是安装和配置Stunnel客户端。
我的本地开发环境操作系统为Linux,这里重点介绍下怎么在Linux下安装和配置Stunnel客户端。如果是Windows系统,可参考华为云DCS的官方文档。步骤如下:
1. 安装stunnel客户端。
推荐使用apt和yum两种安装方式,常见Linux系统,一般至少支持其中一种。
apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:
apt install stunnel
或
apt-getinstall stunnel
如果命令执行后提示找不到Stunnel,可以尝试执行apt update,更新配置后再安装Stunnel。
yum方式安装。管理rpm格式的软件包,适用于Fedora、CentOS、Red Hat等操作系统。
yum install stunnel
2. 安装成功后,编辑/etc/default/stunnel4,将参数ENABLED设置为1。
3. 配置stunnel客户端,配置文件为stunnel.conf。
以下配置项需要修改,其他配置项保持默认值即可:
debug = 4
output = /var/log/stunnel.log
sslVersion = all
[redis-client]
client = yes
accept = 8000
connect = {弹性IP地址}:{端口}
CAfile = /etc/stunnel/dcs-ca.cer
4. 启动stunnel服务。
使用了Stunnel默认配置文件,则直接执行命令:
stunnel
自定义配置文件的路径,则执行命令:
stunnel /{customdir}/stunnel.conf
其中/{customdir}/stunnel.conf为自定义存储路径。
Ubuntu还可以使用 service stunnel4 start 或者systemctl startstunnel4。Stunnel4.x的版本,服务/进程名为stunnel4。
启动后可执行ps -ef|grep stunnel确认进程是否正常运行。
5. 查看127.0.0.1:8000是否已经被监听。
8000即中accept字段配置的Stunnel监听端口。
netstat -plunt |grep 8000|grep "LISTEN"
Redis客户端连接“127.0.0.1:8000”,stunnel会将请求转发给DCS的Redis缓存实例。
1. 获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-3.0.7.tar.gz。
2. 解压并安装Redis客户端。
tar -xzf redis-3.0.7.tar.gz
cd redis-3.0.7
make
3. 连接缓存实例。
cd src
./redis-cli -p 8000
auth
8000即中stunnel配置文件中accept字段配置的Stunnel监听端口。
连接成功后,回显信息如下:
OK
127.0.0.1:8000>