Direkt zum Inhalt

Wie behebe ich Verbindungsprobleme mit einem selbst gestalteten ElastiCache-für-Valkey- und einem selbst gestalteten ElastiCache-für Redis-OSS-Cluster?

Lesedauer: 6 Minute
0

Ich möchte Verbindungsprobleme mit meinem selbst gestalteten Amazon-ElastiCache-für-Valkey- und meinem selbst gestalteten Amazon ElastiCache-für-Redis-OSS-Cluster beheben.

Lösung

Überprüfe den Status deines Clusters

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Wenn du den Cluster erst vor kurzem erstellt hast, können Verbindungsprobleme auftreten, wenn der Cluster nicht den Status Verfügbar aufweist. Um zu bestätigen, dass die Erstellung abgeschlossen ist, überprüfe den Status des Clusters und jedes Knotens, der mit dem Cluster verbunden ist:

  • Wenn in der Spalte Status Verfügbar angezeigt wird, kann der Cluster Verbindungen annehmen.
  • Wenn in der Spalte Status Wird erstellt oder Wird geändert angezeigt wird, ist die Clustererstellung gerade im Gange oder wird aktualisiert. Warte ein paar Minuten, bis der Status auf Verfügbar aktualisiert wird.

Zustand deines Clusters überprüfen

Um den Clusterzustand zu überprüfen, suche in den folgenden Quellen nach Informationen zu deinem Cluster:

Sicherheitsgruppen- und Netzwerk-ACL-Konfiguration überprüfen

Überprüfe die Konfiguration deiner Sicherheitsgruppen und deiner Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs) auf dem Cluster und der Ressource, von der aus du die Verbindung einleitest. Du musst die Sicherheitsgruppen und die Netzwerk-ACLs für den Zugriff auf Ressourcen konfigurieren. Weitere Informationen findest du unter Zugriff auf deinen ElastiCache-Cluster oder deine Replikationsgruppe.

Im Folgenden findest du Beispiele für Client-Ressourcen:

  • Amazon Elastic Compute Cloud (Amazon EC2) Instances
  • AWS-Lambda-Funktionen
  • Amazon Elastic Container Service (Amazon ECS) Container
  • Amazon Elastic Kubernetes Service (Amazon EKS) Container

Gehe wie folgt vor, um die Sicherheitsgruppe des Clusters zu überprüfen:

  1. Öffne die ElastiCache-Konsole.
  2. Wähle im Navigationsbereich unter Ressourcen Valkey-Caches oder Redis-OSS-Caches aus und danach den Cluster.
  3. Wähle auf der Seite mit den Cluster-Details die Registerkarte Konnektivität und Sicherheit aus.
  4. Stelle sicher, dass mindestens eine der zugehörigen Sicherheitsgruppen eingehende Verbindungen von der Client-Ressource zum Cluster auf dem Port des Clusters zulässt.
  5. Überprüfe einen der Cluster-Endpunkte, um die Portnummer herauszufinden. Die Endpunkte haben das Format domain_name:port.
    **Hinweis:**Standardmäßig ist der Port des Clusters 6379/TCP. Du kannst die Portnummer überschreiben, wenn du einen Cluster erstellst.
  6. Überprüfe auf der Client-Ressource, ob die Sicherheitsgruppen ausgehende Verbindungen vom Port des Clusters zu den CIDR-Blöcken der Cluster-Subnetze zulassen.
  7. Stelle sicher, dass die Netzwerk-ACLs ausgehende und eingehende Verbindungen zwischen dem Client und dem Cluster zulassen. Vergewissere dich außerdem, dass die Routing-Tabellen die entsprechenden Routen enthalten.
    **Hinweis:**Standardmäßig lassen Netzwerk-ACLs alle Verbindungen zu.

Verwende zur weiteren Fehlerbehebung der Netzwerkkonfiguration Network Access Analyzer von Amazon Virtual Private Cloud (Amazon VPC).

Verwendung der richtigen Endpunkte für Verbindungen beachten

Stelle sicher, dass du die clientseitige Anwendung so konfigurierst, dass sie die richtigen Endpunkte verwendet. Weitere Informationen findest du unter Verbindungsendpunkte in ElastiCache finden.

Überprüfe die TCP-Verbindung zwischen dem Valkey- oder Redis-OSS-Cluster und dem Client

Vergewissere dich, dass eine TCP-Verbindung zwischen dem Valkey- oder Redis-OSS-Cluster und der Client-Ressource besteht. Um die Konnektivität zwischen dem ElastiCache-Cluster und dem Client zu bestätigen, führe den Befehl curl von der Client-Ressource aus:

$ curl -v telnet://example-cluster-endpoint:6379

**Hinweis:**Ersetze example-cluster-endpoint durch den Endpunkt deines Clusters.

