Se connecter à une instance Memorystore pour Redis Cluster

Cette page explique comment se connecter à une instance Memorystore for Redis Cluster.

Compatibilité avec les clients

Memorystore for Redis Cluster ne fournit pas ses propres bibliothèques clientes, mais est compatible avec les bibliothèques clientes tierces existantes qui prennent en charge le protocole Redis. Pour en savoir plus sur les bibliothèques clientes compatibles avec Redis, consultez la section Clients de connexion compatibles.

Bonne pratique pour le client redis-py

Pour vous connecter à votre instance Memorystore for Redis Cluster à l'aide du client Python redis-py, vous devez ajouter skip_full_coverage_check=True lorsque vous déclarez un cluster Redis :

from rediscluster import RedisCluster
endpoints = [{"host": "IPADDRESS", "port": "6379"}]

rdb = RedisCluster(
    startup_nodes=endpoints,
    skip_full_coverage_check=True, # Required for Memorystore
    decode_responses = True)

print(rdb.set('PYTHON', 'CLUSTER'))
print(rdb.get('PYTHON'))
print(rdb.unlink('PYTHON'))

Autoriser les ports dans le pare-feu

Si vous n'autorisez pas les ports appropriés dans votre pare-feu, votre instance peut rencontrer des erreurs de connexion. Pour en savoir plus sur l'autorisation des ports, consultez la section Résoudre les problèmes.

Accès entre régions

Vous pouvez accéder à une instance Memorystore for Redis Cluster à partir d'un client situé dans une région différente de celle où se trouve l'instance Memorystore.

Afficher le point de terminaison de détection de votre cluster

Chaque cluster dispose d'un point de terminaison de détection auquel votre client se connecte. Ce point de terminaison est une combinaison d'une adresse IP et d'un numéro de port.

Vous pouvez afficher le point de terminaison de détection d'un cluster dans Memorystore for Redis Cluster en utilisant la Google Cloud console ou la gcloud CLI.

Console

  1. Accédez à la page Memorystore for Redis Cluster dans la Google Cloud console.

    Memorystore for Redis Cluster

  2. Cliquez sur l'ID de votre cluster.

  3. Dans la section Connect to this instance (Se connecter à cette instance), notez l'adresse IP et le numéro de port à côté de Discovery Endpoint (Point de terminaison de détection). Ces deux valeurs combinées constituent le point de terminaison de détection de votre cluster.

gcloud

Pour afficher le point de terminaison de détection de votre cluster, exécutez la describe gcloud CLI, comme expliqué dans la section Afficher les détails de l'instance.

La sortie devrait ressembler à ce qui suit :

authorizationMode: AUTH_MODE_DISABLED
createTime: '2023-08-04T17:49:07.988918793Z'
discoveryEndpoints:
- address: 10.142.0.13
  port: 6379
  pscConfig:
  - network: projects/my-project-364018/global/networks/default
name: projects/my-project-364018/locations/us-east1/clusters/my-cluster-1
pscConnections:
- address: 10.142.0.13
  forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/forwardingRules/sca-auto-fr-5bc46f69-ec80-4c5a-8971-ce267a4d8ddd
  network: projects/my-project-364018/global/networks/default
  projectId: my-project-364018
  pscConnectionId: '25734306048376845'
- address: 10.142.0.10
  forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/.
  forwardingRules/sca-auto-fr-817b64c5-85ac-48d0-82e3-c6fa99b4e67d
  network: projects/my-project-364018/global/networks/default
  projectId: my-project-364018
  pscConnectionId: '25734306048376842'
replicaCount: 0
shardCount: 3
sizeGb: 39
state: ACTIVE
tier: PERFORMANCE
transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
uid: cddda5de-d91f-449b-8755-3a665430271a

Notez l'adresse du point de terminaison et le numéro de port listés dans la section discovery_endpoints:. Ces deux valeurs combinées constituent le point de terminaison de détection de votre cluster.

Se connecter à partir d'une VM Compute Engine à l'aide de redis-cli

