使用 valkey-cli 使用傳輸中加密連線至 ElastiCache (Valkey) 或 Amazon ElastiCache for Redis OSS - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 valkey-cli 使用傳輸中加密連線至 ElastiCache (Valkey) 或 Amazon ElastiCache for Redis OSS

若要從啟用傳輸中加密的 ElastiCache for Redis OSS 快取存取資料,您可以使用使用 Secure Socket Layer (SSL) 的用戶端。您也可以在 Amazon Linux 和 Amazon Linux 2 上使用 valkey-cli 搭配 TLS/SSL。如果您的用戶端不支援 TLS,您可以在用戶端主機上使用 stunnel命令來建立 Redis OSS 節點的 SSL 通道。

與 Linux 的加密連線

若要使用 valkey-cli 連線到啟用傳輸中加密的 Valkey 或 Redis OSS 叢集,請遵循下列步驟。

  1. 下載並編譯 valkey-cli 公用程式。此公用程式包含在 Valkey 軟體分發中。

  2. 在 EC2 執行個體的命令提示中,輸入適用於您正在使用的 Linux 版本的適當命令。

    Amazon Linux 2

    如果使用 Amazon Linux 2,請輸入以下內容:

    sudo yum -y install openssl-devel gcc wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.6.tar.gz tar xvzf valkey-7.2.6.tar.gz cd valkey-7.2.6 make distclean make valkey-cli BUILD_TLS=yes sudo install -m 755 src/valkey-cli /usr/local/bin/

    Amazon Linux

    如果使用 Amazon Linux,請輸入以下內容:

    sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget wget https://github.com/valkey-io/valkey/archive/refs/tags/8.0.0.tar.gz tar xvzf 8.0.0.tar.gz cd valkey-8.0.0 make valkey-cli CC=clang BUILD_TLS=yes sudo install -m 755 src/valkey-cli /usr/local/bin/

    在 Amazon Linux 上,您可能還需要執行下列額外步驟:

    sudo yum install clang CC=clang make sudo make install
  3. 在您下載並安裝 valkey-cli 公用程式之後,建議您執行選用的 make-test 命令。

  4. 若要連線至已啟用加密和身分驗證的叢集,請輸入此命令:

    valkey-cli -h Primary or Configuration Endpoint --tls -a 'your-password' -p 6379
    注意

    如果您在 Amazon Linux 2023 上安裝 redis6,您現在可以使用 命令redis6-cli,而不是 valkey-cli

    redis6-cli -h Primary or Configuration Endpoint --tls -p 6379

使用 stunnel 的加密連線

若要使用 valkey-cli 連線至使用 stunnel 啟用傳輸中加密的 Redis OSS 叢集,請遵循下列步驟。

  1. 使用 SSH 連線到用戶端並安裝 stunnel

    sudo yum install stunnel
  2. 執行下列命令,以'/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-clivalkey-cli-replica。參數的設定方式如下:

    • client 設為 yes,以指定此 stunnel 執行個體為用戶端。

    • accept 設為用戶端 IP。在此範例中,主要 設定為連接埠 6379 上的 Redis OSS 預設 127.0.0.1。複本主機必須呼叫不同的連接埠,並設為 6380。您可以使用的暫時性連接埠為 1024–65535。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的暫時性連接埠

    • connect 設定為 Redis OSS 伺服器端點。如需詳細資訊,請參閱在 ElastiCache 中尋找連線端點

  3. 啟動 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
  4. 使用通道的本機端點連線至加密的 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 -a my-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 -a my-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
  5. 若要停止和關閉 SSL 通道,請執行 pkill stunnel 程序。

    sudo pkill stunnel