跳至內容

如何連線到在 ElastiCache for Valkey、Redis OSS 或 Memcached 引擎上執行的 ElastiCache Serverless 或自我管理叢集?

4 分的閱讀內容
0

我想測試在 Amazon ElastiCache for Valkey、Amazon ElastiCache for Redis OSS 或 Amazon ElastiCache for Memcached 引擎上所執行 Amazon ElastiCache Serverless 或自我管理叢集的連線性。

簡短描述

**注意:**以下解決方案僅測試非計劃使用的連線。有關支援的用戶端清單,請參閱 Redis 網站上的使用 Redis 用戶端 API 庫連線和 Valkey 網站上的用戶端庫

根據您的 ElastiCache 叢集組態,完成以下區段中的步驟來測試您的連線:

  • 連線到未加密的 ElastiCache for Valkey 或 ElastiCache for Redis OSS 叢集。這包括 (已停用叢集模式) 和 (已啟用叢集模式) 叢集。
  • 連線到加密的 ElastiCache for Valkey 或 ElastiCache for Redis OSS 叢集。這包括 (已停用叢集模式) 和 (已啟用叢集模式) 叢集。
  • 使用 telnet 或 OpenSSL 連線到 (已停用叢集模式) 叢集。
  • 連線到 ElastiCache for Memcached 叢集。這包括未加密和加密的叢集。
  • 連線到 ElastiCache Serverless 快取。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

連線到未加密的 ElastiCache for Valkey 或 ElastiCache for Redis OSS 叢集

ElastiCache 在 Valkey 和 Redis OSS 叢集中同時支援 (已停用叢集模式) 和 (已啟用叢集模式)。若要測試與叢集的連線,請使用 valkey-cliredis6-cli。如需詳細資訊,請參閱 Valkey 網站上的 Valkey CLI 和 Redis 網站上的 Redis CLI

**注意:**若要安裝 valkey-cli,請參閱與 Linux 的加密連線。如果您的叢集未加密,則不要包含 BUILD_TLS 參數。若要使用 Amazon Linux 2023 進行測試,請安裝 redis6 套件。此套件包含具有預設加密支援的 redis6-cli

如需如何找到 Redis 端點的資訊,請參閱在 ElastiCache 中尋找連線端點

連線到 (已停用叢集模式) Valkey 或 Redis OSS 叢集

若要連線到 (已停用叢集模式) 叢集,請執行以下命令:

Amazon Linux 2023:

redis6-cli -h yourEndpoint -p 6379

Amazon Linux 和 Amazon Linux 2:

src/valkey-cli -h yourEndpoint -p 6379

**注意:**將 yourEndpoint 替換為您叢集的端點,並將 6379 替換為您的連接埠編號。

上述命令傳回與下列範例類似的 Valkey 命令提示:

yourEndpoint:6379>

連線到 (已啟用叢集模式) Valkey 或 Redis OSS 叢集

若要連線到 (已啟用叢集模式) 叢集,請執行以下命令:

Amazon Linux 2023:

redis6-cli -c -h yourConfigEndpoint -p 6379

Amazon Linux 和 Amazon Linux 2:

src/valkey-cli -c -h yourConfigEndpoint -p 6379

注意:yourConfigEndpoint 替換為您叢集的端點,並將 6379 替換為您的連接埠編號。發生 -ASK-MOVED 重新導向後,-c 參數將開啟叢集模式。如果您未啟用重新導向,則該命令將傳回 MOVED 錯誤。

上述命令傳回與下列範例類似的 Valkey 命令提示:

yourConfigEndpoint:>

連線到加密的 ElastiCache for Valkey 或 ElastiCache for Redis OSS 叢集

若要連線到 (已啟用叢集模式) 或 (已停用叢集模式) 加密叢集,請使用 valkey-cli 中的 --tls 參數。--tls 參數為叢集啟用傳輸中加密。如果叢集上設定了 AUTH 權杖,請使用 -a 參數提供 AUTH 密碼。或者,使用 AUTH 命令進行驗證,如下列範例命令所示。

開啟傳輸中加密後,更新用戶端組態以使用新的 TLS 特定端點。如需詳細資訊,請參閱啟用傳輸中加密的最佳實務

**注意:**在具有 Valkey 或 Redis OSS 版本 7 及更新版本的叢集中,您可以為現有的 ElastiCache 叢集啟用傳輸中加密。您不必重建叢集來變更 Valkey 或 Redis OSS 叢集的 TLS 組態。

連線到 (已停用叢集模式) 加密叢集

若要連線至已啟用加密和驗證的 (已停用叢集模式) 叢集,請執行下列命令:

Amazon Linux 2023:

redis6-cli -h yourEndpoint -p 6379 --tls

AUTH <username> <password>

Amazon Linux 和 Amazon Linux 2:

src/valkey-cli -h yourEndpoint -p 6379 –tls

AUTH <username> <password>

**注意:**將 yourEndpoint 替換為您叢集的端點,並將 6379 替換為您的連接埠編號。當您使用具有單一引數形式命令的 AUTH 並僅指定密碼時,Valkey CLI 會假設使用者名稱為 default。如需詳細資訊,請參閱 Valkey 網站上的 AUTH 命令。

