Conéctate a una instancia de Memorystore for Redis Cluster

En esta página, se explica cómo conectarse a una instancia de Memorystore para Redis Cluster.

Asistencia al cliente

Memorystore para Redis Cluster no proporciona sus propias bibliotecas cliente, sino que admite las bibliotecas cliente de terceros existentes que admiten el protocolo de Redis. Puedes encontrar una lista de ejemplo de clientes en la página Clientes de Redis.

Prácticas recomendadas del cliente de 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 incluyes los puertos correctos en la lista de entidades permitidas de tu firewall, es posible que tu instancia tenga errores de conexión. Para obtener más información sobre cómo incluir puertos en la lista de entidades permitidas, 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

Para ver el extremo de detección de tu clúster de Memorystore, sigue estas instrucciones:

Console

  1. Ve a la página Memorystore for Redis Cluster en la Google Cloud consola.

    Memorystore for Redis Cluster

  2. Haz clic en el ID de tu clúster.

  3. En la sección Conéctate a esta instancia, anota la dirección IP y el número de puerto junto a Extremo de detección. Estos dos valores juntos son el extremo de detección de tu clúster.

gcloud

Para ver el extremo de descubrimiento de tu clúster, ejecuta la CLI de describe gcloud como se explica en la sección Consulta los 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 se indican en la sección discovery_endpoints:. Estos dos valores 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, sigue estos pasos:

  1. Si aún no tienes una VM de Compute Engine de Linux que use la red autorizada para tu instancia de Memorystore para Redis Cluster, crea una y conéctate a ella siguiendo la Guía de inicio rápido para crear una VM de Linux.

  2. Instala la versión redis-cli 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones en Cómo instalar Redis en Linux.

  3. Visualiza el extremo de detección de tu clúster y anótalo.

  4. Conéctate al extremo de detección de tu instancia ejecutando 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.
  5. Ejecuta el comando CLUSTER SHARDS para ver la topología del clúster. Anota una de las direcciones IP y los números de puerto del nodo.

  6. Conéctate al nodo que desees ejecutando 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.
  7. 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"
    
  8. Una vez que termines de probar tu conexión con el nodo de Redis, debes considerar 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.

  1. 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.

    1. Instala la versión 6.0 o posterior de redis-cli en la VM de Compute Engine siguiendo las instrucciones que se indican en Cómo instalar Redis en Linux.
  2. Instala la autoridad certificada de tu instancia en la VM de Linux siguiendo las instrucciones que se indican en Instala autoridades certificadas en tu cliente.

  3. Visualiza el extremo de detección de tu clúster y anótalo.

  4. Conéctate al extremo de detección de tu instancia ejecutando 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.
  5. Ejecuta el comando CLUSTER SHARDS para ver la topología del clúster. Anota una de las direcciones IP y los números de puerto del nodo.

  6. Conéctate al nodo que desees ejecutando 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.
  7. Una vez que te conectes al nodo, ingresa algunos comandos de Redis:

    Escribe lo siguiente:

    PING
    

    Resultado:

    PONG