本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 valkey-cli 使用传输加密连接到 ElastiCache (Valkey) 或亚马逊 ElastiCache For Redis OSS
要访问启用了传输加密 ElastiCache 的 Redis OSS 缓存中的数据,可以使用支持安全套接字层 (SSL) 的客户端。你还可以在亚马逊 Linux 2023 上使用带有 TLS 的 valkey-cli。如果您的客户端不支持 TLS,则可以在客户端主机上,使用 stunnel 命令创建连接到 Redis OSS 节点的 SSL 隧道。
与 Linux 的加密连接
要使用 valkey-cli 连接到在 Amazon Linux 2023 上启用了传输加密的 Valkey 或 Redis OSS 集群,请按照以下步骤操作。
在您的 EC2 实例的命令提示符下,安装 Valkey 软件包。该软件包中包含的 valkey-cli 实用程序是在支持 TLS 的情况下构建的。
sudo dnf install valkey -y确认该实用程序已安装。
valkey-cli --version-
要连接到启用了加密和身份验证的集群,请输入此命令。该
--askpass选项会提示你输入密码,而不是在命令行中输入密码,这会使它不在你的 shell 历史记录和进程列表中。valkey-cli -hPrimary or Configuration Endpoint--tls --askpass -p 6379注意
如果您使用配置终端节点连接到启用集群模式的缓存,请添加该
-c标志以在客户端中启用集群模式。这允许客户端自动关注MOVED和ASK重定向:valkey-cli -c -hConfiguration Endpoint--tls --askpass -p 6379注意
如果您改为在亚马逊 Linux 2023 上安装 redis6 软件包,请使用该命令
redis6-cli代替:valkey-cliredis6-cli -hPrimary or Configuration Endpoint--tls -p 6379注意
如果您的 Linux 发行版不提供 Valkey 软件包,则可以改为从源代码构建该实用程序。安装
gcc和 OpenSSL 开发包,按照在 Valkey 网站上安装 Valkey中所述下载最新的源代码版本,然后运行。 makemake valkey-cli BUILD_TLS=yes你从源代码构建的客户端不会收到软件包更新,因此你必须在新版本发布时自己进行更新。
与 stunnel 的加密连接
要使用 valkey-cli 连接到使用 stunnel 进行传输中加密的 Redis OSS 集群,请按以下步骤操作。
-
使用 SSH 连接到您的客户端并安装
stunnel。sudo yum install stunnel -
使用下面提供的输出作为模板,运行以下命令来
'/etc/stunnel/valkey-cli.conf'同时创建和编辑文件,将 Redis OSS 集群终端节点添加到一个或多个连接参数中。 ElastiCachevi /etc/stunnel/valkey-cli.conf fips = no setuid = root setgid = root pid = /var/run/stunnel.pid debug = 7 delay = yes options = NO_SSLv2 options = NO_SSLv3 [valkey-cli] client = yes accept = 127.0.0.1:6379 connect = primary.ssltest.wif01h.use1.cache.amazonaws.com:6379 [valkey-cli-replica] client = yes accept = 127.0.0.1:6380 connect = ssltest-02.ssltest.wif01h.use1.cache.amazonaws.com:6379在此示例中,配置文件具有两个连接,即
valkey-cli和valkey-cli-replica。参数设置如下所示:-
client 设置为 yes(是)以指定此 Stunnel 实例是客户端。
-
accept 设置为客户端 IP。在此示例中,主 IP 设置为端口 6379 上的 Redis OSS 默认 127.0.0.1。副本必须调用另一个端口并设置为 6380。您可以使用临时端口 1024-65535。有关更多信息,请参阅 Amazon VPC 用户指南中的临时端口。
-
connect 设置为 Redis OSS 服务器端点。有关更多信息,请参阅 在中查找连接端点 ElastiCache。
-
-
启动
stunnel。sudo stunnel /etc/stunnel/valkey-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 节点。
-
如果在创建 Redis OSS 集群期间 ElastiCache 未使用身份验证密码,则此示例使用 valkey-cli 在 Amazon Linux 上使用 valkey-cli 的完整路径连接到 ElastiCache for Redis OSS 服务器:
/home/ec2-user/redis-7.2.5/src/valkey-cli -h localhost -p 6379如果在创建 Redis OSS 集群时未使用 AUTH 密码,此示例将在 Amazon Linux 上使用 valkey-cli 通过其完整路径连接到 Redis OSS 服务器:
/home/ec2-user/redis-7.2.5/src/valkey-cli -h localhost -p 6379 -amy-secret-password
或
将目录更改为 redis-7.2.5 并执行以下操作:
如果在创建 Redis OSS 集群期间 ElastiCache 未使用身份验证密码,则此示例使用 valkey-cli 在 Amazon Linux 上使用 valkey-cli 的完整路径连接到 ElastiCache for Redis OSS 服务器:
src/valkey-cli -h localhost -p 6379如果在创建 Redis OSS 集群时未使用 AUTH 密码,此示例将在 Amazon Linux 上使用 valkey-cli 通过其完整路径连接到 Valkey 或 Redis OSS 服务器:
src/valkey-cli -h localhost -p 6379 -amy-secret-password
此示例使用 Telnet 连接到 Valkey Redis OSS 服务器。
telnet localhost 6379 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. auth MySecretPassword +OK get foo $3 bar -
-
要停止并关闭 SSL 隧道,请对 Stunnel 过程执行
pkill操作。sudo pkill stunnel