Vous pouvez vous connecter à l'instance Memorystore for Redis Cluster depuis n'importe quelle VM Compute Engine utilisant le réseau autorisé de l'instance Memorystore.

Pour vous connecter à l'instance :

  1. Si vous ne disposez pas encore d'une VM Linux Compute Engine utilisant le réseau autorisé pour votre instance Memorystore for Redis Cluster, créez-en une et connectez-vous en suivant les instructions de la page Démarrage rapide pour créer une VM Linux.

  2. Installez la version 6.0 ou ultérieure de redis-cli sur la VM Compute Engine en suivant les instructions de la section Installer Redis sur Linux.

  3. Affichez le point de terminaison de détection de votre cluster et notez-le.

  4. Connectez-vous au point de terminaison de détection de votre instance en exécutant la commande suivante :

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
    

    Où :

    • DISCOVERY_ENDPOINT_ADDRESS et PORT_NUMBER sont les valeurs que vous avez notées à l'étape précédente.
  5. Exécutez la commande CLUSTER SHARDS pour afficher la topologie de votre cluster. Notez l'adresse IP et le numéro de port de l'un des nœuds.

  6. Connectez-vous au nœud souhaité en exécutant la commande suivante :

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
    

    Remplacez les éléments suivants :

    • NODE_IP_ADDRESS correspond à l'adresse IP du nœud que vous avez trouvée à l'étape précédente.
    • NODE_PORT correspond au numéro de port du nœud que vous avez trouvé à l'étape précédente.
  7. Une fois connecté au nœud, saisissez quelques commandes Redis. Exemple :

    Saisissez cette commande :

    PING
    

    Résultat :

    PONG
    

    Saisissez les informations suivantes :

    SET HELLO WORLD
    

    Résultat :

    OK
    

    Saisissez le code suivant :

    GET HELLO
    

    Résultat :

    "WORLD"
    
  8. Une fois que vous avez terminé de tester la connexion au nœud Redis, pensez à supprimer la VM Compute Engine que vous avez utilisée pour vous connecter à l'instance Redis. Vous éviterez ainsi que des frais soient facturés sur votre compte de facturation Cloud.

Se connecter à une instance pour laquelle le chiffrement en transit est activé

Cette section fournit un exemple de connexion à une instance Memorystore for Redis Cluster pour laquelle le chiffrement en transit est activé.

  1. Si vous ne disposez pas encore d'une VM Compute Engine utilisant le même réseau autorisé que l'instance Redis de l'étape précédente, créez-en une et connectez-vous en suivant les instructions de la page Démarrage rapide à l'aide d'une VM Linux.

    1. Installez la version 6.0 ou ultérieure de redis-cli sur la VM Compute Engine en suivant les instructions de la section Installer Redis sur Linux.
  2. Vérifiez le mode d'autorité de certification (CA) que vous utilisez pour votre cluster.

  3. Affichez le point de terminaison de détection de votre cluster et notez-le.

  4. Connectez-vous au point de terminaison de détection de votre instance en exécutant la commande suivante :

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls  --cacert /tmp/server_ca.pem
    

    Où :

    • DISCOVERY_ENDPOINT_ADDRESS et PORT_NUMBER sont les valeurs que vous avez notées à l'étape précédente.
  5. Exécutez la commande CLUSTER SHARDS pour afficher la topologie de votre cluster. Notez l'adresse IP et le numéro de port de l'un des nœuds.

  6. Connectez-vous au nœud souhaité en exécutant la commande suivante :

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls  --cacert /tmp/server_ca.pem
    

    Remplacez les éléments suivants :

    • NODE_IP_ADDRESS correspond à l'adresse IP du nœud que vous avez trouvée à l'étape précédente.
    • NODE_PORT correspond au numéro de port du nœud que vous avez trouvé à l'étape précédente.
  7. Une fois connecté au nœud, saisissez quelques commandes Redis. Exemple :

    Saisissez cette commande :

    PING
    

    Résultat :

    PONG