Connexion à un cluster de cache OCI

OCI Cache permet d'accéder à un cluster via une adresse privée.

Avec les adresses privées, le trafic ne passe pas par Internet. Vous pouvez uniquement vous connecter au cluster à partir d'un client dans le même VCN que le cluster ou un autre VCN avec les passerelles et les règles de routage appropriées configurées.

Avertissement

La commande KEYS n'est pas prise en charge pour une utilisation régulière dans les environnements de production. Elle est destinée uniquement au débogage et aux opérations spéciales. 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.

Restrictions et remarques

  • Vous pouvez uniquement vous connecter aux noeuds d'un cluster à l'aide des noms de domaine complets fournis par le service. Pour les clusters non distribués, les noms de domaine qualifiés complets concernent les adresses privées vers les noeuds principal ou de réplique du cluster. Reportez-vous à Obtention des détails de connexion d'un cluster de cache OCI. Pour les clusters distribués, les noms de domaine qualifiés complets concernent les adresses privées vers le noeud de chaque shard. Reportez-vous à Obtention des détails de connexion d'un cluster distribué de cache OCI.
    Important

    N'utilisez pas d'adresses IP pour résoudre les noeuds de la topologie.
  • Par défaut, OCI Cache prend uniquement en charge les connexions TLS avec des clusters, quel que soit le client à partir duquel vous êtes connecté. Si votre scénario nécessite une connexion sans TLS, contactez le support technique.

  • Si la version du moteur de cache pour le cluster est REDIS_7_0, que la version 6 ou une version plus récente de la CLI Redis est requise, la version 7 de la CLI Redis est recommandée. Si la version du moteur de cache est VALKEY_7_2, la version de l'interface de ligne de commande Valkey 7.2 est requise. Pour plus d'informations, reportez-vous à Connexion avec la CLI Valkey ou la CLI Redis.

  • Lors de la connexion à des bases de données telles qu'OCI Cache, utilisez le pool 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 de la structure ou de la bibliothèque que vous utilisez pour connaître les pratiques de codage recommandées.

  • Lorsque vous créez un cluster, OCI Cache crée et gère l'ensemble d'instances Compute qui constituent les noeuds du cluster. Ces instances sont les seules prises en charge en tant que noeuds de cluster. Vous ne pouvez attacher aucune instance que vous avez créée séparément en tant que noeud pour le cluster. Si vous tentez d'attacher des instances supplémentaires au cluster, celui-ci passe à l'état de cycle de vie FAILED.

  • Toutes les bibliothèques client Valkey ou Redis que vous utilisez pour vous connecter à un cluster distribué doivent prendre en charge Valkey ou Redis CLUSTER MODE avec la prise en charge du nom d'hôte.

Informations de connexion au cluster non distribué

Les informations de connexion du cluster incluent les adresses suivantes que vous utilisez pour vous connecter au cluster :

  • Adresse principale : adresse du noeud principal du cluster. Cette adresse 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é.

  • Adresse de réplication : il s'agit de l'adresse des noeuds de réplique du cluster. Cette adresse se connecte toujours à un noeud configuré en tant que réplique, mais pour les clusters comportant plusieurs noeuds de réplique, il se peut qu'il ne s'agisse pas de la même réplique à chaque fois.

  • Adresses de noeud : il s'agit des adresses directes de chaque instance de noeud. N'utilisez ces adresses que pour les connexions si vous avez vérifié que vous êtes connecté au type de noeud auquel vous prévoyez de vous connecter. Parfois, l'instance sous-jacente du noeud principal peut avoir changé. Pour garantir la connexion au noeud principal, utilisez plutôt l'adresse principale.

Pour obtenir ces informations, reportez-vous à Obtention des détails de connexion d'un cluster de cache OCI.

Informations sur la connexion du cluster distribué