Beispielausgabe:

*   Trying 172.31.1.242:6379...* Connected to example-cluster-endpoint (172.31.1.242) port 6379

Im vorherigen Beispiel bestätigt die Ausgabe Verbunden, dass die TCP-Verbindung geklappt hat.

Überprüfen der Verbindungen zu Clustern mit Verschlüsselung übertragener Daten

Um Valkey- oder Redis-OSS-Cluster-Traffic über TLS zu senden, musst du die Verschlüsselung übertragener Daten verwenden. Um eine Verbindung vom Client aus herzustellen, muss der Client TLS unterstützen.

Wenn valkey-cli oder redis-cli über TLS-Unterstützung verfügen, kannst du dem Befehl das Argument --tls beifügen, um die TLS-Unterstützung zu aktivieren.

Beispiel für redis-cli:

$ redis-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

Beispiel für valkey-cli:

$ valkey-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

**Hinweis:**Ersetze example-encrypted-cluster-endpoint durch den verschlüsselten Endpunkt deines Clusters.

Beispielausgabe:

example-encrypted-cluster-endpoint:6379>

Wenn deine valkey-cli oder redis-cli TLS nicht unterstützt, wird die folgende Fehlermeldung ausgegeben:

"Unrecognized option or bad number of args for: '--tls' "

Um den vorherigen Fehler zu beheben, installiere valkey-cli oder redis-cli mit TLS-Unterstützung.

Verbindungen zu Clustern mit Authentifizierung überprüfen

Verwende valkey-cli oder redis-cli, um Verbindungen zu Clustern mit Authentifizierung zu überprüfen. Weitere Informationen findest du im Abschnitt Herstellung einer Verbindung zu einem Cluster mit aktivierter Verschlüsselung/Authentifizierung in Verbindung mit dem Knoten des Clusters.

Beispiel für redis-cli:

redis-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

Beispiel für valkey-cli:

valkey-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

Hinweis: Die valkey-cli- und redis-cli-Befehle erfordern sowohl das Argument --tls als auch das Argument --askpass oder -a. Wenn du diese Argumente nicht angibst oder ein falsches Passwort verwendest, wird die Meldung NOAUTH oder AUTH failed angezeigt. Wenn du valkey-cli oder redis-cli nur mit dem Argument --tls verwendest, verwende AUTH, <password> nachdem du eine Verbindung hergestellt hast, um die Authentifizierung abzuschließen.

Aktualisieren der DNS-Attribute auf deiner Client-Ressource

Wenn DNS-Probleme auftreten, wird möglicherweise die Fehlermeldung „Name or service not known“ oder „NXDOMAIN“ ausgegeben. Diese Fehler treten auf, wenn DNS-Abfragen über deinen benutzerdefinierten DNS-Server fehlschlagen. Um diese Fehler zu beheben, stelle sicher, dass du die richtigen DNS-Attribute auf der Amazon-VPC-Client-Ressource hast.

Hinweis: Es hat sich bewährt, den Amazon-DNS-Server für deine Virtual Private Cloud (VPC) zu verwenden.

Überprüfung deiner Client-Verbindungen

Um die Client-Verbindungsdetails deines ElastiCache-Clusters zu überprüfen, kannst du Metriken für Valkey und Redis OSS wie CurrConnections und NewConnections verwenden. ElastiCache verwendet vier bis sechs der Verbindungen, um den Cluster zu überwachen.

Um deine Client-Verbindungsdetails zu ermitteln, führe den folgenden valkey-cli- oder redis-cli-Befehl aus:

$ CLIENT LIST

Die Ausgabe des Befehls listet alle verbundenen Clients auf, einschließlich ihrer IP-Adressen, Leerlaufzeiten und anderer Informationen. Weitere Informationen findest du unter CLIENT LIST auf der Valkey-Website und CLIENT LIST auf der Redis-OSS-Website.

Überprüfen der Netzwerkverbindung zwischen deinem Cluster und der Client-Ressource

Je nachdem, wie du auf deinen ElastiCache-Cluster zugreifst, können Latenzprobleme auftreten. Um die Latenz zu minimieren, empfiehlt es sich, von Amazon EC2 oder von Ressourcen innerhalb derselben Amazon VPC aus auf ElastiCache zuzugreifen. Weitere Informationen findest du unter Zugriffsmuster für den Zugriff auf einen ElastiCache-Cache in einer Amazon VPC und Zugriff auf den ElastiCache-Cluster oder die Replikationsgruppe.

Ähnliche Informationen

Dauerhafte Verbindungsprobleme

Herstellen einer Verbindung zu einem Valkey- oder Redis-OSS-Cluster oder einer Replikationsgruppe (Linux)

AWS OFFICIALAktualisiert vor einem Jahr