Cette page a été traduite par l'API Cloud Translation.
Switch to English

Se connecter à une instance Redis

Cette page explique comment se connecter à une instance Redis à l'aide de Compute Engine et Google Kubernetes Engine. Il fournit également des instructions pour tester les commandes Redis de base avec Telnet.

Pour obtenir la liste des environnements Google Cloud compatibles avec Memorystore pour Redis, consultez la section Environnements compatibles. Certains environnements sans serveur compatibles avec Memorystore nécessitent un connecteur d'accès au VPC sans serveur. Pour en savoir plus, consultez la section Exigences relatives au connecteur d'accès au VPC sans serveur.

Se connecter à une instance Redis depuis une VM Compute Engine à l'aide de Telnet

Vous pouvez vous connecter à une instance Redis depuis n'importe quelle instance de VM Compute Engine située dans le même projet, la même région et le même réseau que celle-ci.

  1. Si vous ne disposez pas encore d'une VM Compute Engine dans le même projet, la même région et le même réseau que votre instance Redis, créez-en une et connectez-vous à celle-ci en suivant le guide Démarrage rapide avec une VM Linux.

  2. Installez telnet à l'aide de apt-get :

    sudo apt-get install telnet
    
  3. Depuis le terminal, connectez telnet à l'adresse IP de l'instance Redis, en remplaçant les variables par les valeurs appropriées.

    telnet instance-ip-address 6379
    

    Si l'opération réussit, la commande renvoie ce résultat :

    Trying instance-ip-address…
    Connected to instance-ip-address
    
  4. Dans la session telnet, renseignez quelques commandes Redis. Exemple :

    Saisissez les informations suivantes :

    PING
    

    Résultat :

    PONG
    

    Saisissez les informations suivantes :

    SET HELLO WORLD
    

    Résultat :

    +OK
    

    Saisissez les informations suivantes :

    GET HELLO
    

    Résultat :

    $5
    WORLD
    

Se connecter à une instance Redis depuis une VM Compute Engine à l'aide de redis-cli

Vous pouvez vous connecter à une instance Redis depuis n'importe quelle instance de VM Compute Engine située dans le même projet, la même région et le même réseau que celle-ci.

  1. Si vous ne disposez pas déjà d'une VM Compute Engine dans le même projet, la même région et le même réseau que votre instance Redis, créez-en une et connectez-vous en suivant les instructions de la page Démarrage rapide à l'aide d'une VM Linux.

  2. Installez redis-cli sur la VM Compute Engine en exécutant la commande suivante à partir du terminal SSH de Compute Engine :

    sudo apt-get install redis-server
    
  3. Exécutez la commande suivante dans le terminal Compute Engine, en remplaçant les variables par les valeurs appropriées.

    redis-cli -h redis-instance-ip-address
    

    Vous êtes maintenant connecté à votre instance Redis à l'aide de redis-cli.

  4. Une fois que vous avez terminé de tester la connexion à l'instance Redis, pensez à supprimer la VM Compute Engine que vous avez utilisée pour vous connecter à l'instance Redis. Vous éviterez ainsi que des frais ne soient facturés sur votre compte Cloud Billing.

Se connecter à une instance Redis utilisant AUTH

Cette section explique comment se connecter à une instance Redis pour laquelle la fonctionnalité AUTH est activée.

  1. Si vous ne disposez pas déjà d'une VM Compute Engine dans le même projet, la même région et le même réseau que votre instance Redis, créez-en une et connectez-vous en suivant les instructions de la page Démarrage rapide à l'aide d'une VM Linux.

  2. Installez redis-cli sur la VM Compute Engine en exécutant la commande suivante à partir du terminal SSH de Compute Engine :

    sudo apt-get install redis-server
    
  3. Obtenez la chaîne AUTH de votre instance.

  4. Exécutez la commande suivante pour vous authentifier et vous connecter à votre instance à l'aide de redis-cli, en remplaçant les variables par les valeurs appropriées :

    redis-cli -h instance-ip-address -a auth-string
    

    ou

    redis-cli -h instance-ip-address
    AUTH auth-string
    
  5. Exécutez une commande Redis SET et GET pour vérifier que vous avez établi une connexion authentifiée avec votre instance.

  6. Une fois que vous avez terminé de tester la connexion à l'instance Redis, pensez à supprimer la VM Compute Engine que vous avez utilisée pour vous connecter à l'instance Redis. Vous éviterez ainsi que des frais ne soient facturés sur votre compte Cloud Billing.

