Conéctate a una instancia de Memorystore for Redis Cluster

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

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

    Memorystore for Redis Cluster

  2. Haz clic en el ID del clúster.

  3. 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:

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

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

  3. Consulta el extremo de detección de tu clúster y toma nota de él.

  4. 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.
  5. Ejecuta el comando CLUSTER SHARDS para ver la topología de tu clúster. Toma nota de una de las direcciones IP y los números de puerto del nodo.

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

  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 redis-cli versión 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones en Instala Redis en Linux.
  2. Verifica el modo de entidad certificadora (CA) que usas para tu clúster.

  3. Consulta el extremo de detección de tu clúster y toma nota de él.

  4. 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.
  5. Ejecuta el comando CLUSTER SHARDS para ver la topología de tu clúster. Toma nota de una de las direcciones IP y los números de puerto del nodo.

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

    Escribe lo siguiente:

    PING
    

    Resultado:

    PONG