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
Accédez à la page Memorystore for Redis Cluster dans la Google Cloud console.
Cliquez sur l'ID de votre cluster.
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 :
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.
Installez la version 6.0 ou ultérieure de
redis-clisur la VM Compute Engine en suivant les instructions de la section Installer Redis sur Linux.Affichez le point de terminaison de détection de votre cluster et notez-le.
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.
Exécutez la commande
CLUSTER SHARDSpour afficher la topologie de votre cluster. Notez l'adresse IP et le numéro de port de l'un des nœuds.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.
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"
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é.
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.
- Installez la version 6.0 ou ultérieure de
redis-clisur la VM Compute Engine en suivant les instructions de la section Installer Redis sur Linux.
- Installez la version 6.0 ou ultérieure de
Vérifiez le mode d'autorité de certification (CA) que vous utilisez pour votre cluster.
Si le mode CA est par instance, installez les certificats CA de votre cluster en suivant les instructions de la section Installer des certificats CA sur le client.
Si le mode CA est partagé, alors installez le bundle de certificats CA de votre cluster en suivant les instructions de la section Installer le bundle de certificats CA sur le client.
Si le mode CA est géré par le client, vos applications peuvent se connecter au cluster sans que vous ayez à télécharger et installer des certificats CA supplémentaires. Vous pouvez donc ignorer cette étape.
Affichez le point de terminaison de détection de votre cluster et notez-le.
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.
Exécutez la commande
CLUSTER SHARDSpour afficher la topologie de votre cluster. Notez l'adresse IP et le numéro de port de l'un des nœuds.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.
Une fois connecté au nœud, saisissez quelques commandes Redis. Exemple :
Saisissez cette commande :
PING
Résultat :
PONG