本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 redis-cli 通过传输加密连接到亚马逊 ElastiCache (RedisOSS)
要访问启用传输中加密的 ElastiCache (RedisOSS) 缓存中的数据,请使用使用安全套接字层 () 的客户端。SSL你也可以在亚马逊 Linux 和SSL亚马逊 Linux 2 TLS 上将 redis-cli 与/一起使用。如果您的客户端不支持TLS,则可以在客户端主机上使用stunnel
命令创建通往 Redis OSS 节点的SSL隧道。
与 Linux 的加密连接
要使用 redis-cli 连接到亚马逊 Linux 2023、亚马逊 Linux 2 或亚马逊 Linux 上启用传输加密的 Redis OSS 集群,请按照以下步骤操作。
下载并编译 redis-cli 实用工具。此实用程序包含在 Redis OSS 软件发行版中。
在您的EC2实例的命令提示符处,键入与您正在使用的 Linux 版本相对应的命令。
Amazon Linux 2023
如果使用亚马逊 Linux 2023,请输入以下内容:
sudo yum install redis6 -y
然后键入以下命令,用集群的终端节点和端口替换本示例中显示的内容。
redis-cli -h
Primary or Configuration Endpoint
--tls -p 6379有关查找端点的更多信息,请参阅查找您的节点端点。
Amazon Linux 2
如果使用亚马逊 Linux 2,请输入以下内容:
sudo yum -y install openssl-devel gcc wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make distclean make redis-cli BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
Amazon Linux
如果使用亚马逊 Linux,请输入以下内容:
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget http://download.redis.io/redis-7.2.5.tar.gz tar xvzf redis-7.2.5.tar.gz cd redis-7.2.5 make redis-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/redis-cli /usr/local/bin/
在 Amazon Linux 上,您可能还需要执行以下额外步骤:
sudo yum install clang CC=clang make sudo make install
下载并安装 redis-cli 实用程序后,建议您运行可选命令。
make-test
-
要连接到启用了加密和身份验证的集群,请输入以下命令:
redis-cli -h
Primary or Configuration Endpoint
--tls -a'your-password'
-p 6379注意
如果你在亚马逊 Linux 2023 上安装 redis6,你现在可以使用
redis6-cli
以下命令代替:redis-cli
redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
与 stunnel 的加密连接
要使用 redis-cli 通过 stunnel 连接到启用传输中加密的 Redis OSS 集群,请按照以下步骤操作。
-
用于SSH连接到您的客户端并进行安装
stunnel
。sudo yum install stunnel
-
使用下面提供的输出作为模板,运行以下命令
'/etc/stunnel/redis-cli.conf'
同时创建和编辑文件,将 ElastiCache (RedisOSS) 集群终端节点添加到一个或多个连接参数中。vi /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 = primary.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
在此示例中,配置文件具有两个连接,即
redis-cli
和redis-cli-replica
。参数设置如下所示: -
启动
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 OSS 节点。
-
如果在创建 ElastiCache (RedisOSS) 集群时未使用AUTH密码,则此示例使用 redis-cli 在 Amazon Linux 上使用 redis-cli 的完整路径连接到 ElastiCache (RedisOSS) 服务器:
/home/ec2-user/redis-7.2.5.tar.gz/src/redis-cli -h localhost -p 6379
如果在创建 Redis OSS 集群时使用了AUTH密码,则此示例使用 redis-cli 在 Amazon Linux 上使用 redis-cli 的完整路径连接到 Redis OSS 服务器:
/home/ec2-user/redis-7.2.5.tar.gz/src/redis-cli -h localhost -p 6379 -a
my-secret-password
或
将目录更改为 redis-7.2.5 并执行以下操作:
如果在创建 ElastiCache (RedisOSS) 集群时未使用AUTH密码,则此示例使用 redis-cli 在 Amazon Linux 上使用 redis-cli 的完整路径连接到 ElastiCache (RedisOSS) 服务器:
src/redis-cli -h localhost -p 6379
如果在创建 Redis OSS 集群时使用了AUTH密码,则此示例使用 redis-cli 在 Amazon Linux 上使用 redis-cli 的完整路径连接到 Redis OSS 服务器:
src/redis-cli -h localhost -p 6379 -a
my-secret-password
此示例使用 Telnet 连接到 Redis 服务器OSS。
telnet localhost 6379 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. auth MySecretPassword +OK get foo $3 bar
-
-
要停止和关闭SSL隧道,
pkill
就是 stunnel 过程。sudo pkill stunnel