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.
Console
Vai alla pagina Memorystore for Redis Cluster nella Google Cloud console.
Fai clic sull'ID del cluster.
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:
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.
Installa
redis-cliversione 6.0 o successive sulla VM di Compute Engine seguendo le istruzioni riportate in Installare Redis su Linux.Visualizza l'endpoint di rilevamento del cluster e prendine nota.
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.
Esegui il comando
CLUSTER SHARDSper visualizzare la topologia del cluster. Prendi nota dell'indirizzo IP e del numero di porta di uno dei nodi.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.
Una volta connesso al nodo, inserisci alcuni comandi Redis:
Digita:
PING
Risultato:
PONG
Invio
SET HELLO WORLD
Risultato:
OK
Digita:
GET HELLO
Risultato:
"WORLD"
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.
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.
- Installa
redis-cliversione 6.0 o successive sulla VM di Compute Engine seguendo le istruzioni riportate in Installare Redis su Linux.
- Installa
Controlla la modalità dell'autorità di certificazione (CA) che stai utilizzando per il tuo cluster.
Se la modalità CA è per istanza, installa i certificati CA del cluster seguendo le istruzioni riportate in Installare i certificati CA sul client.
Se la modalità CA è condivisa, allora installa il pacchetto di certificati CA del cluster seguendo le istruzioni riportate in Installare il pacchetto di certificati CA sul client.
Se la modalità CA è gestita dal cliente, le applicazioni possono connettersi al cluster senza che tu debba scaricare e installare certificati CA aggiuntivi. Pertanto, puoi saltare questo passaggio.
Visualizza l'endpoint di rilevamento del cluster e prendine nota.
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.
Esegui il comando
CLUSTER SHARDSper visualizzare la topologia del cluster. Prendi nota dell'indirizzo IP e del numero di porta di uno dei nodi.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.
Una volta connesso al nodo, inserisci alcuni comandi Redis:
Digita:
PING
Risultato:
PONG