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

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

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

    Memorystore for Redis Cluster

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

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

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

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

  3. Consulta el endpoint de descubrimiento de tu clúster y anótalo.

  4. 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.
    .
  5. 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.

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

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

    1. Instala la versión redis-cli 6.0 o posterior en la VM de Compute Engine siguiendo las instrucciones de Instalar Redis en Linux.
  2. 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.

  3. Consulta el endpoint de descubrimiento de tu clúster y anótalo.

  4. 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.
    .
  5. 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.

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

    Introduce estos datos:

    PING
    

    Resultado:

    PONG