Les clusters distribués n'ont pas d'adresse principale ou de réplique au niveau du cluster que vous utilisez pour vous connecter au cluster. Utilisez plutôt les adresses privées pour les noeuds principaux des shards d'un cluster. Pour obtenir ces informations, reportez-vous à Obtention des détails de connexion d'un cluster distribué de cache OCI. Nous vous recommandons d'indiquer les adresses privées des trois premiers shards du cluster dans les informations de connexion de votre application.

Règle de sécurité pour la connexion aux clusters

Pour activer les connexions à un cluster, le VCN du cluster doit comporter une règle de sécurité entrante configurée avec les valeurs suivantes :

  • Sans statut : non

  • Protocole IP : TCP

  • Plage de ports source : tous

  • Plage de ports de destination: 6379

  • Autoriser : trafic TCP pour les ports : 6379

Le service Networking fournit deux fonctionnalités 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é réseau. OCI Cache prend en charge les deux fonctionnalités. Pour plus d'informations, reportez-vous à Liste de sécurité pour les clusters et à Utilisation d'un groupe de sécurité réseau pour les clusters.

Avec les listes de sécurité, la règle de sécurité s'applique à tous les réseaux cloud virtuels d'un sous-réseau. Assurez-vous que le sous-réseau à partir duquel votre application client se connecte au cluster OCI Cache dispose d'une liste de sécurité sortante qui permet la communication avec OCI Cache 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 cloud virtuels, utilisez plutôt un groupe de sécurité réseau. Pour plus d'informations sur les différences entre les groupes de sécurité et les groupes de sécurité réseau, reportez-vous à Comparaison des listes de sécurité et des groupes de sécurité réseau.

Liste de sécurité pour les clusters

Lorsque vous créez un cluster, pour rendre les données accessibles à partir du cluster, OCI Cache crée une liste de sécurité avec une règle de sécurité entrante avec conservation de statut pour le trafic TCP sur le port de destination 6379 pour le VCN du cluster.

Pour vérifier la liste de sécurité de cette règle, procédez comme suit :

  1. Dans la page de liste Clusters, sélectionnez le cluster avec lequel vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters OCI Cache.

  2. Sur la page de détails du cluster, sélectionnez le lien Sous-réseau dans l'onglet Informations sur le cluster.

  3. Sur la page de liste du sous-réseau, sélectionnez Sécurité.

  4. Sur la page Listes de sécurité, sélectionnez redis-security-list.

  5. Sur la page détails de la liste de sécurité redis, sélectionnez Règles de sécurité.

  6. Sous Règles entrantes, vous devez voir une règle répertoriée, avec les valeurs suivantes :

    • Sans statut : non

    • Protocole IP : TCP

    • Plage de ports source : tous

    • Plage de ports de destination: 6379

    • Autoriser : 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, reportez-vous à Listes de sécurité et à Création d'une liste de sécurité.

Lors de la création et de la configuration de la règle, vous devez indiquer les options suivantes sur la page Ajouter des règles entrantes :
  • Sans conservation de statut : laissez la case à cocher désactivée.

  • Type de source : CIDR

  • Protocole IP : TCP

  • Plage de ports source : tous

  • Plage de ports de destination: 6379

Utilisation d'un groupe de sécurité réseau pour les clusters

Pour utiliser un groupe de sécurité réseau au lieu d'une liste de sécurité, vous devez ajouter une règle de sécurité entrante au groupe de sécurité réseau avec la configuration requise pour la connexion à un cluster. Pour plus d'informations sur la création et la gestion des groupes de sécurité réseau, reportez-vous aux rubriques suivantes :

Lors de la création et de la configuration de la règle entrante pour le groupe de sécurité réseau, vous devez indiquer la configuration suivante :
  • Sans conservation de statut : laissez la case à cocher désactivée.

  • Type de source : CIDR

  • Protocole IP : TCP

  • Plage de ports source : tous

  • Plage de ports de destination: 6379

Vous pouvez configurer un à cinq groupes de sécurité réseau pour un cluster. Vous pouvez indiquer des groupes de sécurité réseau pour un cluster lorsque vous créez le cluster. Vous pouvez également configurer des groupes de sécurité réseau pour un cluster existant. Reportez-vous à Configuration des groupes de sécurité réseau d'un cluster de cache OCI.

