Connettersi a un'istanza Memorystore for Redis Cluster

In questa pagina viene spiegato come connettersi a un'istanza di Memorystore for Redis Cluster.

Supporto client

Memorystore for Redis Cluster non fornisce librerie client proprie, ma supporta le librerie client di terze parti esistenti che supportano il protocollo Redis. Per saperne di più sulle librerie client supportate da Redis, consulta Client di connessione supportati.

Best practice per il client redis-py

Per connetterti all'istanza di 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'))

Aggiungere porte all'elenco consentito sul firewall

Se non aggiungi all'elenco consentito le porte corrette sul firewall, l'istanza potrebbe riscontrare errori di connessione. Per saperne di più sull'aggiunta di porte all'elenco consentito, consulta Risolvere i problemi.

Accesso tra regioni

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

Visualizzare l'endpoint di rilevamento del cluster

Ogni cluster ha un endpoint di rilevamento a cui si connette il client. Questo endpoint è una combinazione di un indirizzo IP e un numero di porta.

Puoi visualizzare l'endpoint di rilevamento di un cluster in Memorystore for Redis Cluster utilizzando la console o gcloud CLI. Google Cloud

Console

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

    Memorystore for Redis Cluster

  2. Fai clic sull'ID del 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 sono 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 sono l'endpoint di rilevamento del cluster.

Connettersi da una VM di Compute Engine utilizzando redis-cli

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

Per connetterti all'istanza:

  1. Se non hai già una VM di Compute Engine Linux che utilizza la rete autorizzata per l'istanza di 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 di 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 dell'indirizzo IP e del numero di porta di uno dei nodi.

  6. Connettiti al nodo che preferisci eseguendo il seguente 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 incorrere in addebiti sul tuo account di fatturazione Cloud.

Connettersi a un'istanza con crittografia in transito abilitata

Questa sezione fornisce un esempio di come connettersi a un'istanza di 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 di Compute Engine seguendo le istruzioni riportate in Installare Redis su Linux.
  2. Controlla la modalità dell'autorità di certificazione (CA) che stai utilizzando per il tuo cluster.

  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 dell'indirizzo IP e del numero di porta di uno dei nodi.

  6. Connettiti al nodo che preferisci eseguendo il seguente 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