Wie teste ich meine Verbindung zu einem ElastiCache Redis OSS- oder Memcached-Cluster?
Ich möchte meine Verbindung zu einem Amazon ElastiCache Redis OSS- oder Amazon ElastiCache Memcached-Cluster von einem Linux-basierten Client aus testen.
Behebung
Hinweis: Mit der folgenden Lösung wird eine Verbindung nur für die ungeplante Nutzung getestet. Eine Liste der unterstützten Redis-Clients finden Sie unter Verbindung mit Redis-Clients herstellen auf der Redis-Website.
Amazon ElastiCache unterstützt die speicherinternen Schlüssel-Wert-Engines Redis OSS und Memcached. Wenn Sie einen ElastiCache Cache Cluster starten, wählen Sie Ihre bevorzugte Engine aus.
Für Memcached mit Java, .NET oder PHP empfiehlt es sich, ElastiCache Clients mit Auto Discovery zu verwenden. ElastiCache Clients mit Auto Discovery identifizieren automatisch neue ElastiCache-Knoten, wenn sie dem Cache-Cluster hinzugefügt werden.
Erstellen des ElastiCache-Clusters
Informationen zum Erstellen eines ElastiCache Redis OSS-Clusters finden Sie unter Erstellen eines Clusters für Valkey oder Redis OSS.
Informationen zum Erstellen eines Memcached-Clusters finden Sie unter Erstellen eines Clusters für Memcached.
Verbindung zum ElastiCache Redis OSS-Cluster herstellen
ElastiCache unterstützt Redis OSS-Cluster sowohl mit deaktiviertem Cluster-Modus (CMD) als auch mit aktiviertem Cluster-Modus (CME). Verwenden Sie das Dienstprogramm redis-cli oder redis6-cli, um eine Verbindung zu den Clustern zu testen. Die neueste Version von redis-cli und redis6-cli unterstützt SSL/TLS, um Verbindungen zu Clustern herzustellen, bei denen die Verschlüsselung oder Authentifizierung aktiviert sind.
Laden Sie das Dienstprogramm redis-cli herunter und kompilieren Sie es auf der Amazon Elastic Compute Cloud (Amazon EC2)-Instance, von der aus Sie eine Verbindung herstellen möchten. Weitere Informationen finden Sie unter Erste Schritte mit Amazon EC2.
Hinweis: Das folgende Beispiel verwendet Amazon EC2 Instances, auf denen Amazon Linux, Amazon Linux 2 und Amazon Linux 2023 ausgeführt werden. Informationen zur Installation und Kompilierung von redis-cli und redis6-cli mit anderen Linux-Verteilungen finden Sie in der Dokumentation für Ihr Betriebssystem.
Um eine Verbindung zum ElastiCache Redis OSS-Cluster herzustellen, führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus.
Amazon Linux 2023:
sudo yum install redis6 -y
Amazon Linux 2:
sudo amazon-linux-extras install epel -y sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y sudo wget http://download.redis.io/redis-stable.tar.gz sudo tar xvzf redis-stable.tar.gz cd redis-stable sudo make BUILD_TLS=yes
Amazon Linux:
sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget sudo wget http://download.redis.io/redis-stable.tar.gz sudo tar xvzf redis-stable.tar.gz cd redis-stable sudo CC=clang make BUILD_TLS=yes
Wenn die redis-cli eine Verbindung zu Redis herstellt, verwendet sie eine unverschlüsselte TCP-Verbindung. Wenn die redis-cli kompiliert, aktiviert die Option BUILD_TLS=yes SSL/TLS. Wenn der Cluster, zu dem Sie eine Verbindung herstellen, während der Übertragung nicht verschlüsselt ist, benötigen Sie die Option Build_TLS=yes nicht.
Hinweis: Wenn Sie das redis6-Paket installieren, installieren Sie automatisch redis6-cli mit standardmäßiger SSL/TLS-Unterstützung.
Informationen zum Suchen von Redis-Endpunkten finden Sie unter Verbindungsendpunkte in ElastiCache suchen.
In den folgenden Schritten beziehen sich verschlüsselte oder unverschlüsselte Cluster auf die Verschlüsselung bei der Übertragung.
Eine Verbindung zu einem CMD-unverschlüsselten Cluster herstellen
Hinweis: Ersetzen Sie in den folgenden Befehlen change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com durch den Endpunkt Ihres Clusters und 6379 durch Ihre Portnummer.
Führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus.
Amazon Linux 2023:
redis6-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Der vorhergehende Befehl gibt eine Redis-Befehlszeile zurück, die dem folgenden Beispiel ähnelt:
change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com:6379>
Nachdem Sie eine Verbindung zum Cluster hergestellt haben, können Sie Redis-Befehle ausführen.
Beispielbefehl:
set a "hello" OK get a "hello" quit
Weitere Informationen finden Sie unter Befehle auf der Redis-Website.
Eine Verbindung zu einem CME-unverschlüsselten Cluster herstellen
Hinweis: Ersetzen Sie in den folgenden Befehlen cluster-disable-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com durch den Endpunkt Ihres Clusters und 6379 durch Ihre Portnummer.
Führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus.
Amazon Linux 2023:
redis6-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Hinweis: In diesen vorherigen Befehlen aktiviert die Option -c den Clustermodus nach den Umleitungen -ASK und -MOVED. Wenn Sie die Umleitung nicht aktivieren, gibt der Befehl den Fehler MOVED zurück. Weitere Informationen finden Sie unter Client- und Serverrollen im Redis-Cluster-Protokoll und in der Redis-Cluster-Spezifikation auf der Redis-Website.
Der vorhergehende Befehl gibt eine Redis-Befehlszeile zurück, die dem folgenden Beispiel ähnelt:
cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com:>
Beispiel für Redis-Befehle:
set x Hi-> Redirected to slot [16287] located at 172.31.28.122:6379OK 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"
Eine Verbindung zu einem Cluster mit aktivierter Verschlüsselung oder Authentifizierung herstellen
Um AUTH zu aktivieren, müssen Sie auch die Verschlüsselung während der Übertragung aktivieren. Weitere Informationen finden Sie unter ElastiCache-Verschlüsselung während der Übertragung (TLS).
Um eine Verbindung zu CME- und Cluster-CMD-verschlüsselten Clustern herzustellen, verwenden Sie die Option**--tls** in der redis-cli. Wenn für einen Cluster ein AUTH-Token gesetzt ist, verwenden Sie die Option -a, um ein AUTH-Passwort anzugeben.
Hinweis: Ab Redis Version 7 ist die Verschlüsselung während der Übertragung für bestehende ElastiCache-Cluster aktiviert. Sie müssen den Cluster nicht neu erstellen oder erneut bereitstellen, um die TLS-Konfiguration für den Redis OSS-Cluster zu ändern. Und die Verfügbarkeit der Anwendungen wird nicht beeinträchtigt.
Wenn Sie die Verschlüsselung während der Übertragung aktivieren, aktualisieren Sie die Client-Konfiguration, sodass sie die neuen TLS-spezifischen Endpunkte verwendet.
Eine Verbindung zu CMD-verschlüsselten Clustern herstellen
Hinweis: Ersetzen Sie in den folgenden Befehlen master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com durch den Konfigurationsendpunkt Ihres Clusters und 6379 durch Ihre Portnummer.
Um eine Verbindung zu einem CMD-Cluster mit aktivierter Verschlüsselung und Authentifizierung herzustellen, führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus.
Amazon Linux 2023:
redis6-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
Um eine Verbindung zu einem CMD-Cluster herzustellen, bei dem nur die Verschlüsselung aktiviert ist, führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus:
Amazon Linux 2023:
redis6-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Eine Verbindung zu CME-verschlüsselten Clustern herstellen
Um eine Verbindung zu einem CME-Cluster mit aktivierter Verschlüsselung und Authentifizierung herzustellen, führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus:
Amazon Linux 2023:
redis6-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
Um eine Verbindung zu einem CME-Cluster herzustellen, bei dem nur die Verschlüsselung aktiviert ist, führen Sie einen der folgenden Befehle für Ihr Betriebssystem aus:
Amazon Linux 2023:
redis6-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Amazon Linux und Amazon Linux 2:
src/redis-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Redis-cli-Alternative
Um einen kurzen Test ohne die redis-cli-Kompilierung durchzuführen, verwenden Sie telnet oder openssl, um eine Verbindung zu einem CMD-Cluster herzustellen.
Nachdem Sie eine Verbindung hergestellt haben, können Sie Redis-Befehle ausführen.
Der folgende Beispielbefehl stellt eine Verbindung zu einem verschlüsselten oder authentifizierten CMD-Cluster her:
openssl s_client -connect master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com:6379
Wenn Sie ein Passwort für den Cluster festlegen, stellen Sie zuerst eine Verbindung zum Cluster her. Nachdem Sie die Verbindung hergestellt haben, führen Sie den folgenden Befehl aus, um den Cluster zu authentifizieren, und drücken Sie dann die Eingabetaste:
Auth Password
Hinweis: Ersetzen Sie im folgenden Beispielbefehl Passwort durch das Passwort für Ihren Cluster
Der folgende Beispielbefehl stellt eine Verbindung zu einem CMD-Cluster her, für den weder Verschlüsselung noch Authentifizierung aktiviert sind:
telnet change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com 6379
Eine Verbindung zu einem ElastiCache Memcached-Cluster herstellen
Verwenden Sie das telnet-Dienstprogramm, um eine Verbindung zu einem Memcached-Cluster herzustellen.
Eine Verbindung zu einem Memcached-Cluster ohne Verschlüsselung während der Übertragung herstellen
Führen Sie die folgenden Schritte aus:
-
Installieren Sie das telnet-Dienstprogramm auf der Instance, von der aus Sie eine Verbindung testen möchten.
Führen Sie für CentOS-basierte Systeme den folgenden Befehl aus:
sudo yum install telnet
Führen Sie für Debian-basierte Systeme (Ubuntu) den folgenden Befehl aus:
sudo apt-get install telnet
Informationen zum Herstellen einer Verbindung zu einer Instance finden Sie unter Eine Verbindung mit der EC2-Instance herstellen.
-
Führen Sie den folgenden Befehl aus, um eine Verbindung zum Endpunkt herzustellen:
telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211
Hinweis: Ersetzen Sie mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com durch Ihren Endpunkt und 11211 durch den Port Ihres Knotens.
Beispielausgabe:
Trying 128.0.0.1...Connected to mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com.Escape character is '^]'. >
Sie sind jetzt mit einem Knoten verbunden und können Memcached-Befehle ausführen.
Beispiel für Memcached-Befehle:
set a 0 0 5helloSTORED get a VALUE a 0 5 hello END
Eine Verbindung zu einem Memcached Cluster mit Verschlüsselung während der Übertragung herstellen
Die Verschlüsselung während der Übertragung wird auf Clustern unterstützt, auf denen Memcached-Versionen 1.6.12 und höher ausgeführt werden. Telnet verwendet keine Verschlüsselung. Verwenden Sie openssl, um eine Verbindung zu einem Memcached-Cluster mit aktivierter Verschlüsselung herzustellen.
Hinweis: Sie können die Verschlüsselung während der Übertragung auf einem Cluster nur aktivieren, wenn Sie den Cluster erstellen. Sie können den Cluster nicht ändern, um die Verschlüsselung während der Übertragung zu aktivieren oder zu deaktivieren. Weitere Informationen finden Sie unter ElastiCache-Verschlüsselung während der Übertragung (TLS).
Führen Sie den folgenden Befehl aus, um eine Verbindung zum Endpunkt herzustellen:
openssl s_client -quiet -crlf -connect testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com:11211
Hinweis: Ersetzen Sie testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com durch Ihren Endpunkt und 11211 durch den Port Ihres Knotens.
Beispielausgabe:
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
Sie sind jetzt mit einem Knoten verbunden und können Memcached-Befehle ausführen.
Beispiel für Memcached-Befehle:
set a 0 0 5helloSTORED get a VALUE a 0 5 hello END
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 7 Monaten
- AWS OFFICIALAktualisiert vor 6 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren