Auf dieser Seite wird beschrieben, wie Sie mit Telnet und redis-cli
eine Verbindung zu Ihrer Redis-Instanz herstellen. Außerdem finden Sie auf dieser Seite eine Anleitung zum Herstellen einer Verbindung bei Verwendung von Funktionen wie Lesereplikaten, AUTH und Verschlüsselung während der Übertragung.
Außerdem finden Sie auf dieser Seite eine Anleitung zum Herstellen einer Verbindung von einer Google Kubernetes Engine-Umgebung aus.
Eine Liste der von Cloud Memorystore for Redis unterstützten Google Cloud-Umgebungen finden Sie unter Unterstützte Umgebungen. Einige serverlose Umgebungen, die von Memorystore unterstützt werden, erfordern einen Connector für serverlosen VPC-Zugriff. Weitere Informationen finden Sie unter Anforderungen für serverlosen VPC-Zugriff.
Verbindung zu einer Redis-Instanz über eine Compute Engine-VM mit Telnet herstellen
Sie können eine Verbindung zur Redis-Instanz über eine Compute Engine-VM herstellen, die das autorisierte Netzwerk der Redis-Instanz mit einer unterstützten IP-Adresse gemäß RFC 1918 verwendet.
Wenn Sie noch keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie Ihre Redis-Instanz verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.
Installieren Sie
telnet
mitapt-get
:sudo apt-get install telnet
Rufen Sie vom Terminal aus Telnet an die IP-Adresse der Redis-Instanz auf und ersetzen Sie variables durch die entsprechenden Werte.
telnet instance-ip-address 6379
Bei Erfolg gibt der Befehl folgendes Ergebnis zurück:
Trying instance-ip-address… Connected to instance-ip-address
Geben Sie in der Telnet-Sitzung einige Redis-Befehle ein:
Geben Sie Folgendes ein:
PING
Ergebnis:
PONG
Eingeben
SET HELLO WORLD
Ergebnis:
+OK
Geben Sie Folgendes ein:
GET HELLO
Ergebnis:
$5 WORLD
Verbindung zu einer Redis-Instanz über eine Compute Engine-VM mit redis-cli
herstellen
Sie können eine Verbindung zur Redis-Instanz über eine Compute Engine-VM herstellen, die das autorisierte Netzwerk der Redis-Instanz mit einer unterstützten IP-Adresse gemäß RFC 1918 verwendet.
Wenn Sie noch keine Compute Engine-VM haben, die das autorisierte Netzwerk für Ihre Redis-Instanz verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Anleitung unter VM-Instanz in einem bestimmten Subnetz erstellen.
Installieren Sie
redis-cli
auf der Compute Engine-VM. Führen Sie dazu den folgenden Befehl im Compute Engine-SSH-Terminal aus:sudo apt-get install redis-tools
Führen Sie den folgenden Befehl im Compute Engine-Terminal aus und ersetzen Sie variables durch die entsprechenden Werte.
redis-cli -h redis-instance-ip-address
Sie sind jetzt über
redis-cli
mit Ihrer Redis-Instanz verbunden.Nachdem Sie Ihre Verbindung zur Redis-Instanz getestet haben, sollten Sie die Compute Engine-VM löschen, mit der Sie eine Verbindung zur Redis-Instanz hergestellt haben. Dadurch vermeiden Sie, dass Ihrem Cloud-Rechnungskonto Gebühren berechnet werden.
Verbindung zu einer Redis-Instanz herstellen, die AUTH verwendet
In diesem Abschnitt wird beschrieben, wie Sie eine Verbindung zu einer Redis-Instanz herstellen, für die die AUTH-Funktion aktiviert ist.
Wenn Sie noch keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie Ihre Redis-Instanz verwendet, erstellen Sie eine VM und stellen eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.
Installieren Sie
redis-cli
auf der Compute Engine-VM. Führen Sie dazu den folgenden Befehl im Compute Engine-SSH-Terminal aus:sudo apt-get install redis-tools
AUTH-String Ihrer Instanz abrufen
Führen Sie den folgenden Befehl aus, um
redis-cli
zur Authentifizierung und Verbindung mit Ihrer Instanz zu verwenden. Ersetzen Sie dabei variables durch die entsprechenden Werte:redis-cli -h instance-ip-address -a auth-string
oder:
redis-cli -h instance-ip-address AUTH auth-string
Führen Sie einen Redis-Befehl
SET
undGET
aus, um zu prüfen, ob eine authentifizierte Verbindung zu Ihrer Instanz hergestellt wurde.Nachdem Sie Ihre Verbindung zur Redis-Instanz getestet haben, sollten Sie die Compute Engine-VM löschen, mit der Sie eine Verbindung zur Redis-Instanz hergestellt haben. Dadurch vermeiden Sie, dass Ihrem Cloud-Rechnungskonto Gebühren berechnet werden.
Verbindung zu einer Redis-Instanz über den Lese-Endpunkt herstellen
Wenn für die Instanz Lesereplikate aktiviert sind, können Sie so eine Verbindung zum Lese-Endpunkt herstellen:
Wenn Sie noch keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie Ihre Redis-Instanz verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.
Installieren Sie
telnet
mitapt-get
:sudo apt-get install telnet
Suchen Sie die IP-Adresse des Lese-Endpunkts Ihrer Instanz, indem Sie die Lesereplikatinformationen für die Instanz aufrufen.
Stellen Sie vom Terminal aus eine Telnet-Verbindung zur IP-Adresse der Redis-Instanz her und ersetzen Sie dabei variables durch die entsprechenden Werte.
telnet read-endpoint-ip 6379
Bei Erfolg gibt der Befehl folgendes Ergebnis zurück:
Trying read-endpoint-ip… Connected to read-endpoint-ip
Geben Sie in der Telnet-Sitzung einige Redis-Befehle ein:
Geben Sie Folgendes ein:
PING
Ergebnis:
PONG
Sichere Verbindung zu einer Redis-Instanz über Stunnel und Telnet herstellen
In diesem Abschnitt wird ein Beispiel zum Herstellen einer Verbindung mit einer Redis-Instanz dargestellt, bei der die Verschlüsselung während der Übertragung mithilfe von Stunnel aktiviert ist.
Wenn Sie noch keine Redis-Instanz mit aktivierter Verschlüsselung während der Übertragung haben, erstellen Sie eine. Folgen Sie dazu der Anleitung Redis-Instanz mit Verschlüsselung während der Übertragung erstellen.
Wenn Sie keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie die Redis-Instanz aus dem vorherigen Schritt verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.
Installieren Sie die erforderlichen Tools für diese Anleitung, indem Sie folgende Befehle ausführen:
sudo apt-get install stunnel4
sudo apt-get install telnet
Konfigurieren Sie Ihre Compute Engine-VM für die Verwendung mit Stunnel:
Erstellen Sie mit folgendem Befehl eine neue Datei, in die Sie Ihre Zertifizierungsstelle (CA, Certification Authority) einsetzen können:
sudo vim /tmp/server_ca.pem
Um die Zertifizierungsstelle(n) Ihrer Redis-Instanz anzuzeigen führen Sie folgenden Befehl in dem Standardterminal aus, mit dem Sie Google Cloud-Ressourcen verwalten (nicht im Compute Engine-Terminal):
gcloud redis instances describe instance-id --region=region
Es kann bis zu drei Zertifizierungsstellen geben.
Kopieren Sie alle sichtbaren Zertifizierungsstellen, einschließlich der Zeilen
-----BEGIN CERTIFICATE-----
und-----END CERTIFICATE-----
, und fügen Sie die zuvor erstellte Dateiserver_ca.pem
ein.Erstellen Sie eine neue Datei, in die Sie Stunnel-Konfigurationsdaten einfügen können. Führen Sie dazu folgenden Befehl aus:
sudo vim /etc/stunnel/redis-client.conf
Fügen Sie folgenden Text in die Datei ein und ersetzen Sie redis-instance-ip durch die IP-Adresse der Redis-Instanz:
output=/tmp/stunnel.log CAfile=/tmp/server_ca.pem client=yes pid=/var/run/stunnel.pid verifyChain=yes sslVersion=TLSv1.2 [redis] accept=127.0.0.1:6378 connect=redis-instance-ip:6378
Starten Sie Stunnel mit dem folgenden Befehl:
sudo stunnel /etc/stunnel/redis-client.conf
Prüfen Sie, ob stunnel ausgeführt wird:
ps aux | grep stunnel
Starten Sie Stunnel neu. Dazu führen Sie folgende Befehle aus:
sudo systemctl restart stunnel4
Führen Sie folgenden Befehl aus, um über Telnet eine Verbindung zu Ihrer Redis-Instanz herzustellen:
telnet localhost 6378
Pingen Sie in der Telnet-Sitzung die Redis-Instanz:
Geben Sie Folgendes ein:
PING
Ergebnis:
PONG
Verbindung von einem lokalen Computer mit Portweiterleitung herstellen
Es kann hilfreich sein, eine Verbindung zu Ihrer Redis-Instanz während der Entwicklung von Ihrem lokalen Computer herzustellen. Dazu müssen Sie eine Compute Engine-Instanz erstellen, die für die Portweiterleitung zur Redis-Instanz verwendet wird.
Erstellen Sie eine Compute Engine-Instanz mit dem folgenden Befehl:
gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
Wobei:
- COMPUTE_VM_NAME der Name ist, den Sie für die Compute Engine-VM festlegen.
- ZONE die Zone ist, in der Sie die VM bereitstellen möchten.
Dieser Befehl erstellt eine kostengünstige Compute Engine-VM mit dem Maschinentyp
f1-micro
. Sie können auch andere Maschinentypen auswählen.Öffnen Sie ein neues Terminal auf Ihrem lokalen Computer.
Führen Sie den folgenden Befehl aus, um einen SSH-Tunnel zu erstellen, der den Traffic über die Compute Engine-VM weiterleitet:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
Wobei:
- COMPUTE_VM_NAME der Name der Compute Engine-VM ist.
- ZONE die Zone ist, in der sich die Compute Engine-VM befindet.
- REDIS_INSTANCE_IP_ADDRESS die IP-Adresse Ihrer Redis-Instanz ist.
Öffnen Sie zum Testen der Verbindung ein neues Terminalfenster und führen Sie den folgenden Befehl aus:
redis-cli ping
Bei korrekter Funktionsweise sollte das Ergebnis Folgendes zurückgeben:
PONG
Sie sind jetzt mit der Redis-Instanz verbunden und können mit diesem offenen SSH-Tunnel Befehle an die Redis-Instanz senden. Installieren Sie
redis-cli
, damit Sie diesen Befehl ausführen können, falls noch nicht geschehen.Der SSH-Tunnel bleibt geöffnet, solange das Terminalfenster mit der SSH-Tunnelverbindung aufrechterhalten wird.
Verbindung zu einer Redis-Instanz über einen Google Kubernetes Engine-Cluster herstellen
Sie können eine Verbindung zur Redis-Instanz über einen Google Kubernetes Engine-Cluster herstellen, der dasselbe autorisierte Netzwerk wie Ihre Redis-Instanz verwendet.
Verbindung über einen Pod mit einer Bash-Shell herstellen
- Rufen Sie in der Google Cloud Console die GKE-Seite auf.
GKE - Klicken Sie auf den GKE-Cluster, über den Sie eine Verbindung herstellen möchten. Wenn Sie noch keinen Cluster haben, erstellen Sie einen Cluster mit aktivierten IP-Aliassen. Eine Anleitung zum Erstellen eines Clusters mit aktivierten IP-Aliassen finden Sie unter VPC-native Cluster erstellen.
- Klicken Sie rechts neben dem Namen des Clusters auf die Schaltfläche Verbinden und dann auf In Cloud Shell ausführen.
- Konfigurieren Sie den Zugriff auf die Befehlszeile
kubectl
mit folgendem Befehl:gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
CLUSTER_NAME
ist der Name des Clusters.CLUSTER_ZONE
ist die Zone, in der sich der Cluster befindet. Muss auch die Zone sein, in der sich die Redis-Instanz befindet.PROJECT_ID
ist das Projekt, in dem sich der Cluster und die Redis-Instanzen befinden.
kubeconfig generated for CLUSTER_NAME
- Wenn die Cluster-Version 1.8 oder höher ist und IP-Aliasse aktiviert sind, überspringen Sie diesen Schritt. Wenn Sie einen Cluster der Version 1.7 oder niedriger haben oder für Ihren Cluster der Version 1.8 oder höher keine IP-Aliasse aktiviert sind, führen Sie die folgenden Umgehungsschritte aus. Daraufhin können Sie versuchen, eine Verbindung zu Ihrer Instanz herzustellen: VPC-nativen Cluster erstellen. Weitere Informationen zu IP-Aliassen und zum Erstellen eines Clusters, für den diese Einstellung aktiviert ist, finden Sie unter
- Verwenden Sie den folgenden Befehl, um eine Verbindung zu einer Bash-Shell herzustellen:
kubectl run -i --tty busybox --image=busybox -- sh
- Stellen Sie eine Telnet-Verbindung zu Ihrer Redis-Instanz mit der Hostadresse und Portnummer her:
telnet HOST-IP PORT
- Geben Sie einen einfachen Redis-Befehl ein, um die Verbindung zu überprüfen:
PING +PONG
- Zum Trennen der Telnet-Verbindung drücken Sie Strg + C oder die Befehlstaste + C (Mac-Tastatur). Zum Beenden der Bash-Shell in Ihrem Pod geben Sie "return" ein. Wenn Sie fertig sind und keine Verbindung mehr zu Redis benötigen, führen Sie den folgenden Befehl im Verzeichnis
/k8s-custom-iptables/
aus:./uninstall.sh
Verbindung zu einer Redis-Instanz über einen Google Kubernetes Engine-Pod herstellen
Für diesen Vorgang benötigen Sie einen GKE-Cluster. Wenn Sie noch keinen Cluster haben, erstellen Sie einen Cluster mit aktivierten IP-Aliassen. Eine Anleitung zum Erstellen eines Clusters mit aktivierten IP-Aliassen finden Sie unter VPC-native Cluster erstellen.
- Klicken Sie in der rechten oberen Ecke der Konsole auf die Schaltfläche Cloud Shell aktivieren .
- Konfigurieren Sie den Zugriff auf die Befehlszeile
kubectl
mit folgendem Befehl:gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
CLUSTER_NAME
ist der Name des Clusters.CLUSTER_ZONE
ist die Zone, in der sich der Cluster befindet. Muss auch die Zone sein, in der sich die Redis-Instanz befindet.PROJECT_ID
ist das Projekt, in dem sich der Cluster und die Redis-Instanzen befinden.
kubeconfig generated for CLUSTER_NAME
- Wenn die Cluster-Version 1.8 oder höher ist und IP-Aliasse aktiviert sind, überspringen Sie diesen Schritt. Wenn Sie einen Cluster der Version 1.7 oder niedriger haben oder für Ihren Cluster der Version 1.8 oder höher keine IP-Aliasse aktiviert sind, führen Sie die folgenden Umgehungsschritte aus. Daraufhin können Sie versuchen, eine Verbindung zu Ihrer Instanz herzustellen: VPC-nativen Cluster erstellen. Weitere Informationen zu IP-Aliassen und zum Erstellen eines Clusters, für den diese Einstellung aktiviert ist, finden Sie unter
- Verwenden Sie den folgenden Befehl, um einen Redis-Pod zu starten, auf dem
redis-cli
ausgeführt wird:kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
- Führen Sie einen
redis-cli
-Befehl aus und ersetzen SieHOST-IP
durch die Host-IP-Adresse Ihrer Redis-Instanz:redis-cli -h HOST-IP info
- Führen Sie optional einen Redis-Benchmark-Befehl aus. Ersetzen Sie dabei
HOST-IP
erneut durch die Host-IP-Adresse Ihrer Redis-Instanz:redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
- Zum Beenden des Redis-Pods geben Sie
return
ein. Wenn Sie fertig sind und keine Verbindung mehr zu Redis benötigen, führen Sie den folgenden Befehl im Verzeichnis/k8s-custom-iptables/
aus:./uninstall.sh
Nächste Schritte
Stellen Sie eine Verbindung zu Ihrer Redis-Instanz mithilfe einer Beispielanwendung her, die in einer der folgenden Umgebungen ausgeführt wird:
- Compute Engine
- GKE
- Cloud Run
- App Engine-Standardumgebung
- Flexible App Engine-Umgebung
- Cloud Run Functions