En esta página se explica cómo conectarse a una instancia de Memorystore for Redis Cluster.
Asistencia al cliente
Memorystore for Redis Cluster no proporciona sus propias bibliotecas de cliente, sino que admite bibliotecas de cliente de terceros que admiten el protocolo Redis. Puedes consultar una lista de clientes de ejemplo en la página Clientes de Redis.
Práctica recomendada para el cliente redis-py
Para conectarte a tu instancia de Memorystore for Redis Cluster mediante el cliente de Python redis-py, debes añadir skip_full_coverage_check=True
al declarar un RedisCluster:
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'))
Incluir puertos en la lista de permitidos del cortafuegos
Si no añades los puertos correctos a la lista de permitidos de tu cortafuegos, tu instancia puede tener errores de conexión. Para obtener más información sobre cómo añadir puertos a la lista de permitidos, consulta Solucionar problemas.
Acceso entre regiones
Puedes acceder a una instancia de Memorystore for Redis Cluster desde un cliente que se encuentre en una región distinta a la de la instancia de Memorystore.
Ver el endpoint de descubrimiento de un clúster
Para ver el endpoint de descubrimiento de tu clúster de Memorystore, sigue estas instrucciones:
Consola
Ve a la página Memorystore for Redis Cluster de la Google Cloud consola.
Haz clic en tu ID de clúster.
En la sección Conectarse a esta instancia, anota la dirección IP y el número de puerto que aparecen junto a Endpoint de descubrimiento. Estos dos valores se usan juntos para formar el endpoint de detección de tu clúster.
gcloud
Para ver el endpoint de descubrimiento de tu clúster, ejecuta la describe
herramienta de línea de comandos gcloud como se explica en la sección Ver detalles de la instancia.
La salida debería ser similar a la siguiente:
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
Anota la dirección del endpoint y el número de puerto que se indican en la sección discovery_endpoints:
. Estos dos valores combinados son el endpoint de descubrimiento de tu clúster.
Conectarse desde una VM de Compute Engine mediante redis-cli
Puedes conectarte a la instancia de Memorystore for Redis Cluster desde cualquier VM de Compute Engine que use la red autorizada de la instancia de Memorystore.
Para conectarte a la instancia, sigue estos pasos:
Si aún no tienes una máquina virtual de Linux de Compute Engine que use la red autorizada de tu instancia de clúster de Memorystore para Redis, crea una y conéctate a ella siguiendo la guía de inicio rápido para crear una máquina virtual de Linux.
Instala
redis-cli
versión 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones de Instalar Redis en Linux.Consulta el endpoint de descubrimiento de tu clúster y anótalo.
Para conectarte al endpoint de descubrimiento de tu instancia, ejecuta el siguiente comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
Donde:
- DISCOVERY_ENDPOINT_ADDRESS y PORT_NUMBER son los valores que has anotado en el paso anterior.
Ejecuta el comando
CLUSTER SHARDS
para ver la topología de tu clúster. Anota una de las direcciones IP y los números de puerto del nodo.Conéctate al nodo que quieras ejecutando el siguiente comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
Haz los cambios siguientes:
- NODE_IP_ADDRESS es la dirección IP del nodo que has encontrado en el paso anterior.
- NODE_PORT es el número de puerto del nodo que has encontrado en el paso anterior.
Una vez que te hayas conectado al nodo, introduce algunos comandos de Redis:
Introduce estos datos:
PING
Resultado:
PONG
Intro
SET HELLO WORLD
Resultado:
OK
Introduce estos datos:
GET HELLO
Resultado:
"WORLD"
Cuando hayas terminado de probar la conexión al nodo de Redis, te recomendamos que elimines la VM de Compute Engine que has usado para conectarte a la instancia de Redis. De esta forma, evitarás que se te apliquen cargos en tu cuenta de facturación de Cloud.
Conectarse a una instancia con el cifrado en tránsito habilitado
En esta sección se muestra un ejemplo de cómo conectarse a una instancia de Memorystore for Redis Cluster que tiene habilitado el cifrado en tránsito.
Si aún no tienes una máquina virtual de Compute Engine que use la misma red autorizada que la instancia de Redis del paso anterior, crea una y conéctate a ella siguiendo la guía de inicio rápido con una máquina virtual de Linux.
- Instala la versión
redis-cli
6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones de Instalar Redis en Linux.
- Instala la versión
Instala la autoridad de certificación de tu instancia en la VM Linux siguiendo las instrucciones de Instalar autoridades de certificación en el cliente.
Consulta el endpoint de descubrimiento de tu clúster y anótalo.
Para conectarte al endpoint de descubrimiento de tu instancia, ejecuta el siguiente comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
Donde:
- DISCOVERY_ENDPOINT_ADDRESS y PORT_NUMBER son los valores que has anotado en el paso anterior.
Ejecuta el comando
CLUSTER SHARDS
para ver la topología de tu clúster. Anota una de las direcciones IP y los números de puerto del nodo.Conéctate al nodo que quieras ejecutando el siguiente comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
Haz los cambios siguientes:
- NODE_IP_ADDRESS es la dirección IP del nodo que has encontrado en el paso anterior.
- NODE_PORT es el número de puerto del nodo que has encontrado en el paso anterior.
Una vez que te hayas conectado al nodo, introduce algunos comandos de Redis:
Introduce estos datos:
PING
Resultado:
PONG