Étape 3 : Se connecter à un nœud de cluster - Amazon ElastiCache for Redis

Étape 3 : Se connecter à un nœud de cluster

Avant de continuer, terminez la section Étape 4 : Autoriser l'accès au cluster.

Cette section suppose que vous avez créé une instance Amazon EC2 et que vous pouvez vous y connecter. Pour obtenir des instructions sur la façon de procéder, consultez le Guide de démarrage Amazon EC2.

Une instance Amazon EC2 peut se connecter à un nœud de cluster uniquement si vous êtes autorisé à le faire.

Rechercher vos points de terminaison de nœud

Une fois que votre cluster a l'état available (disponible) et que vous avez autorisé l'accès à ce cluster, vous pouvez vous connecter à une instance Amazon EC2 et vous connecter au cluster. Pour cela, vous devez d'abord déterminer le point de terminaison.

Recherche des points de terminaison d'un cluster Redis (mode cluster désactivé) (Console)

Si un cluster Redis (mode cluster désactivé) possède un seul nœud, le point de terminaison de ce dernier est utilisé pour les lectures et écritures. Si un cluster a plusieurs nœuds, il y a trois types de points de terminaison : le point de terminaison principal, le point de terminaison du lecteur et les points de terminaison des nœuds.

Le point de terminaison principal est un nom DNS qui est toujours résolu dans le nœud principal du cluster. Le point de terminaison principal n'est pas affecté par les changements apportés à votre cluster, tels que la promotion d'un réplica en lecture au rang de réplica principal. Pour l'activité d'écriture, il est préférable que vos applications se connectent au point de terminaison principal plutôt que directement au nœud principal.

Un point de terminaison du lecteur répartira également les connexions entrantes vers le point de terminaison entre toutes les répliques lues dans un cluster ElastiCache for Redis. Des facteurs supplémentaires, comme le moment où l'application crée les connexions ou la façon dont l'application utilise ou réutilise les connexions, détermineront la distribution du trafic. Les points de terminaison du lecteur suivent les changements de cluster en temps réel au fur et à mesure que des réplicas sont ajoutés ou supprimés. Vous pouvez placer les multiples réplicas en lecture de votre cluster ElastiCache for Redis dans différentes zones de disponibilité AWS (AZ), pour assurer une haute disponibilité des points de terminaison du lecteur.

Note

Un point de terminaison du lecteur n'est pas un équilibreur de charge. Il s'agit d'un enregistrement DNS qui se résoudra à une adresse IP de l'un des nœuds de réplica en mode round robin.

Pour l'activité de lecture, les applications peuvent également se connecter à n'importe quel nœud du cluster. Contrairement au point de terminaison principal, les points de terminaison des nœuds sont résolus dans des points de terminaison spécifiques. En cas de modification dans votre cluster, comme l'ajout ou la suppression d'un réplica, vous devez mettre à jour les points de terminaison des nœuds de votre application.

