Verbindung zu einem OCI-Cachecluster herstellen

OCI Cache bietet Zugriff auf ein Cluster über einen privaten Endpunkt.

Bei privaten Endpunkten wird Traffic nicht über das Internet geleitet. Sie können nur über einen Client innerhalb desselben VCN wie das Cluster oder ein anderes VCN eine Verbindung zum Cluster herstellen, wobei die entsprechenden Gateways und Routingregeln konfiguriert sind.

Warnung

Der KEYS-Befehl wird für die regelmäßige Verwendung in Produktionsumgebungen nicht unterstützt. Er dient nur zum Debuggen und für spezielle Vorgänge. Wenn Sie den KEYS-Befehl an ein Cluster senden, kann es zu einem Absturz oder einer Performancebeeinträchtigung des Clusters kommen.

Um Schlüssel in einem Teil des Keyspace zu suchen, verwenden Sie stattdessen den SCAN-Befehl oder einen Satzdatentyp.

Einschränkungen und Überlegungen

  • Sie können sich nur mit den vom Service bereitgestellten vollqualifizierten Domainnamen (FQDNs) bei den Knoten eines Clusters anmelden. Bei nicht in Shards unterteilten Clustern gelten die FQDNs für die privaten Endpunkte der Primär- oder Replikatknoten des Clusters. Informationen hierzu finden Sie unter Verbindungsdetails eines OCI-Cacheclusters abrufen. Bei in Shards unterteilten Clustern gelten die FQDNs für die privaten Endpunkte zu jedem Shard-Knoten. Informationen hierzu finden Sie unter Verbindungsdetails eines in OCI-Cache unterteilten Clusters abrufen.
    Wichtig

    Verwenden Sie keine IP-Adressen, um Knoten in der Topologie aufzulösen.
  • Standardmäßig unterstützt OCI Cache nur TLS-Verbindungen mit Clustern, unabhängig vom Client, von dem aus Sie eine Verbindung herstellen. Wenn für Ihr Szenario eine Verbindung ohne TLS erforderlich ist, wenden Sie sich an den Support.

  • Wenn die Cache-Engine-Version für das Cluster REDIS_7_0 ist, Redis-CLI-Version 6 oder höher erforderlich ist, wird Redis-CLI-Version 7 empfohlen. Wenn die Cache Engine-Version VALKEY_7_2 lautet, ist die Valkey-CLI-Version 7.2 erforderlich. Weitere Informationen finden Sie unter Verbindung mit der Valkey-CLI oder Redis-CLI herstellen.

  • Verwenden Sie beim Herstellen einer Verbindung zu Datenbanken wie OCI Cache das Connection Pooling als gute Entwicklungspraxis. Wenn die Anzahl der Verbindungen zum Cluster 1024 überschreitet, kann dies zu einer übermäßigen Belastung des Serviceprozesses führen und die Antworten verlangsamen. Empfohlene Codierungsverfahren finden Sie in der Dokumentation für das Framework oder die Bibliothek, die Sie verwenden.

  • Wenn Sie ein Cluster erstellen, erstellt und verwaltet OCI Cache die Gruppe der Compute-Instanzen, aus denen die Knoten des Clusters bestehen. Diese Instanzen sind die einzigen Instanzen, die als Clusterknoten unterstützt werden. Sie können keine Instanzen anhängen, die Sie separat als Knoten für das Cluster erstellt haben. Wenn Sie versuchen, weitere Instanzen an das Cluster anzuhängen, wechselt das Cluster in den Lebenszyklusstatus FAILED.

  • Alle Valkey- oder Redis-Clientbibliotheken, mit denen Sie eine Verbindung zu einem in Shards unterteilten Cluster herstellen, müssen Valkey oder Redis CLUSTER MODE mit Hostnamenunterstützung unterstützen.

Verbindungsinformationen zu nicht gemeinsam verwendetem Cluster