Se connecter en toute sécurité à une instance Redis à l'aide de Stunnel et de telnet

Cette section fournit un exemple de connexion à une instance Redis pour laquelle le chiffrement en transit est activé à l'aide de Stunnel.

  1. Si vous ne disposez pas déjà d'une instance Redis sur laquelle le chiffrement en transit est activé, créez-en une en suivant les instructions de la section Créer une instance Redis avec le chiffrement en transit.

  2. Si vous ne disposez pas déjà d'une VM Compute Engine dans la même région, le même projet et le même réseau que l'instance Redis de l'étape précédente, créez-en une et connectez-vous en suivant les instructions ci-dessous : Guide de démarrage rapide avec une VM Linux.

    1. Installez les outils nécessaires pour ce guide en exécutant les commandes suivantes :

      sudo apt-get install stunnel4
      
      sudo apt-get install telnet
      
  3. Configurez votre VM Compute Engine l'utiliser avec Stunnel :

    1. Créez un fichier dans lequel placer votre autorité de certification, en exécutant la commande suivante :

      sudo vim /tmp/server_ca.pem
      
    2. Affichez la ou les autorités de certification de votre instance Redis en exécutant la commande suivante dans le terminal standard que vous utilisez pour gérer les ressources Google Cloud (et non le terminal Compute Engine) :

      gcloud redis instances describe instance-id --region=region
      

      Il peut y avoir jusqu'à trois CA.

    3. Copiez toutes les autorités de certification visibles, y compris la ligne -----BEGIN CERTIFICATE----- et les lignes -----END CERTIFICATE-----, puis collez et enregistrez le fichier server_ca.pem que vous avez créé précédemment.

    4. Créez un fichier dans lequel placer les informations de configuration Stunnel en exécutant la commande suivante :

      sudo vim /etc/stunnel/redis-client.conf
      

      Collez le texte suivant dans le fichier en remplaçant redis-instance-ip par l'adresse IP de l'instance Redis :

      output=/tmp/stunnel.log
      CAfile=/tmp/server_ca.pem
      client=yes
      pid=/var/run/stunnel.pid
      verifyChain=yes
      sslVersion=TLSv1.2
      [redis]
      accept=127.0.0.1:6378
      connect=redis-instance-ip:6378
      
    5. Redémarrez Stunnel en exécutant les commandes suivantes :

      sudo stunnel /etc/stunnel/redis-client.conf
      
      sudo systemctl restart stunnel4
      
  4. Pour vous connecter à votre instance Redis à l'aide de Telnet, exécutez la commande suivante :

    telnet localhost 6378
    
  5. Dans la session Telnet, pinguez l'instance Redis :

    Saisissez les informations suivantes :

    PING
    

    Result:

    PONG
    

Se connecter à une instance Redis à partir d'un cluster Google Kubernetes Engine

Vous pouvez vous connecter aux instances Redis à partir de clusters Google Kubernetes Engine situés dans la même région et utilisant le même réseau que votre instance.

