本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 valkey-cli 透過傳輸中加密連線至 ElastiCache (Valkey) 或 Amazon ElastiCache for Redis OSS
若要從啟用傳輸中加密的 ElastiCache for Redis OSS 快取存取資料,您可以使用使用 Secure Socket Layer (SSL) 的用戶端。您也可以在 Amazon Linux 2023 上使用 valkey-cli 搭配 TLS。如果您的用戶端不支援 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注意
如果您改為在 Amazon Linux 2023 上安裝 redis6 套件,請使用 命令
redis6-cli來取代valkey-cli:redis6-cli -hPrimary or Configuration Endpoint--tls -p 6379注意
如果您的 Linux 發行版本不提供 Valkey 套件,您可以改為從來源建置公用程式。安裝
gcc、make和 OpenSSL 開發套件、下載目前來源版本,如 Valkey 網站上的安裝Valkey 中所述,然後執行 make valkey-cli BUILD_TLS=yes。您從來源建置的用戶端不會收到套件更新,因此您必須在新版本推出時自行更新。
使用 stunnel 的加密連線
若要使用 valkey-cli 連線至使用 stunnel 啟用傳輸中加密的 Redis OSS 叢集,請遵循下列步驟。
-
使用 SSH 連線到用戶端並安裝
stunnel。sudo yum install stunnel -
執行下列命令,使用下方提供的輸出作為範本,
'/etc/stunnel/valkey-cli.conf'同時建立和編輯檔案,將 ElastiCache for Redis OSS 叢集端點新增至一或多個連線參數。vi /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。在此範例中,主要 設定為連接埠 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 節點。
-
如果在建立 ElastiCache for Redis OSS 叢集期間未使用 AUTH 密碼,則此範例會使用 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 密碼,此範例會使用 valkey-cli,在 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 並執行下列動作:
如果在建立 ElastiCache for Redis OSS 叢集期間未使用 AUTH 密碼,則此範例會使用 valkey-cli,在 Amazon Linux 上使用 valkey-cli 的完整路徑連線至 ElastiCache for Redis OSS 伺服器:
src/valkey-cli -h localhost -p 6379如果在建立 Redis OSS 叢集期間使用 AUTH 密碼,此範例會使用 valkey-cli,在 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 通道,請執行
pkillstunnel 程序。sudo pkill stunnel