Die Verbindungsinformationen des Clusters umfassen die folgenden Endpunkte, mit denen Sie eine Verbindung zum Cluster herstellen:

  • Primärer Endpunkt: Dies ist der Endpunkt für den primären Knoten des Clusters. Dieser Endpunkt stellt immer eine Verbindung zu dem als primär konfigurierten Knoten her, selbst wenn sich die zugrunde liegende Instanz, die als primärer Knoten konfiguriert ist, geändert hat.

  • Replikatendpunkt: Dies ist der Endpunkt für die Replikatknoten des Clusters. Dieser Endpunkt stellt immer eine Verbindung zu einem Knoten her, der als Replikat konfiguriert ist. Bei Clustern mit mehreren Replikatknoten ist er jedoch möglicherweise nicht jedes Mal dasselbe Replikat.

  • Knotenendpunkte: Dies sind die direkten Endpunkte für jede Knoteninstanz. Verwenden Sie diese Endpunkte nur für Verbindungen, wenn Sie geprüft haben, ob Sie eine Verbindung zu dem Knotentyp herstellen, zu dem Sie eine Verbindung herstellen möchten. Manchmal hat sich die zugrunde liegende Instanz des primären Knotens geändert. Um sicherzustellen, dass Sie eine Verbindung zum primären Knoten herstellen, verwenden Sie stattdessen den primären Endpunkt.

Informationen zum Anzeigen dieser Informationen finden Sie unter Verbindungsdetails eines OCI-Cacheclusters abrufen.

Informationen zur Clusterverbindung in Shards

In Shards unterteilte Cluster haben keine primären oder replizierten Endpunkte auf Clusterebene, mit denen Sie eine Verbindung zum Cluster herstellen. Stattdessen verwenden Sie die privaten Endpunkte für die primären Knoten der Shards eines Clusters. Informationen zum Abrufen dieser Informationen finden Sie unter Verbindungsdetails eines in OCI-Cache geteilten Clusters abrufen. Es wird empfohlen, die privaten Endpunkte für die ersten drei Shards des Clusters in den Verbindungsinformationen Ihrer Anwendung anzugeben.

Sicherheitsregel für die Verbindung mit Clustern

Um Verbindungen zu einem Cluster zu aktivieren, muss im VCN des Clusters eine Ingress-Sicherheitsregel mit den folgenden Werten konfiguriert sein:

  • zustandslos: Nein

  • IP-Protokoll: TCP

  • Quellportbereich: Alle

  • Zielportbereich: 6379

  • Lässt Folgendes zu:: TCP-Traffic für Ports: 6379

Der Networking-Service bietet zwei Features, mit denen Sie eine Sicherheitsregel auf ein VCN, Sicherheitslisten und Netzwerksicherheitsgruppen (NSGs) anwenden können. OCI Cache unterstützt beide Features. Weitere Informationen finden Sie unter Sicherheitsliste für Cluster und NSG für Cluster verwenden.

Bei Sicherheitslisten gilt die Sicherheitsregel für alle VCNs in einem Subnetz. Stellen Sie sicher, dass das Subnetz, von dem aus Ihre Clientanwendung eine Verbindung zum OCI Cache-Cluster herstellt, über eine Egress-Sicherheitsliste verfügt, die eine Kommunikation mit OCI Cache auf dem Zielport 6379 ermöglicht.

Wenn die Sicherheitsregel nur auf eine Teilmenge von VCNs angewendet werden soll, verwenden Sie stattdessen eine NSG. Weitere Informationen über die Unterschiede zwischen Sicherheitsgruppen und NSGs finden Sie unter Vergleich von Sicherheitslisten und Netzwerksicherheitsgruppen.

Sicherheitsliste für Cluster

Wenn Sie ein Cluster erstellen, um die Daten aus dem Cluster zugänglich zu machen, erstellt OCI Cache eine Sicherheitsliste mit einer Sicherheitsregel für zustandsbehafteten Ingress für TCP-Traffic auf Zielport 6379 für das VCN des Clusters.

Sie können die Sicherheitsliste für diese Regel wie folgt prüfen:

  1. Wählen Sie auf der Listenseite Cluster das Cluster, mit dem Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, lesen Sie OCI-Cachecluster auflisten.

  2. Wählen Sie auf der Detailseite des Clusters auf der Registerkarte Clusterinformationen den Link Subnetz aus.

  3. Wählen Sie auf der Listenseite des Subnetzes die Option Sicherheit aus.

  4. Wählen Sie auf der Seite Sicherheitslisten die Option redis-security-list aus.

  5. Wählen Sie auf der Seite redis-security-list details die Option Sicherheitsregeln aus.

  6. Unter Ingress-Regeln sollte eine Regel mit den folgenden Werten aufgeführt werden:

    • zustandslos: Nein

    • IP-Protokoll: TCP

    • Quellportbereich: Alle

    • Zielportbereich: 6379

    • Lässt Folgendes zu:: TCP-Traffic für Ports: 6379

