本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 4:連線至叢集的節點
在繼續之前,請先完成步驟3:授予叢集的存取權。
本節假設您已建立 Amazon EC2 執行個體且可連線至該執行個體。如需操作方式說明,請參閱 Amazon EC2 入門指南。
只有在您獲得授權執行此作業時,Amazon EC2 執行個體才能連線至叢集節點。
尋找您的節點端點
當您的叢集處於可用狀態,且您獲得存取授權後,您就可以登入 Amazon EC2 執行個體並連線至叢集。若要執行此作業,您必須先判斷端點。
尋找 Redis OSS (叢集模式已停用) 叢集的端點 (主控台)
如果 Redis OSS (叢集模式已停用) 叢集只有一個節點,則該節點的端點同時用於讀取和寫入。如果叢集有多個節點,則端點類型有三種:主要端點、讀取者端點和節點端點。
主要端點是一種一律會解析至叢集中主要節點的 DNS 名稱。主要端點不會受到您叢集變更的影響 (例如將僅供讀取複本提升至主要角色)。針對寫入活動,我們建議您的應用程式連線到主要端點。
讀取器端點會在 ElastiCache (Redis OSS) 叢集中的所有僅供讀取複本之間平均分割端點的連入連線。其他因素 (例如應用程式建立連線或應用程式如何 (重新) 使用連線) 將決定流量分佈。隨著複本的新增或移除,讀取器端點會跟著叢集的變更即時保持在最新狀態。您可以將 ElastiCache (Redis OSS) 叢集的多個僅供讀取複本放置在不同的可 AWS 用區域 (AZ),以確保讀取器端點的高可用性。
注意
讀取者端點並非負載平衡器。它是一筆 DNS 記錄,會以循環配置方式解析為其中一個複本節點的 IP 地址。
針對讀取活動,應用程式也可連線到叢集中的任何節點。與主要端點不同,節點端點會解析至特定端點。若您在叢集中進行變更 (例如新增或刪除複本),您必須更新您應用程式中的節點端點。
若要尋找 Redis OSS (叢集模式已停用) 叢集的端點
-
請登入 AWS Management Console 並開啟 ElastiCache 主控台,網址為 https://console.aws.amazon.com/elasticache/
。 -
在瀏覽窗格中,選擇 Redis 的 OSS 快取。
叢集畫面會顯示一個清單,其中包含任何現有 Redis OSS 無伺服器快取、Redis OSS (叢集模式已停用) 和 Redis OSS (已啟用叢集模式) 叢集。選擇您在 建立 Redis OSS (叢集模式已停用) 叢集 (主控台) 一節中建立的叢集。
-
若要尋找叢集的主要和/或讀取器端點,請選擇叢集名稱 (而非選項按鈕)。
Redis OSS (叢集模式已停用) 叢集的主要端點和讀取器端點
如果叢集中只有一個節點,就不會有主要端點,因此您必須繼續下一個步驟。
-
如果 Redis OSS (叢集模式已停用) 叢集具有複本節點,您可以選擇叢集的名稱,然後選擇節點索引標籤,以尋找叢集的複本節點端點。
隨即顯示節點畫面,其顯示叢集中的每個節點、主要複本和複本,並與其端點一起列出。
Redis OSS (叢集模式已停用) 叢集的節點端點
-
將端點複製到剪貼簿:
-
逐一尋找您要複製的端點。
-
選擇端點前面的複製圖示。
現在,端點即已複製到您的剪貼簿。如需使用端點連線至節點的相關資訊,請參閱 連線至節點。
-
Redis OSS (叢集模式已停用) 主要端點看起來如下所示。其中的差異取決於是否啟用傳輸中加密。
未啟用傳輸中加密
clusterName.xxxxxx
.nodeId
.regionAndAz
.cache.amazonaws.com:port
redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379
已啟用傳輸中加密
master.clusterName
.xxxxxx
.regionAndAz
.cache.amazonaws.com:port
master.ncit.ameaqx.use1.cache.amazonaws.com:6379
若要進一步探索您的端點,請參閱您所執行引擎和叢集類型的相關主題。
現在,您有了所需的端點,您可以登入 EC2 執行個體並連線到叢集或複寫群組。在下列範例中,您會使用 redis-cli 公用程式連線到叢集。最新版本的 redis-cli 也支援 SSL/TLS 用於連線啟用加密/身分驗證的叢集。
下列範例使用執行 Amazon Linux 和 Amazon Linux 2 的 Amazon EC2 執行個體。如需有關使用其他 Linux 發行版安裝和編譯 redis-cli 的詳細資訊,請參閱您作業系統專屬的說明文件。
注意
此程序涵蓋使用 redis-cli 公用程式來測試連線,僅供非預期用途使用。如需支援的 Redis OSS 用戶端清單,請參閱 Redis
連線至停用叢集模式的未加密叢集
執行下列命令,以連線至叢集,並將
primary-endpoint
和port number
取代為您叢集的端點和連接埠號碼。(Redis 作業系統的預設連接埠為 6379。)src/redis-cli -h
primary-endpoint
-pport number
Redis OSS 命令提示字元中的結果看起來類似下列:
primary-endpoint
:port number
您現在可以執行 Redis 的 OSS 命令。
set x Hello OK get x "Hello"
連線至啟用叢集模式的未加密叢集
執行下列命令,以連線至叢集,並將
configuration-endpoint
和port number
取代為您叢集的端點和連接埠號碼。(Redis 作業系統的預設連接埠為 6379。)src/redis-cli -h
configuration-endpoint
-c -pport number
注意
上述命令中,選項 -c 可讓叢集模式遵循 -ASK 和 -MOVED 重新引導
。 Redis OSS 命令提示字元中的結果看起來類似下列:
configuration-endpoint
:port number
您現在可以執行 Redis 的 OSS 命令。請注意,發生重新引導是因為您使用 -c 選項啟用了此功能。如果未啟用重新引導,該命令會傳回 MOVED 錯誤。如需有關移動錯誤的詳細資訊,請參閱 Redis OSS 叢集
規格。 set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"
連線到啟用加密/身分驗證的叢集
默認情況下,當連接到 Redis 的 OSS 時,redis-cli 使用未加密的 TCP 連接。選項 BUILD_TLS=yes
會在執行 redis-cli 編譯時啟用 SSL/TLS,如前面的 下載並設定 redis-cli 一節所說明。啟用 AUTH 功能為選用操作。不過,您必須啟用傳輸中加密功能,才能啟用 AUTH。如需 ElastiCache 加密和驗證的詳細資訊,請參閱ElastiCache 傳輸中加密 (TLS)。
注意
您可以使用選項 --tls
搭配 redis-cli,連線至啟用和停用叢集模式的加密叢集。如果叢集已設定 AUTH 字符,則可以使用 -a
選項提供 AUTH 密碼。
在下列範例中,請務必將 cluster-endpoint
和 port number
取代為您叢集的端點和連接埠號碼。(Redis 作業系統的預設連接埠為 6379。)
連線到停用叢集模式的加密叢集
下列範例會連線到啟用加密和身分驗證的叢集:
src/redis-cli -h
cluster-endpoint
--tls -ayour-password
-pport number
下列範例會連線到只啟用加密的叢集:
src/redis-cli -h
cluster-endpoint
--tls -pport number
連線到啟用叢集模式的加密叢集
下列範例會連線到啟用加密和身分驗證的叢集:
src/redis-cli -c -h
cluster-endpoint
--tls -ayour-password
-pport number
下列範例會連線到只啟用加密的叢集:
src/redis-cli -c -h
cluster-endpoint
--tls -pport number
連線到叢集之後,您可以執行 Redis OSS 命令,如前述未加密叢集的範例所示。
Redis-cli 替代方案
如果叢集未啟用叢集模式,且您需要在不進行 redis-cli 編譯的情況下連線到叢集以進行短期測試,則可以使用 telnet 或 openssl。在下列命令範例中,請務必將 cluster-endpoint
和 port number
取代為您叢集的端點和連接埠號碼。(Redis 作業系統的預設連接埠為 6379。)
下列範例會連線到啟用加密和/或身分驗證且停用叢集模式的叢集:
openssl s_client -connect
cluster-endpoint
:port number
如果叢集已設定密碼,請先連線至叢集。連線後,請使用下列命令驗證叢集,然後按 Enter
鍵。在下列範例中,將 your-password
取代為您的叢集密碼。
Auth
your-password
下列範例會連線到沒有啟用加密和/或身分驗證且停用叢集模式的叢集:
telnet
cluster-endpoint
port number
若要使用 Redis OSS CLI 從 EC2 Windows 執行個體連線至 Redis 的 OSS 叢集,您必須下載 Redis-cli 套件,並使用 redis-cli.exe 從 EC2 視窗執行個體連線至 Redis OSS 叢集。
在下列範例中,您可以使用 redis-cli 公用程式連線至未啟用加密的叢集,並執行 Redis OSS。如需有關 Redis OSS 和可用 Redis OSS 命令的詳細資訊,請參閱 Redis OSS 網站上的 Redis OSS 命令
若要連線至未啟用加密的 Redis 作業系統叢集,請使用 Redis-cli
-
使用您選擇的連線公用程式連線到 Amazon EC2 執行個體。如需如何連線到 Amazon EC2 執行個體的說明,請參閱 Amazon EC2 入門指南。
複製並貼上網際網路瀏覽器https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip
中的連結,以便從可用版本下載 Redis OSS 用戶端的 zip 檔案,網址為: GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504 將 zip 檔案解壓縮到所需的資料夾/路徑。
開啟命令提示字元並變更至 Redis OSS 目錄,然後執行命令。
c:\Redis>redis-cli -h
Redis_Cluster_Endpoint
-p 6379例如:
c:\Redis>redis-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
-
執行 Redis 的 OSS 命令。
您現在已連線到叢集,並且可以執行如下所示的 Redis OSS 命令。
set a "hello"
// Set key "a" with a string value and no expiration OKget a
// Get value for key "a" "hello"get b
// Get value for key "b" results in miss (nil)set b "Good-bye" EX 5
// Set key "b" with a string value and a 5 second expiration "Good-bye"get b
// Get value for key "b" "Good-bye" // wait >= 5 secondsget b
(nil) // key has expired, nothing returnedquit
// Exit from redis-cli