Créer une instance de machine virtuelle

Vous pouvez vous connecter au cluster à l'aide des commandes de la CLI Valkey ou de la CLI Redis à partir d'une instance de machine virtuelle dans le même sous-réseau que le cluster. Pour savoir comment créer une instance, reportez-vous à l'une des rubriques suivantes :

Une fois l'instance créée, connectez-vous à l'instance. Pour plus d'informations, reportez-vous aux rubriques suivantes :

Connexion avec la CLI Valkey ou la CLI Redis

Conseil

Pour les clusters configurés avec la version REDIS_7_0 du moteur de cache, la version 6 ou une version plus récente de l'interface de ligne de commande Redis est requise, la version 7 de l'interface de ligne de commande Redis est recommandée. Pour les clusters configurés avec la version VALKEY_7_2 du moteur de cache, la version 7.2 de la CLI Valkey 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.

Remarque

Redis et Valkey CLI utilisent tous 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 la CLI 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 identificateur pour n'importe lequel des exemples.

Pour vous connecter à un cluster non partagé, exécutez la commande suivante pour vous connecter au noeud principal du cluster :

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 à un cluster distribué, exécutez la commande suivante pour vous connecter à l'un des shards du cluster :

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

Pour obtenir la chaîne de connexion du shard, reportez-vous à Obtention des détails de connexion d'un cluster distribué de cache OCI.

Important

Vous devez inclure le commutateur -c pour les connexions aux clusters distribués. Cela indique que vous êtes connecté à la CLI en mode cluster. Pour plus d'informations, reportez-vous à la section 4.2 Using Redis-CLI with a Redis Cluster.

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 la CLI 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 du cluster. Pour plus d'informations, reportez-vous à Scripts avec Lua. L'exemple suivant illustre l'appel de la commande EVAL à partir de la CLI Valkey ou de la CLI Redis pour définir une valeur de clé, puis extraire la valeur de clé.

Pour définir la valeur de la 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 à longue durée d'exécution. 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 grandes chances que les basculements soient déclenchés pour le cluster et que celui-ci entre dans un état en mauvais état. Si vous disposez d'un cluster qui nécessite des scripts Lua dont l'exécution prend plus de cinq secondes, contactez le support technique pour demander l'augmentation de la valeur busy-reply-threshold du cluster.

Important

Les scripts Lua ne sont pas pris en charge pour les clusters partagés.

Dépannage de la connexion à un cluster

Test de la connexion de base avec l'outil dig

Utilisez l'outil de recherche pour tester la connectivité réseau de base au cluster, par exemple pour vous connecter au noeud principal :
dig <primary_endpoint>

Pour obtenir l'adresse de noeud principal, reportez-vous à Obtention des détails de connexion d'un cluster de cache OCI.

Si vous exécutez la commande dig à partir du même VCN que le cluster et que la connexion ne parvient pas à résoudre, vérifiez que le sous-réseau dispose d'une liste de sécurité avec une règle de sécurité entrante avec conservation de statut pour le trafic TCP sur le port de destination 6379. Lorsque vous créez un cluster, OCI Cache crée une liste de sécurité avec la configuration requise. Toutefois, si elle est enlevée ou mise à jour, vous devez ajouter cette configuration. Pour plus d'informations, reportez-vous à Liste de sécurité pour les clusters.

Si vous exécutez la commande dig à partir d'un autre VCN en tant que cluster et que la connexion ne parvient pas à résoudre, vérifiez que vous disposez de la configuration de table de routage appropriée pour les réseaux cloud virtuels, reportez-vous à Tables de routage VCN.

Analyseur de chemin réseau

Vous pouvez également utiliser l'analyseur de chemin réseau pour tester la connectivité au cluster. Avec cet outil, vous pouvez dépanner et identifier les problèmes de routage et d'autres problèmes de configuration réseau avec la configuration, que vous soyez connecté à partir du même VCN ou d'un autre VCN.