Pour rechercher les points de terminaison d'un cluster Redis (mode cluster désactivé)

  1. Connectez-vous à la AWS Management Console et ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

  2. Dans le volet de navigation, choisissez Redis.

    L'écran Cluster s'affiche avec la liste des clusters Redis (mode cluster désactivé) et Redis (mode cluster activé). Choisissez le cluster que vous avez créé dans la section Création d'un cluster Redis (mode cluster activé) (console).

  3. Pour rechercher les point de terminaison principal et du lecteur du cluster, choisissez la zone située à gauche du nom du cluster.

    Image : point de terminaison principal d'un cluster Redis (mode cluster désactivé)

    Points de terminaison principaux et du lecteur pour un cluster Redis (mode cluster désactivé

    S'il y a un seul nœud dans le cluster, il n'y a aucun point de terminaison principal et vous pouvez passer à l'étape suivante.

  4. Si le cluster Redis (mode cluster désactivé) a des nœuds de réplica, vous pouvez identifier les points de terminaison des nœuds de réplica du cluster en sélectionnant le nom du cluster.

    L'écran des nœuds s'affiche avec chaque nœud du cluster, principal et de réplica, répertorié avec son point de terminaison.

    Image : points de terminaison de nœuds d'un cluster Redis (mode cluster désactivé)

    Points de terminaison de nœuds pour un cluster Redis (mode cluster désactivé

  5. Pour copier un point de terminaison dans le presse-papiers :

    1. Un point de terminaison à la fois : recherchez et sélectionnez le point de terminaison que vous souhaitez copier.

    2. Cliquez avec le bouton droit de la souris sur le point de terminaison en surbrillance, puis choisissez Copier dans le menu contextuel.

    Le point de terminaison en surbrillance est maintenant copié dans votre presse-papiers. Pour plus d'informations sur l'utilisation du point de terminaison pour se connecter à un nœud, consultez Connexion aux nœuds.

Un point de terminaison principal Redis (mode cluster désactivé) se présente comme suit. Il existe une différence selon que le chiffrement en transit est activé ou pas.

Chiffrement en transit non activé

clusterName.xxxxxx.nodeId.regionAndAz.cache.amazonaws.com:port redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379

Chiffrement en transit activé

master.clusterName.xxxxxx.regionAndAz.cache.amazonaws.com:port master.ncit.ameaqx.use1.cache.amazonaws.com:6379

Une fois que vous avez trouvé le point de terminaison dont vous avez besoin, copiez-le dans votre Presse-papiers pour l'utiliser pour vous connecter au cluster à l'étape suivante.

Pour en savoir plus sur la recherche de vos points de terminaison, consultez les rubriques correspondant au moteur et au type de cluster que vous exécutez.

Maintenant que vous avez le point de terminaison dont vous avez besoin, vous pouvez vous connecter à une instance EC2 et vous connecter au cluster ou au groupe de réplication. Dans l'exemple suivant, vous utilisez l'utilitaire redis-cli pour vous connecter à un cluster. La dernière version de redis-cli prend également en charge SSL/TLS pour connecter des clusters activés de chiffrement et d'authentification.

L'exemple suivant utilise les instances Amazon EC2 exécutant Amazon Linux et Amazon Linux 2. Pour plus de détails sur l'installation et la compilation de redis-cli avec d'autres distributions Linux, consultez la documentation de votre système d'exploitation spécifique.

Note

Ce processus couvre le test d'une connexion à l'aide de l'utilitaire redis-cli pour une utilisation non planifiée uniquement. Pour obtenir la liste des clients Redis pris en charge, consultez la documentation Redis. Pour obtenir des exemples d'utilisation de kits SDK AWS avec ElastiCache, consultez Mise en route sur ElastiCache et kits SDK AWS.

Télécharger et installer redis-cli

  1. Connectez-vous à votre instance Amazon EC2 à l'aide de l'utilitaire de connexion de votre choix. Pour obtenir des instructions sur la façon de se connecter à une instance Amazon EC2, consultez le Guide de démarrage Amazon EC2.

  2. Téléchargez et installez l'utilitaire redis-cli en exécutant les commandes suivantes :

    Amazon Linux 2

    $sudo amazon-linux-extras install epel -y $sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y $sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo make BUILD_TLS=yes

    Amazon Linux

    $sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget $sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo CC=clang make BUILD_TLS=yes
    Note

    Si le cluster auquel vous vous connectez n'est pas chiffré, vous n'avez pas besoin de l'option Build_TLS=yes.

Connexion à un mode cluster désactivé cluster non chiffré

  1. Exécutez la commande suivante pour vous connecter au cluster et remplacez cluster-endpoint et port number par le point de terminaison de votre cluster et votre numéro de port. (Le port par défaut pour Redis est 6379.)

    src/redis-cli -h cluster-endpoint -c -p port number
    Note

    Dans la commande précédente, l'option -c active le mode cluster après les redirections -ASK et -MOVED.

    Une invite de commande Redis similaire à ce qui suit va s'afficher :

    cluster-endpoint:port number
  2. Vous pouvez désormais exécuter des commandes Redis. Notez que la redirection se produit car vous l'avez activée à l'aide de l'option -c. Si la redirection n'est pas activée, la commande renvoie l'erreur MOVED. Pour plus d'informations sur l'erreur MOVED, consultez Spécification du cluster Redis.

    set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"

Connexion à un cluster activé pour le chiffrement/l'authentification

Par défaut, redis-cli utilise une connexion TCP non cryptée lors de la connexion à Redis. L'option BUILD_TLS=yes active SSL/TLS au moment de la compilation redis-cli, comme indiqué dans la section Télécharger et installer redis-cli précédente. L'activation d'AUTH est facultative. Toutefois, vous devez activer le chiffrement en transit pour activer AUTH. Pour plus d'informations sur le chiffrement et l'authentification ElastiCache, consultez Chiffrement en transit (TLS) ElastiCache for Redis.

Note

Vous pouvez utiliser l'option --tls avec redis-cli pour se connecter au mode cluster activé et désactivé. Si un cluster a un jeu de jetons AUTH, vous pouvez utiliser l'option -a pour fournir un mot de passe AUTH.

Dans les exemples suivants, veillez à remplacer cluster-endpoint et port number par le point de terminaison de votre cluster et votre numéro de port. (Le port par défaut pour Redis est 6379.)

Se connecter aux clusters chiffrés désactivés en mode cluster

L'exemple suivant se connecte à un cluster activé pour le chiffrement et l'authentification :

src/redis-cli -h cluster-endpoint --tls -a your-password -p port number

L'exemple suivant se connecte à un cluster dont le chiffrement est activé uniquement :

src/redis-cli -h cluster-endpoint --tls -p port number

Se connecter à des clusters chiffrés activés en mode cluster

L'exemple suivant se connecte à un cluster activé pour le chiffrement et l'authentification :

src/redis-cli -h cluster-endpoint --tls -a your-password -p port number

L'exemple suivant se connecte à un cluster dont le chiffrement est activé uniquement :

src/redis-cli -h cluster-endpoint --tls -p port number

Après vous être connecté au cluster, vous pouvez exécuter les commandes Redis comme indiqué dans les exemples précédents pour les clusters non chiffrés.

Alternative Redis-CLI

Si le cluster n'est pas activé en mode cluster et que vous devez vous connecter au cluster pour un court test mais sans passer par la compilation redis-cli, vous pouvez utiliser telnet ou openssl. Dans les exemples de commandes suivants, veillez à remplacer cluster-endpoint et port number par le point de terminaison de votre cluster et votre numéro de port. (Le port par défaut pour Redis est 6379.)

L'exemple suivant se connecte à un cluster dont le mode cluster est activé pour le chiffrement et/ou l'authentification :

openssl s_client -connect cluster-endpoint:port number

Si un mot de passe est défini dans le cluster, connectez-vous d'abord au cluster. Après la connexion, authentifiez le cluster à l'aide de la commande suivante, puis appuyez sur la touche Enter. Dans l'exemple suivant, remplacez your-password par le mot de passe de votre cluster.

Auth your-password

L'exemple suivant se connecte à un cluster désactivé en mode cluster pour lequel le chiffrement ou l'authentification n'est pas activé :

telnet cluster-endpoint port number

Pour vous connecter au cluster Redis à partir d'une instance Windows EC2 à l'aide de la CLI Redis, vous devez télécharger le package redis-cli et utiliser redis-cli.exe.

Dans l'exemple suivant, vous utilisez l'utilitaire redis-cli pour vous connecter à un cluster pour lequel le chiffrement n'est pas activé et qui exécute Redis. Pour de plus amples informations sur Redis et les commandes Redis disponibles, veuillez consulter Commandes Redis.

Pour vous connecter à un cluster Redis pour lequel le chiffrement n'est pas activé à l'aide de redis-cli

  1. Connectez-vous à votre instance Amazon EC2 à l'aide de l'utilitaire de connexion de votre choix. Pour obtenir des instructions sur la façon de se connecter à une instance Amazon EC2, consultez le Guide de démarrage Amazon EC2.

  2. Copiez et collez le lien https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip dans un navigateur Internet pour télécharger le fichier zip du client Redis à partir de la version disponible sur GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

    Extrayez le fichier zip dans le dossier/chemin de votre choix.

    Ouvrez l'invite de commandes, accédez au répertoire Redis et exécutez la commande c:\Redis>redis-cli -h Redis_Cluster_Endpoint -p 6379.

    Par exemple :

    c:\Redis>redis-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
  3. Exécutez les commandes Redis.

    Vous êtes actuellement connecté au cluster et pouvez exécuter des commandes Redis comme suit.

    set a "hello" // Set key "a" with a string value and no expiration OK get a // Get value for key "a" "hello" get b // Get value for key "b" results in miss (nil) set b "Good-bye" EX 5 // Set key "b" with a string value and a 5 second expiration "Good-bye" get b // Get value for key "b" "Good-bye" // wait >= 5 seconds get b (nil) // key has expired, nothing returned quit // Exit from redis-cli
  1. Exécutez la commande suivante pour vous connecter au cluster et remplacez cluster-endpoint et port number par le point de terminaison de votre cluster et votre numéro de port. (Le port par défaut pour Redis est 6379.)

    src/redis-cli -h cluster-endpoint -c -p port number
    Note

    Dans la commande précédente, l'option -c active le mode cluster après les redirections -ASK et -MOVED.

    Une invite de commande Redis similaire à ce qui suit va s'afficher :

    cluster-endpoint:port number
  2. Vous pouvez désormais exécuter des commandes Redis. Notez que la redirection se produit car vous l'avez activée à l'aide de l'option -c. Si la redirection n'est pas activée, la commande renvoie l'erreur MOVED. Pour plus d'informations sur l'erreur MOVED, consultez Spécification du cluster Redis.

    set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"

Par défaut, redis-cli utilise une connexion TCP non cryptée lors de la connexion à Redis. L'option BUILD_TLS=yes active SSL/TLS au moment de la compilation redis-cli, comme indiqué dans la section Télécharger et installer redis-cli précédente. L'activation d'AUTH est facultative. Toutefois, vous devez activer le chiffrement en transit pour activer AUTH. Pour plus d'informations sur le chiffrement et l'authentification ElastiCache, consultez Chiffrement en transit (TLS) ElastiCache for Redis.

Note

Vous pouvez utiliser l'option --tls avec redis-cli pour se connecter au mode cluster activé et désactivé. Si un cluster a un jeu de jetons AUTH, vous pouvez utiliser l'option -a pour fournir un mot de passe AUTH.

Dans les exemples suivants, veillez à remplacer cluster-endpoint et port number par le point de terminaison de votre cluster et votre numéro de port. (Le port par défaut pour Redis est 6379.)

Se connecter aux clusters chiffrés désactivés en mode cluster

L'exemple suivant se connecte à un cluster activé pour le chiffrement et l'authentification :

src/redis-cli -h cluster-endpoint --tls -a your-password -p port number

L'exemple suivant se connecte à un cluster dont le chiffrement est activé uniquement :

src/redis-cli -h cluster-endpoint --tls -p port number

Se connecter à des clusters chiffrés activés en mode cluster

L'exemple suivant se connecte à un cluster activé pour le chiffrement et l'authentification :

src/redis-cli -h cluster-endpoint --tls -a your-password -p port number

L'exemple suivant se connecte à un cluster dont le chiffrement est activé uniquement :

src/redis-cli -h cluster-endpoint --tls -p port number

Après vous être connecté au cluster, vous pouvez exécuter les commandes Redis comme indiqué dans les exemples précédents pour les clusters non chiffrés.