Wenn die Sicherheitsliste nicht angezeigt wird oder die Regel nicht nach Bedarf konfiguriert ist, können Sie eine neue Sicherheitsliste erstellen und die Regel hinzufügen oder die Regel zur Standardsicherheitsliste für das VCN hinzufügen. Weitere Informationen dazu finden Sie unter Sicherheitslisten und Sicherheitsliste erstellen.

Beim Erstellen und Konfigurieren der Regel müssen Sie die folgenden Optionen auf der Seite Ingress-Regeln hinzufügen angeben:
  • Zustandslos: Lassen Sie das Kontrollkästchen deaktiviert.

  • Quelltyp: CIDR

  • IP-Protokoll: TCP

  • Quellportbereich: Alle

  • Zielportbereich: 6379

NSG für Cluster verwenden

Um eine NSG anstelle einer Sicherheitsliste zu verwenden, müssen Sie der NSG eine Ingress-Sicherheitsregel mit der erforderlichen Konfiguration für die Verbindung zu einem Cluster hinzufügen. Weitere Informationen zum Erstellen und Verwalten von NSGs finden Sie unter:

Beim Erstellen und Konfigurieren der Ingress-Regel für die NSG müssen Sie die folgende Konfiguration angeben:
  • Zustandslos: Lassen Sie das Kontrollkästchen deaktiviert.

  • Quelltyp: CIDR

  • IP-Protokoll: TCP

  • Quellportbereich: Alle

  • Zielportbereich: 6379

Sie können eine bis fünf NSGs für ein Cluster konfigurieren. Sie können NSGs für ein Cluster angeben, wenn Sie das Cluster erstellen. Sie können NSGs auch für ein vorhandenes Cluster konfigurieren. Informationen hierzu finden Sie unter Netzwerksicherheitsgruppen eines OCI-Cacheclusters konfigurieren.

VM-Instanz erstellen

Sie können eine Verbindung zum Cluster über die Valkey-CLI- oder Redis-CLI-Befehle von einer VM-Instanz im selben Subnetz wie das Cluster herstellen. Informationen zum Erstellen einer Instanz finden Sie in einem der folgenden Themen:

Stellen Sie nach dem Erstellen der Instanz eine Verbindung zur Instanz her. Weitere Informationen finden Sie unter:

Verbindung mit der Valkey-CLI oder Redis-CLI herstellen

Tipp

Bei Clustern, die mit der Cache-Engine-Version REDIS_7_0, der Redis-CLI-Version 6 oder höher konfiguriert sind, wird die Redis-CLI-Version 7 empfohlen. Für Cluster, die mit der Cache-Engine-Version VALKEY_7_2 konfiguriert sind, ist die Valkey-CLI-Version 7.2 erforderlich.

Laden Sie die Redis-CLI oder die Valkey-CLI herunter, und installieren Sie sie auf der VM-Instanz.

Hinweis

Die Redis- und Valkey-CLI verwenden beide dieselbe Befehlssyntax. Der einzige Unterschied zwischen den beiden besteht darin, dass die ID redis-cli oder valkey-cli am Anfang des Befehls aufgenommen wird. Sie können alle Befehle in diesem Thema mit einer dieser IDs ausführen, je nachdem, welche CLI Sie installiert haben. Das erste der folgenden Beispiele zeigt sowohl die Redis- als auch die Valkey-Beispiele. Sie können jedoch einen der beiden Bezeichner für eines der Beispiele verwenden.

Um eine Verbindung zu einem nicht in Shards unterteilten Cluster herzustellen, führen Sie den folgenden Befehl aus, um eine Verbindung zum primären Knoten des Clusters herzustellen:

redis-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
valkey-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com

Um eine Verbindung zu einem in Shards unterteilten Cluster herzustellen, führen Sie den folgenden Befehl aus, um eine Verbindung zu einem der Cluster-Shards herzustellen:

redis-cli --tls -h <ID>.redis.<region>.oci.oraclecloud.com -c

Informationen zum Abrufen der Verbindungszeichenfolge für das Shard finden Sie unter Verbindungsdetails eines in OCI-Cache geteilten Clusters abrufen.

Wichtig

