说明:亚马逊云(aws)产品Amazon MemoryDB for Redis,使用TLS传输加密,只能在vpc内部使用ec2服务器连接,本地Windows电脑没有TLS命令。无法使用redis可视化工具连接。
下面是本地可视化工具连接aws-redis方法。
使用stunnel命令创建到 redis 节点的 SSL 隧道。然后,您可以使用 redis-cli 连接到从隧道,以便从加密的 Redis 节点访问数据。具体步骤如下所示:
在aws上找台ec2服务器, SSH登陆服务器,安装stunnel
1、sudo yum -y install stunnel
- 运行以下命令可同时创建和编辑'/etc/stunnel/redis-cli.conf'文件,以将一个 ElastiCache for Redis 集群终端节点添加到一个或多个连接参数,并将下面提供的输出用作模板:
sudo vim /etc/stunnel/redis-cli.conf
fips = no
setuid = root
setgid = root
pid = /var/run/stunnel.pid
debug = 7
delay = yes
options = NO_SSLv2
options = NO_SSLv3
[redis-cli]
client = yes
accept = 127.0.0.1:6379
connect = master.ssltest.wif01h.use1.cache.amazonaws.com:6379
[redis-cli-replica]
client = yes
accept = 127.0.0.1:6380
connect = ssltest-02.ssltest.wif01h.use1.cache.amazonaws.com:6379
注明:
- client设置为 yes 以指定此 stunnel 实例是客户端
- accept设置为客户端 IP。在此示例中,主 IP 设置为端口 6379 上的 Redis 默认 127.0.0.1。副本 必须调用另一个端口并设置为 6380。您可以使用临时端口 1024–65535。
- connect设置为 Redis 服务器终端节点
- 启动stunnel
sudo stunnel /etc/stunnel/redis-cli.conf
使用netstat命令确认隧道已启动
sudo netstat -tulnp | grep -i stunnel
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 3189/stunnel
tcp 0 0 127.0.0.1:6380 0.0.0.0:* LISTEN 3189/stunnel
- 使用隧道的本地终端节点连接到加密的 Redis 节点
/home/ec2-user/redis-stable/src/redis-cli -h localhost -p 6379
- 要停止并关闭 SSL 隧道,请对 stunnel 过程执行pkill操作
sudo pkill stunnel
6、到此我们stunnel隧道已做好,下面就是直接在Windows上可视化工具连接。
这里有一个坑,我刚开始使用RDM连接redis,可以连接,但是无法查看数据,经过多方尝试,更换可视化客户端后正常。
7、如下图所示,连接redis服务器,命令行可用,但是db0无法显示数据。
image.png
8、多次尝试后,更换可视化工具可正常,正常使用可视化工具:Another Redis Desktop Manager。可以正常查看redis各项信息及数据。
image.png
网友评论