Se connecter à une instance Memorystore pour Redis Cluster

Cette page explique comment se connecter à une instance de cluster Memorystore pour Redis.

Assistance client

Memorystore pour 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. Vous trouverez un exemple de liste de clients sur la page Clients de Redis.

Bonnes pratiques concernant le client redis-py

Pour vous connecter à votre instance Memorystore pour 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'))

Ajouter des ports à la liste d'autorisation du pare-feu

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

Accès interrégional

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

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

Pour afficher le point de terminaison de découverte de votre cluster Memorystore, suivez les instructions ci-dessous :

Console

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

    Memorystore for Redis Cluster

  2. Cliquez sur l'ID de votre cluster.

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

gcloud

Pour afficher le point de terminaison de découverte de votre cluster, exécutez la gcloud CLI describe 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 indiqués dans la section discovery_endpoints:. Ces deux valeurs combinées constituent le point de terminaison de découverte de votre cluster.

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

Vous pouvez vous connecter à l'instance Memorystore pour 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 même réseau autorisé que votre instance Memorystore pour 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 page Installer Redis sur Linux.

  3. Affichez le point de terminaison de découverte 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'une des adresses IP et l'un des numéros de port du nœud.

  6. Connectez-vous au nœud de votre choix 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 pour 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 redis-cli version 6.0 ou ultérieure sur la VM Compute Engine en suivant les instructions de la section Installer Redis sur Linux.
  2. Installez l'autorité de certification de votre instance sur la VM Linux en suivant les instructions de la section Installer des autorités de certification sur votre client.

  3. Affichez le point de terminaison de découverte 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'une des adresses IP et l'un des numéros de port du nœud.

  6. Connectez-vous au nœud de votre choix 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