Se connecter à partir d'un pod exécutant une interface système bash

  1. Accédez à la page GKE dans Cloud Console.
    GKE
  2. Cliquez sur le cluster GKE à partir duquel vous souhaitez effectuer la connexion. Si vous ne possédez pas encore de cluster, vous devez en créer un dans la même zone et la même région que votre instance Redis avec les alias d'adresses IP activés. Pour découvrir comment créer un cluster avec les alias d'adresses IP activés, consultez la documentation relative aux alias d'adresses IP.
  3. Cliquez sur le bouton Se connecter situé à droite du nom de votre cluster, puis sur le bouton Exécuter dans Cloud Shell dans la fenêtre qui s'affiche.
  4. Configurez l'accès à la ligne de commande kubectlkubectl en exécutant la commande suivante :
    gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
    • CLUSTER_NAME est le nom du cluster.
    • CLUSTER_ZONE est la zone dans laquelle se trouve le cluster. Elle doit également correspondre à la zone de votre instance Redis.
    • PROJECT_ID est le projet dans lequel le cluster et les instances Redis se trouvent.
    Un message confirmant le succès de l'opération doit s'afficher : kubeconfig generated for CLUSTER_NAME
  5. Si le cluster est de version 1.8 ou supérieure et que les alias d'adresses IP sont activés, ignorez cette étape. Si votre cluster est de version 1.7 ou inférieure, ou si les alias d'adresses IP ne sont pas activés sur votre cluster de version 1.8 ou supérieure, procédez comme suit avant d'essayer de vous connecter à l'instance : Pour en savoir plus sur les alias d'adresses IP et sur la création de clusters avec ce paramètre activé, consultez la documentation relative aux alias d'adresses IP.
  6. Utilisez la commande suivante pour vous connecter à une interface système bash :
    kubectl run -i --tty busybox --image=busybox -- sh
  7. Connectez telnet sur votre instance Redis à l'aide de l'adresse de l'hôte et du numéro de port :
    telnet HOST-IP PORT
  8. Renseignez une commande Redis de base pour vérifier la connexion. Exemple :
    PING
    +PONG
  9. Pour quitter la connexion telnet, appuyez sur Ctrl + C (ou sur Commande + C sur Mac). Pour quitter l'interface système bash de votre pod, renseignez la commande "return". Si vous avez terminé et n'avez plus besoin de vous connecter à Redis, exécutez la commande suivante à partir du répertoire /k8s-custom-iptables/ :
    ./uninstall.sh

Se connecter à une instance Redis à partir d'un pod Google Kubernetes Engine

Avant de commencer, vous avez besoin d'un cluster GKE. Si vous n'en possédez pas encore, créez-en un dans la même zone et la même région que votre instance Redis, en activant les alias d'adresses IP. Pour savoir comment procéder, consultez la documentation relative aux alias d'adresses IP.

  1. Dans l'angle supérieur droit de la console, cliquez sur le bouton Activer Cloud Shell Activer Cloud Shell.
  2. Configurez l'accès à la ligne de commande kubectlkubectl en exécutant la commande suivante :
    gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
    • CLUSTER_NAME est le nom du cluster.
    • CLUSTER_ZONE est la zone dans laquelle se trouve le cluster. Elle doit également correspondre à la zone de votre instance Redis.
    • PROJECT_ID est le projet dans lequel le cluster et les instances Redis se trouvent.
    Un message confirmant le succès de l'opération doit s'afficher : kubeconfig generated for CLUSTER_NAME
  3. Si le cluster est de version 1.8 ou supérieure et que les alias d'adresses IP sont activés, ignorez cette étape. Si votre cluster est de version 1.7 ou inférieure, ou si les alias d'adresses IP ne sont pas activés sur votre cluster de version 1.8 ou supérieure, procédez comme suit avant d'essayer de vous connecter à l'instance : Pour en savoir plus sur les alias d'adresses IP et sur la création de clusters avec ce paramètre activé, consultez la documentation relative aux alias d'adresses IP.
  4. Exécutez la commande suivante pour démarrer un pod Redis exécutant la commande redis-cli :
    kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
  5. Exécutez une commande redis-cli en remplaçant HOST-IP par l'adresse IP de l'hôte de votre instance Redis :
    redis-cli -h HOST-IP info
  6. Vous pouvez éventuellement exécuter une commande Benchmark Redis en remplaçant à nouveau HOST-IP par l'adresse IP de l'hôte de votre instance Redis :
    redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
  7. Pour quitter le pod Redis, saisissez return. Si vous avez terminé et n'avez plus besoin de vous connecter à Redis, exécutez la commande suivante à partir du répertoire /k8s-custom-iptables/ :
    ./uninstall.sh

Étape suivante

Connectez-vous à l'instance Redis à l'aide d'un exemple d'application s'exécutant sur les environnements suivants :