Connexion à une grappe de mémoire cache OCI
Le cache OCI permet d'accéder à une grappe au moyen d'un point d'extrémité privé.
Avec des points d'extrémité privés, le trafic ne passe pas par Internet. Vous ne pouvez vous connecter à la grappe qu'à partir d'un client dans le même VCN que la grappe ou un autre VCN avec les passerelles et les règles de routage appropriées configurées.
La commandeKEYS n'est pas prise en charge pour une utilisation régulière dans les environnements de production. Elle est destinée au débogage et aux opérations spéciales uniquement. Lorsque vous envoyez la commande KEYS à un cluster, celui-ci peut subir une panne ou une dégradation des performances.
Pour rechercher des clés dans un sous-ensemble de l'espace de clés, utilisez plutôt la commande SCAN ou un type de données de jeux.
Limites et points à considérer
-
Vous pouvez uniquement vous connecter aux noeuds d'une grappe à l'aide des noms de domaine complets (FQDN) fournis par le service. Pour les grappes non partitionnées horizontalement, les noms de domaine complets servent aux points d'extrémité privés des noeuds principaux ou de réplique de la grappe. Voir Obtention des détails de connexion d'une grappe de cache OCI. Pour les grappes partitionnées horizontalement, les noms de domaine complets servent aux points d'extrémité privés du noeud de chaque partition horizontale. Voir Obtention des détails de connexion d'une grappe partitionnée horizontalement dans le cache OCI.Important
N'utilisez pas d'adresses IP pour résoudre les noeuds de la topologie. -
Par défaut, le cache OCI prend uniquement en charge les connexions TLS avec des grappes, quel que soit le client à partir duquel vous êtes connecté. Si votre scénario nécessite une connexion sans TLS, communiquez avec le soutien technique.
-
Si la version du moteur de mémoire cache pour la grappe est
REDIS_7_0, la version 6 de l'interface de ligne de commande Redis ou une version plus récente est requise, la version 7 de l'interface de ligne de commande Redis est recommandée. Si la version du moteur de mémoire cache estVALKEY_7_2, la version 7.2 de l'interface de ligne de commande Valkey est requise. Pour plus d'informations, voir Connexion à l'interface de ligne de commande Valkey ou à l'interface de ligne de commande Redis. -
Lors de la connexion à des bases de données telles que le cache OCI, utilisez la réserve de connexions comme bonne pratique de développement. Si le nombre de connexions au cluster dépasse 1024, cela peut entraîner une charge excessive sur le processus du service et ralentir les réponses. Consultez la documentation du cadre ou de la bibliothèque que vous utilisez pour les pratiques de codage recommandées.
-
Lorsque vous créez une grappe, le cache OCI crée et gère le jeu d'instances de calcul qui composent les noeuds de la grappe. Ces instances sont les seules qui sont prises en charge en tant que noeuds de grappe. Vous ne pouvez pas attacher les instances que vous avez créées séparément en tant que noeuds pour la grappe. La tentative d'attachement d'instances supplémentaires à la grappe entraîne l'entrée par la grappe d'un état de cycle de vie
FAILED. -
Toutes les bibliothèques client Valkey ou Redis que vous utilisez pour vous connecter à une grappe partitionnée doivent prendre en charge Valkey ou Redis
CLUSTER MODEavec la prise en charge du nom d'hôte.
Informations de connexion à une grappe non fragmentée
Les informations de connexion de la grappe comprennent les points d'extrémité suivants que vous utilisez pour vous connecter à la grappe :
-
Point d'extrémité principal : Il s'agit du point d'extrémité du noeud principal de la grappe. Ce point d'extrémité se connecte toujours au noeud configuré en tant que noeud principal, même si l'instance sous-jacente configurée en tant que noeud principal a changé.
-
Point d'extrémité des répliques : Il s'agit du point d'extrémité pour les noeuds de réplique de la grappe. Ce point d'extrémité se connecte toujours à un noeud configuré en tant que réplique, mais pour les grappes comportant plusieurs noeuds de réplique, il se peut qu'il ne s'agisse pas de la même réplique à chaque fois.
-
Points d'extrémité de noeud : Il s'agit des points d'extrémité directs vers chaque instance de noeud. N'utilisez ces points d'extrémité pour les connexions que si vous avez vérifié que vous êtes connecté au type de noeud auquel vous prévoyez vous connecter. Parfois, l'instance sous-jacente du noeud principal a peut-être été modifiée. Pour garantir que vous êtes connecté au noeud principal, utilisez plutôt le point d'extrémité principal.
Voir Obtention des détails de connexion d'une grappe de mémoire cache OCI pour savoir comment afficher ces informations.
Informations de connexion sur la grappe partitionnée
Les grappes partitionnées horizontalement n'ont pas de points d'extrémité principaux ou de répliques au niveau de la grappe que vous utilisez pour vous connecter à la grappe. À la place, vous utilisez les points d'extrémité privés pour les noeuds principaux des partitions horizontales d'une grappe. Voir Obtention des détails de connexion d'une grappe partitionnée horizontalement dans le cache OCI pour savoir comment obtenir ces informations. Nous vous recommandons de spécifier les points d'extrémité privés pour les trois premières partitions horizontales de la grappe dans les informations de connexion de votre application.
Le point d'extrémité de détection fournit un point d'extrémité unique et stable auquel vous pouvez accéder et interagir avec une grappe partitionnée (c'est-à-dire une grappe utilisant le partitionnement des données sur plusieurs noeuds). Voir Point d'extrémité de détection.
Règle de sécurité pour la connexion à des grappes
Pour activer les connexions à une grappe, le VCN de la grappe doit avoir une règle de sécurité de trafic entrant configurée avec les valeurs suivantes :
-
sans état : Non
-
Protocole IP : TCP
-
Intervalle de ports sources : Tous
-
Intervalle de ports de destination : 6379
-
Autorise : Trafic TCP pour les ports : 6379
Le service de réseau fournit deux fonctions que vous pouvez utiliser pour appliquer une règle de sécurité à un VCN, à des listes de sécurité et à des groupes de sécurité de réseau. Le cache OCI prend en charge les deux fonctions. Pour plus d'informations, voir Liste de sécurité pour les grappes et Utilisation d'un groupe de sécurité de réseau pour les grappes.
Avec les listes de sécurité, la règle de sécurité s'applique à tous les réseaux en nuage virtuels d'un sous-réseau. Assurez-vous que le sous-réseau à partir duquel votre application client se connecte à la grappe de mémoire cache OCI comporte une liste de sécurité sortante qui permet la communication avec la mémoire cache OCI sur le port de destination 6379.
Si vous voulez que la règle de sécurité s'applique uniquement à un sous-ensemble de réseaux en nuage virtuels, utilisez plutôt un groupe de sécurité de réseau. Pour plus d'informations sur les différences entre les groupes de sécurité et les groupes de sécurité de réseau, voir Comparaison des listes de sécurité et des groupes de sécurité de réseau.
Liste de sécurité pour les grappes
Lorsque vous créez une grappe, pour rendre les données accessibles à partir de la grappe, le cache OCI crée une liste de sécurité avec une règle de sécurité de trafic entrant avec état pour le trafic TCP sur le port de destination 6379 pour le VCN de la grappe.
Vous pouvez vérifier la liste de sécurité pour cette règle en procédant comme suit :
-
Dans la page de liste Grappes, sélectionnez la grappe avec laquelle vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou la grappe, voir Liste des grappes de mémoire cache OCI.
-
Dans la page des détails de la grappe, sélectionnez le lien Sous-réseau dans l'onglet Informations sur la grappe.
-
Dans la page de liste du sous-réseau, sélectionnez Sécurité.
-
Dans la page Listes de sécurité, sélectionnez redis-security-list.
-
Dans la page redis-security-list details (Détails de la liste de sécurité redis), sélectionnez Security rules (Règles de sécurité).
-
Sous Règles de trafic entrant, vous devriez voir une règle répertoriée, avec les valeurs suivantes :
-
sans état : Non
-
Protocole IP : TCP
-
Intervalle de ports sources : Tous
-
Intervalle de ports de destination : 6379
-
Autorise : Trafic TCP pour les ports : 6379
-
Si vous ne voyez pas la liste de sécurité ou si la règle n'est pas configurée comme requise, vous pouvez créer une nouvelle liste de sécurité et ajouter la règle, ou vous pouvez ajouter la règle à la liste de sécurité par défaut pour le VCN. Pour plus d'informations, voir Listes de sécurité et Création d'une liste de sécurité.
-
Sans état : Laissez la case décochée.
-
Type de source : CIDR
-
Protocole IP : TCP
-
Intervalle de ports sources : Tous
-
Intervalle de ports de destination : 6379
Utilisation d'un groupe de sécurité de réseau pour les grappes
Pour utiliser un groupe de sécurité de réseau au lieu d'une liste de sécurité, vous devez ajouter une règle de sécurité de trafic entrant au groupe avec la configuration requise pour la connexion à une grappe. Pour plus d'informations sur la création et la gestion de groupes de sécurité de réseau, voir :
-
Sans état : Laissez la case décochée.
-
Type de source : CIDR
-
Protocole IP : TCP
-
Intervalle de ports sources : Tous
-
Intervalle de ports de destination : 6379
Vous pouvez configurer un à cinq groupes de sécurité de réseau pour une grappe. Vous pouvez spécifier des groupes de sécurité de réseau pour une grappe lorsque vous créez la grappe. Vous pouvez également configurer des groupes de sécurité de réseau pour une grappe existante, voir Configurer les groupes de sécurité de réseau d'une grappe de cache OCI.
Créer une instance de machine virtuelle
Vous pouvez vous connecter à la grappe à l'aide de l'interface de ligne de commande Valkey ou de l'interface de ligne de commande Redis à partir d'une instance de machine virtuelle dans le même sous-réseau que la grappe. Pour savoir comment créer une instance, consultez l'une des rubriques suivantes :
Une fois l'instance créée, connectez-vous à l'instance. Pour plus d'informations, voir les rubriques suivantes :
Connexion à l'interface de ligne de commande Valkey ou à l'interface de ligne de commande Redis
Pour les grappes configurées avec la version
REDIS_7_0 du moteur de mémoire cache, l'interface de ligne de commande Redis version 6 ou une version plus récente est requise, l'interface de ligne de commande Redis version 7 est recommandée. Pour les grappes configurées avec la version VALKEY_7_2 du moteur de mémoire cache, l'interface de ligne de commande Valkey version 7.2 est requise.Téléchargez et installez l'interface de ligne de commande Redis ou l'interface de ligne de commande Valkey sur l'instance de machine virtuelle.
Les interfaces de ligne de commande Redis et Valkey utilisent toutes les deux la même syntaxe de commande. La seule différence entre les deux est l'inclusion de l'identificateur redis-cli ou valkey-cli au début de la commande. Vous pouvez exécuter toutes les commandes de cette rubrique à l'aide de l'un de ces identificateurs en fonction de l'interface de ligne de commande que vous avez installée. Le premier des exemples suivants donne à la fois les exemples Redis et Valkey. Mais vous pouvez utiliser l'un ou l'autre des identificateurs pour n'importe lequel des exemples.
Pour vous connecter à une grappe non partitionnée, exécutez la commande suivante pour vous connecter au noeud principal de la grappe :
redis-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
valkey-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
Pour vous connecter à une grappe partitionnée, exécutez la commande suivante pour vous connecter à l'une des partitions horizontales de la grappe :
redis-cli --tls -h <ID>.redis.<region>.oci.oraclecloud.com -c
Voir Obtention des détails de connexion d'une grappe partitionnée horizontalement dans le cache OCI pour savoir comment obtenir la chaîne de connexion pour la partition.
Vous devez inclure le commutateur
-c pour les connexions aux grappes partitionnées. Indique que vous êtes connecté à l'interface de ligne de commande en mode de grappe. Pour plus d'informations, voir 4.2 Utilisation de Redis-CLI avec une grappe Redis.Si vous n'incluez pas --tls, l'erreur Error: connection reset by peer se produit pour toutes les commandes de l'interface de ligne de commande Redis.
L'erreur Unrecognized option or bad number of args for: '--tls' se produit si la version de l'interface de ligne de commande Redis que vous utilisez est antérieure à la version 6. Pour vérifier la version de l'interface de ligne de commande Redis, exécutez la commande suivante :
redis-cli -v
Scripts Lua
Les scripts Lua s'exécutent sur le serveur, ce qui permet une lecture et une écriture efficaces des données de grappe. Pour plus d'informations, voir Script avec Lua. L'exemple suivant montre comment appeler la commande EVAL à partir de l'interface de ligne de commande Valkey ou de l'interface de ligne de commande Redis pour définir une valeur de clé, puis extraire la valeur de clé.
Pour définir la valeur de clé :
redis-cli --tls -h <IP_address> EVAL "return redis.call('SET', 'mykey', 'helloworld')" 0
Pour extraire la valeur de clé que vous venez de définir :
redis-cli --tls -h <IP_address> EVAL "return redis.call('GET', 'mykey')" 0
Nous ne recommandons pas d'utiliser des scripts Lua de longue durée. Lorsqu'un script Lua s'exécute, d'autres commandes sont bloquées jusqu'à ce que le script Lua soit terminé. La durée d'exécution maximale d'un script est définie par la valeur busy-reply-threshold. Par défaut, la valeur du seuil de réponse occupée est de cinq secondes. Lorsqu'un script Lua s'exécute plus longtemps que la durée d'exécution par défaut de cinq secondes, il y a de plus en plus de chances que les basculements soient déclenchés pour le cluster et que celui-ci passe à un état non sain. Si vous avez une grappe qui nécessite des scripts Lua qui prennent plus de cinq secondes à s'exécuter, communiquez avec le soutien technique pour demander que la valeur busy-reply-threshold pour la grappe soit augmentée.
Les scripts Lua ne sont pas pris en charge pour les grappes partitionnées horizontalement.
Dépannage de la connexion à une grappe
Tester la connexion de base avec l'outil dig
dig <primary_endpoint>
Voir Obtention des détails de connexion d'une grappe de cache OCI pour savoir comment obtenir le point d'extrémité du noeud principal.
Si vous exécutez la commande dig à partir du même VCN que la grappe et que la connexion ne parvient pas à se résoudre, vérifiez que le sous-réseau a une liste de sécurité avec une règle de sécurité entrante avec état pour le trafic TCP sur le port de destination 6379. Lorsque vous créez une grappe, le cache OCI crée une liste de sécurité avec la configuration requise. Toutefois, si cette configuration est supprimée ou mise à jour, vous devez l'ajouter. Pour plus de détails, voir Liste de sécurité pour les grappes.
Si vous exécutez la commande dig à partir d'un VCN différent en tant que grappe et que la connexion ne parvient pas à se résoudre, vérifiez que vous disposez de la configuration de table de routage correcte pour les réseaux en nuage virtuels, voir Tables de routage de VCN.
Analyseur de chemins réseau
Vous pouvez également utiliser l'analyseur de chemin de réseau pour tester la connectivité à la grappe. Cet outil vous permet de dépanner et d'identifier les problèmes de routage et autres problèmes de configuration de réseau lors de la configuration, que vous soyez connecté à partir du même VCN ou d'un autre VCN.