連線到 (已啟用叢集模式) 加密叢集

若要連線至已啟用加密和驗證的 (已啟用叢集模式) 叢集,請執行下列命令:

Amazon Linux 2023:

redis6-cli -c -h yourConfigEndpoint -p 6379 –tls

AUTH <username> <password>

Amazon Linux 和 Amazon Linux 2:

src/valkey-cli -c -h yourConfigEndpoint -p 6379 –tls

AUTH <username> <password>

**注意:**將 yourConfigEndpoint 替換為您叢集的端點,並將 6379 替換為您的連接埠編號。當您使用具有單一引數形式命令的 AUTH 並僅指定密碼時,Valkey CLI 會假設使用者名稱為 default。如需詳細資訊,請參閱 Valkey 網站上的 AUTH 命令。

使用 OpenSSL 的 telnet 連線到 (已停用叢集模式) 叢集

若要執行不使用 valkey-cli 組態的簡短測試,請使用 telnet 或 OpenSSL 連線至 (已停用叢集模式的) 叢集。使用 telnet 或 OpenSSL 連線後,您可以執行 Valkey 命令。

以下範例命令連線到加密或已驗證 (已停用叢集模式) 的叢集:

openssl s_client -connect master.valkeycmdencrypted.dcba18.use1.cache.amazonaws.com:6379

如果您為叢集設定了密碼,請連線到叢集,並執行以下命令對叢集進行驗證。然後按下 Enter:

AUTH <username> <password>

**注意:**將 usernamepassword 替換為您的使用者憑證。

以下範例命令會連線到未啟用加密或驗證的 (已停用叢集模式) 叢集:

telnet yourEndpoint 6379

連線到 ElastiCache for Memcached 叢集

若要連線到 ElastiCache for Memcached 叢集,請根據您的叢集完成以下步驟。

連線到未加密的 Memcached 叢集

若要連線到未加密的 Memcached 叢集,請使用 telnet 公用程式。完成以下步驟:

  1. 在您要測試連線的執行個體上安裝 telnet 公用程式。

    若是 CentOS 系統,請執行以下命令:

    sudo yum install telnet

    若是 Debian 系統 (Ubuntu),請執行以下命令:

    sudo apt-get install telnet

    如需詳細資訊,請參閱連線至 EC2 執行個體

  2. 若要連線至端點,請執行下列命令:

    telnet yourEndpoint 11211

    **注意:**將 yourendpoint 替換為您的叢集端點,並將 11211 替換為您的節點連接埠。

    輸出範例:

    Trying 128.0.0.1...
    Connected to mycachecluster.dcba18.0001.usw2.cache.amazonaws.com.
    Escape character is '^]'.>

連線到加密的 Memcached 叢集

執行 Memcached 1.6.12 版及更新版本的叢集支援傳輸中加密。由於 telnet 不支援加密,請使用 OpenSSL 連線到已啟用加密的 Memcached 叢集。

**注意:**只有在建立叢集時,您才能在叢集上啟用傳輸中加密。您無法修改叢集來開啟或關閉傳輸中加密。如需詳細資訊,請參閱 ElastiCache 傳輸中加密 (TLS)

若要連線至端點,請執行下列命令:

openssl s_client -quiet -crlf -connect yourEndpoint:11211

**注意:**將 yourEndpoint 替換為您的端點,並將 11211 替換為您的節點連接埠。

輸出範例:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  verify return:1  depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M02  verify return:1  
depth=0 CN = *.testwithtls.qtyxq7.apse2.cache.amazonaws.com  
verify return:1

連線到 ElastiCache Serverless 快取

預設情況下,ElastiCache Serverless 啟動的所有叢集,都會預設啟用傳輸中加密。您無法關閉此選項。對於您選取的用戶端庫,該程式庫必須支援建立 TLS 連線的能力。

對於 ElastiCache Serverless for Valkey 和 Redis OSS,快取會公告兩個相同主機名稱的連接埠: 主要連接埠: 6379 與讀取連接埠: 6380。主要連接埠允許讀取和寫入,讀取連接埠使用 READONLY 命令來實現較低延遲、最終一致讀取。

對於 ElastiCache Serverless for Memcached 快取,快取也會公告兩個具有相同主機名稱的連接埠: 主要連接埠: 11211 與讀取連接埠: 11212。若要允許資源存取這些連接埠,請更新您的安全群組和網路存取控制清單 (網路 ACL)。

若要連線到 ElastiCache Serverless 快取,請根據您的引擎和連接埠執行以下命令:

Valkey 或 Redis OSS (Amazon Linux 2023):

redis6-cli -c -h yourEndpoint -p 6379 –tls

Valkey 或 Redis OSS (Amazon Linux 或 Amazon Linux 2):

src/valkey-cli -c -h yourEndpoint -p 6379 –tls

Memcached:

openssl s_client -connect yourEndpoint:11212 -crlf

**注意:**將 yourEndpoint 替換為您叢集的端點。

相關資訊

Valkey 網站上的命令參考資料

ElastiCache 傳輸中加密 (TLS)

如何對 ElastiCache for Redis 自行設計叢集的連線問題進行疑難排解?

AWS 官方已更新 1 年前