En esta página, se explica cómo conectarse a una instancia de Memorystore for Redis Cluster.
Compatibilidad con clientes
Memorystore for Redis Cluster no proporciona sus propias bibliotecas cliente, sino que admite bibliotecas cliente existentes de terceros que admiten el protocolo de Redis. Para obtener más información sobre las bibliotecas cliente que admite Redis, consulta Clientes de conexión compatibles.
Práctica recomendada para el cliente redis-py
Para conectarte a tu instancia de Memorystore for Redis Cluster con el cliente de Python redis-py, debes agregar skip_full_coverage_check=True cuando declares un clúster de 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'))
Permite puertos en el firewall
Si no permites los puertos correctos en tu firewall, tu instancia puede tener errores de conexión. Para obtener más información sobre cómo permitir puertos, consulta Soluciona problemas.
Acceso entre regiones
Puedes acceder a una instancia de Memorystore for Redis Cluster desde un cliente ubicado en una región diferente a la de la instancia de Memorystore.
Consulta el extremo de detección de tu clúster
Cada clúster tiene un extremo de detección al que se conecta tu cliente. Este extremo es una combinación de una dirección IP y un número de puerto.
Puedes ver el extremo de detección de un clúster en Memorystore for Redis Cluster con la consola o la gcloud CLI. Google Cloud
Console
Ve a la página Memorystore for Redis Cluster en la Google Cloud consola de.
Haz clic en el ID del clúster.
En la sección Connect to this instance, toma nota de la dirección IP y el número de puerto junto a Discovery Endpoint. Estos dos valores usados juntos son el extremo de detección de tu clúster.
gcloud
Para ver el extremo de detección de tu clúster, ejecuta la describe
gcloud CLI como se explica en la sección Ver detalles de la instancia.
El resultado debería ser similar al siguiente ejemplo:
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
Toma nota de la dirección del extremo y el número de puerto que aparecen en la sección discovery_endpoints:. Estos dos valores usados juntos son el extremo de detección de tu clúster.
Conéctate desde una VM de Compute Engine con 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, haz lo siguiente:
Si aún no tienes una VM de Compute Engine para Linux que use la red autorizada para tu instancia de Memorystore for Redis Cluster, crea una y conéctate a ella siguiendo la Guía de inicio rápido para crear una VM de Linux.
Instala
redis-cliversión 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones en Instala Redis en Linux.Consulta el extremo de detección de tu clúster y toma nota de él.
Para conectarte al extremo de detección de tu instancia, ejecuta el siguiente comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
Aquí:
- DISCOVERY_ENDPOINT_ADDRESS y PORT_NUMBER son los valores que anotaste en el paso anterior.
Ejecuta el comando
CLUSTER SHARDSpara ver la topología de tu clúster. Toma nota de una de las direcciones IP y los números de puerto del nodo.Para conectarte al nodo deseado, ejecuta el siguiente comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
Reemplaza lo siguiente:
- NODE_IP_ADDRESS es la dirección IP del nodo que encontraste en el paso anterior.
- NODE_PORT es el número de puerto del nodo que encontraste en el paso anterior.
Una vez que te conectes al nodo, ingresa algunos comandos de Redis:
Escribe lo siguiente:
PING
Resultado:
PONG
Ingresa:
SET HELLO WORLD
Resultado:
OK
Ingrese:
GET HELLO
Resultado:
"WORLD"
Una vez que termines de probar tu conexión al nodo de Redis, considera borrar la VM de Compute Engine que usaste para conectarte a la instancia de Redis. Esto te ayuda a evitar que se generen cargos en tu cuenta de Facturación de Cloud.
Conéctate a una instancia habilitada para la encriptación en tránsito
En esta sección, se proporciona un ejemplo de cómo conectarse a una instancia de Memorystore for Redis Cluster que tiene habilitada la encriptación en tránsito.
Si aún no tienes una VM 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 sobre el uso de una VM de Linux.
- Instala
redis-cliversión 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones en Instala Redis en Linux.
- Instala
Verifica el modo de entidad certificadora (CA) que usas para tu clúster.
Si el modo de CA es por instancia, instala los certificados de CA de tu clúster siguiendo las instrucciones en Instala certificados de CA en el cliente.
Si el modo de la AC es compartido, entonces instala el paquete de certificados de la AC de tu clúster siguiendo las instrucciones en Instala el paquete de certificados de la AC en el cliente.
Si el modo de CA es administrado por el cliente, tus aplicaciones pueden conectarse al clúster sin que tengas que descargar e instalar certificados de CA adicionales. Por lo tanto, puedes omitir este paso.
Consulta el extremo de detección de tu clúster y toma nota de él.
Para conectarte al extremo de detección de tu instancia, ejecuta el siguiente comando:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
Aquí:
- DISCOVERY_ENDPOINT_ADDRESS y PORT_NUMBER son los valores que anotaste en el paso anterior.
Ejecuta el comando
CLUSTER SHARDSpara ver la topología de tu clúster. Toma nota de una de las direcciones IP y los números de puerto del nodo.Para conectarte al nodo deseado, ejecuta el siguiente comando:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
Reemplaza lo siguiente:
- NODE_IP_ADDRESS es la dirección IP del nodo que encontraste en el paso anterior.
- NODE_PORT es el número de puerto del nodo que encontraste en el paso anterior.
Una vez que te conectes al nodo, ingresa algunos comandos de Redis:
Escribe lo siguiente:
PING
Resultado:
PONG