Sie müssen den Switch -c für Verbindungen zu in Shards unterteilten Clustern aufnehmen. Gibt an, dass Sie eine Verbindung mit der CLI im Clustermodus herstellen. Weitere Informationen finden Sie unter 4.2 Redis-CLI mit einem Redis-Cluster verwenden.

Wenn Sie --tls nicht einschließen, tritt der Fehler Error: connection reset by peer für alle Redis-CLI-Befehle auf.

Der Fehler Unrecognized option or bad number of args for: '--tls' tritt auf, wenn die verwendete Version der Redis-CLI älter ist als Version 6. Um die Redis-CLI-Version zu prüfen, führen Sie den folgenden Befehl aus:

redis-cli -v

Lua-Skripte

Lua-Skripte werden auf dem Server ausgeführt, sodass Clusterdaten effizient gelesen und geschrieben werden können. Weitere Informationen finden Sie unter Skripten mit Lua. Das folgende Beispiel zeigt, wie der EVAL-Befehl von der Valkey-CLI oder Redis-CLI aufgerufen wird, um einen Schlüsselwert festzulegen und dann den Schlüsselwert abzurufen.

So legen Sie den Schlüsselwert fest:

redis-cli --tls -h <IP_address> EVAL "return redis.call('SET', 'mykey', 'helloworld')" 0

So rufen Sie den gerade festgelegten Schlüsselwert ab:

redis-cli --tls -h <IP_address> EVAL "return redis.call('GET', 'mykey')" 0

Wir empfehlen die Verwendung von Lua-Skripten mit langer Ausführungszeit nicht. Wenn ein Lua-Skript ausgeführt wird, wird die Ausführung anderer Befehle blockiert, bis das Lua-Skript abgeschlossen ist. Die maximale Laufzeit für ein Skript wird durch den Wert busy-reply-threshold festgelegt. Standardmäßig beträgt der Wert für busy-reply-threshold fünf Sekunden. Wenn ein Lua-Skript länger als die Standardlaufzeit von fünf Sekunden ausgeführt wird, besteht eine erhöhte Wahrscheinlichkeit, dass Failover für das Cluster ausgelöst werden und das Cluster in einen fehlerhaften Status wechselt. Wenn ein Cluster vorhanden ist, für das Lua-Skripte ausgeführt werden müssen, deren Ausführung länger als fünf Sekunden dauert, wenden Sie sich an den Support, um eine Erhöhung des busy-reply-threshold-Wertes für das Cluster anzufordern.

Wichtig

Lua-Skripte werden für gemeinsam verwendete Cluster nicht unterstützt.

Fehler bei der Verbindung zu einem Cluster beheben

Grundlegende Verbindung mit dig Tool testen

Mit dem Dig-Tool können Sie die grundlegende Netzwerkkonnektivität zum Cluster testen, z.B. um eine Verbindung zum primären Knoten herzustellen:
dig <primary_endpoint>

Informationen zum Abrufen des Endpunkts des primären Knotens finden Sie unter Verbindungsdetails eines OCI-Cacheclusters abrufen.

Wenn Sie den dig-Befehl in demselben VCN wie das Cluster ausführen und die Verbindung nicht aufgelöst werden kann, prüfen Sie, ob das Subnetz eine Sicherheitsliste mit einer Sicherheitsregel für zustandsbehafteten Ingress für TCP-Traffic auf Zielport 6379 enthält. Wenn Sie ein Cluster erstellen, erstellt OCI Cache eine Sicherheitsliste mit der erforderlichen Konfiguration. Wenn diese jedoch entfernt oder aktualisiert wird, müssen Sie diese Konfiguration hinzufügen. Weitere Informationen finden Sie unter Sicherheitsliste für Cluster.

Wenn Sie den dig-Befehl von einem anderen VCN als Cluster ausführen und die Verbindung nicht aufgelöst werden kann, prüfen Sie, ob die richtige Routentabellenkonfiguration für die VCNs vorhanden ist. Informationen hierzu finden Sie unter VCN-Routentabellen.

Network Path Analyzer

Sie können auch Network Path Analyzer verwenden, um die Konnektivität zum Cluster zu testen. Mit diesem Tool können Sie Probleme beim Routing und andere Netzwerkkonfigurationsprobleme beim Setup beheben und identifizieren, unabhängig davon, ob Sie eine Verbindung von demselben VCN oder einem anderen VCN herstellen.