本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 redis-cli 使用傳輸中加密連接到 Amazon ElastiCache (RedisOSS)
若要存取啟用傳輸中加密 ElastiCache (RedisOSS) 快取的資料,您可以使用安全通訊端層 (SSL) 搭配使用的用戶端。您也可以在 Amazon Linux 和 Amazon Linux 2 SSL 上與TLS/一起使用。如果您的用戶端不支援TLS,您可以使用用戶端主機上的stunnel
命令來建立SSL通往 Redis OSS 節點的通道。
與 Linux 的加密連線
要使用 redis-cli 連接到在 Amazon Linux 2023、Amazon Linux 2 或 Amazon Linux 上啟用了傳輸中加密的 Redis OSS 叢集,請按照下列步驟操作。
下載並編譯 redis-cli 公用程式。此公用程式包含在 Redis OSS 軟體發行版中。
在EC2執行個體的命令提示字元中,為您使用的 Linux 版本輸入適當的指令。
Amazon Linux 2023
如果使用 Amazon 2023,請輸入以下內容:
sudo yum install redis6 -y
然後鍵入以下命令,以此示例中顯示的內容替換集群的端點和端口。
redis-cli -h
Primary or Configuration Endpoint
--tls -p 6379如需尋找端點的詳細資訊,請參閱尋找您的節點端點。
Amazon Linux 2
如果使用 Amazon 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
如果使用 Amazon 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注意
如果您在 Amazon 2023 上安裝了 redis6,您現在可以使用命令
redis6-cli
來代替:redis-cli
redis6-cli -h Primary or Configuration Endpoint --tls -p 6379
與特殊加密連接
若要使用 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
-
使用通道的本機端OSS點連 Connect 到加密的 Redis 節點。
-
如果在 ElastiCache (RedisOSS) 叢集建立期間未使用AUTH密碼,則此範例會在 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密碼,則此範例會在 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密碼,則此範例會在 Amazon Linux 上使用 redis-cli 的完整路徑連接到 ElastiCache (RedisOSS) 伺服器:
src/redis-cli -h localhost -p 6379
如果在 Redis OSS 叢集建立期間使用了AUTH密碼,則此範例會在 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
昏迷過程。sudo pkill stunnel