Connettersi a un'istanza Memorystore for Redis Cluster

Questa pagina spiega come connettersi a un'istanza Memorystore for Redis Cluster.

Assistenza clienti

Memorystore for Redis Cluster non fornisce librerie client proprie, ma supporta librerie client di terze parti esistenti che supportano il protocollo Redis. Un elenco di esempio di client è disponibile nella pagina Client di Redis.

Best practice per il client Redis-py

Per connetterti all'istanza Memorystore for Redis Cluster utilizzando il client Python redis-py, devi aggiungere skip_full_coverage_check=True quando dichiari un cluster 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'))

Inserire porte nella lista consentita del firewall

Se non autorizzi le porte corrette sul firewall, la tua istanza può riscontrare errori di connessione. Per saperne di più sull'inserimento di porte nella lista consentita, vedi Risolvere i problemi.

Accesso tra regioni

Puoi accedere a un'istanza Memorystore for Redis Cluster da un client che si trova in un'area geografica diversa da quella in cui si trova l'istanza Memorystore.

Visualizzare l'endpoint di rilevamento del cluster

Per visualizzare l'endpoint di rilevamento del cluster Memorystore, segui queste istruzioni:

Console

  1. Vai alla pagina Memorystore for Redis Cluster nella Google Cloud console.

    Memorystore for Redis Cluster

  2. Fai clic sull'ID cluster.

  3. Nella sezione Connetti a questa istanza, prendi nota dell'indirizzo IP e del numero di porta accanto a Endpoint di rilevamento. Questi due valori utilizzati insieme costituiscono l'endpoint di rilevamento del cluster.

gcloud

Per visualizzare l'endpoint di rilevamento del cluster, esegui describe gcloud CLI come spiegato nella sezione Visualizzare i dettagli dell'istanza.

L'output dovrebbe essere simile al seguente:

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

Prendi nota dell'indirizzo dell'endpoint e del numero di porta elencati nella sezione discovery_endpoints:. Questi due valori utilizzati insieme costituiscono l'endpoint di rilevamento del cluster.

Connettiti da una VM Compute Engine utilizzando redis-cli

Puoi connetterti all'istanza Memorystore for Redis Cluster da qualsiasi VM di Compute Engine che utilizza la rete autorizzata dell'istanza Memorystore.

Per connetterti all'istanza:

  1. Se non hai già una VM Linux Compute Engine che utilizza la rete autorizzata per l'istanza Memorystore for Redis Cluster, creane una e connettiti seguendo la Guida rapida per creare una VM Linux.

  2. Installa redis-cli versione 6.0 o successive sulla VM Compute Engine seguendo le istruzioni riportate in Installare Redis su Linux.

  3. Visualizza l'endpoint di rilevamento del cluster e prendine nota.

  4. Connettiti all'endpoint di rilevamento dell'istanza eseguendo il seguente comando:

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
    

    Dove:

    • DISCOVERY_ENDPOINT_ADDRESS e PORT_NUMBER sono i valori che hai annotato nel passaggio precedente.
  5. Esegui il comando CLUSTER SHARDS per visualizzare la topologia del cluster. Prendi nota di uno degli indirizzi IP e dei numeri di porta del nodo.

  6. Connettiti al nodo che preferisci eseguendo questo comando:

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
    

    Sostituisci quanto segue:

    • NODE_IP_ADDRESS è l'indirizzo IP del nodo che hai trovato nel passaggio precedente.
    • NODE_PORT è il numero di porta del nodo che hai trovato nel passaggio precedente.
  7. Una volta connesso al nodo, inserisci alcuni comandi Redis:

    Digita:

    PING
    

    Risultato:

    PONG
    

    Invio

    SET HELLO WORLD
    

    Risultato:

    OK
    

    Digita:

    GET HELLO
    

    Risultato:

    "WORLD"
    
  8. Una volta terminato il test della connessione al nodo Redis, ti consigliamo di eliminare la VM di Compute Engine che hai utilizzato per connetterti all'istanza Redis. In questo modo, eviterai di addebitare costi al tuo account di fatturazione Cloudg.

Connettiti a un'istanza con crittografia in transito abilitata

Questa sezione fornisce un esempio di come connettersi a un'istanza Memorystore for Redis Cluster con la crittografia in transito abilitata.

  1. Se non hai già una VM di Compute Engine che utilizza la stessa rete autorizzata dell'istanza Redis del passaggio precedente, creane una e connettiti seguendo la Guida rapida all'utilizzo di una VM Linux.

    1. Installa redis-cli versione 6.0 o successive sulla VM Compute Engine seguendo le istruzioni riportate in Installare Redis su Linux.
  2. Installa l'autorità di certificazione della tua istanza sulla VM Linux seguendo le istruzioni riportate in Installare le autorità di certificazione sul client.

  3. Visualizza l'endpoint di rilevamento del cluster e prendine nota.

  4. Connettiti all'endpoint di rilevamento dell'istanza eseguendo il seguente comando:

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls  --cacert /tmp/server_ca.pem
    

    Dove:

    • DISCOVERY_ENDPOINT_ADDRESS e PORT_NUMBER sono i valori che hai annotato nel passaggio precedente.
  5. Esegui il comando CLUSTER SHARDS per visualizzare la topologia del cluster. Prendi nota di uno degli indirizzi IP e dei numeri di porta del nodo.

  6. Connettiti al nodo che preferisci eseguendo questo comando:

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls  --cacert /tmp/server_ca.pem
    

    Sostituisci quanto segue:

    • NODE_IP_ADDRESS è l'indirizzo IP del nodo che hai trovato nel passaggio precedente.
    • NODE_PORT è il numero di porta del nodo che hai trovato nel passaggio precedente.
  7. Una volta connesso al nodo, inserisci alcuni comandi Redis:

    Digita:

    PING
    

    Risultato:

    PONG