In questa pagina viene descritto come connettersi all'istanza Redis utilizzando Telnet e redis-cli
. Inoltre, questa pagina fornisce istruzioni su come connettersi quando si utilizzano funzionalità come repliche di lettura, AUTH e crittografia dei dati in transito.
Infine, questa pagina fornisce istruzioni sulla connessione da un ambiente
Google Kubernetes Engine.
Per un elenco degli ambienti Google Cloud supportati da Memorystore for Redis, vedi Ambienti supportati. Alcuni ambienti serverless supportati da Memorystore richiedono un connettore di accesso VPC serverless. Per ulteriori dettagli, consulta Requisito del connettore di accesso VPC serverless.
Connessione a un'istanza Redis da una VM di Compute Engine utilizzando Telnet
Puoi connetterti all'istanza Redis da qualsiasi VM di Compute Engine che utilizza la rete autorizzata dell'istanza Redis con un indirizzo IP RFC 1918 supportato.
Se non hai ancora una VM di Compute Engine che utilizza la stessa rete autorizzata dell'istanza Redis, creane una e connettiti seguendo la guida rapida all'utilizzo di una VM Linux.
Installa
telnet
utilizzandoapt-get
:sudo apt-get install telnet
Dal terminale, usa telnet per andare all'indirizzo IP dell'istanza Redis, sostituendo variables con i valori appropriati.
telnet instance-ip-address 6379
In caso di esito positivo, il comando restituirà questo risultato:
Trying instance-ip-address… Connected to instance-ip-address
Nella sessione di Telnet, inserisci alcuni comandi Redis:
Digita:
PING
Risultato:
PONG
Invio
SET HELLO WORLD
Risultato:
+OK
Digita:
GET HELLO
Risultato:
$5 WORLD
Connessione a un'istanza Redis da una VM di Compute Engine utilizzando redis-cli
Puoi connetterti all'istanza Redis da qualsiasi VM di Compute Engine che utilizza la rete autorizzata dell'istanza Redis con un indirizzo IP RFC 1918 supportato.
Se non disponi già di una VM di Compute Engine che utilizza la rete autorizzata per la tua istanza Redis, creane una e connettiti seguendo Crea un'istanza VM in una subnet specifica.
Installa
redis-cli
sulla VM di Compute Engine eseguendo questo comando dal terminale SSH di Compute Engine:sudo apt-get install redis-tools
Esegui questo comando nel terminale di Compute Engine, sostituendo variables con i valori appropriati.
redis-cli -h redis-instance-ip-address
La connessione alla tua istanza Redis è stata stabilita utilizzando
redis-cli
.Una volta completati i test della connessione all'istanza Redis, dovresti valutare l'eliminazione della VM di Compute Engine che hai utilizzato per connetterti all'istanza Redis. In questo modo eviterai addebiti sul tuo account di fatturazione Cloud.
Connessione a un'istanza Redis che utilizza AUTH
Questa sezione descrive come connettersi a un'istanza Redis in cui è abilitata la funzionalità AUTH.
Se non hai ancora una VM di Compute Engine che utilizza la stessa rete autorizzata della tua istanza Redis, creane una e connettiti seguendo la guida rapida sull'utilizzo di una VM Linux.
Installa
redis-cli
sulla VM di Compute Engine eseguendo questo comando dal terminale SSH di Compute Engine:sudo apt-get install redis-tools
Recupera la stringa AUTH dell'istanza
Esegui questo comando per utilizzare
redis-cli
per l'autenticazione e la connessione all'istanza, sostituendo variables con i valori appropriati:redis-cli -h instance-ip-address -a auth-string
Oppure:
redis-cli -h instance-ip-address AUTH auth-string
Esegui un comando Redis
SET
eGET
per verificare di aver stabilito una connessione autenticata all'istanza.Una volta completati i test della connessione all'istanza Redis, dovresti valutare l'eliminazione della VM di Compute Engine che hai utilizzato per connetterti all'istanza Redis. In questo modo eviterai addebiti sul tuo account di fatturazione Cloud.
Connessione a un'istanza Redis utilizzando l'endpoint di lettura
Se nell'istanza sono abilitate le repliche di lettura, puoi connetterti all'endpoint di lettura utilizzando le seguenti istruzioni:
Se non hai ancora una VM di Compute Engine che utilizza la stessa rete autorizzata dell'istanza Redis, creane una e connettiti seguendo la guida rapida all'utilizzo di una VM Linux.
Installa
telnet
utilizzandoapt-get
:sudo apt-get install telnet
Trova l'indirizzo IP dell'endpoint di lettura dell'istanza visualizzando le informazioni sulla replica di lettura per l'istanza.
Dal terminale, usa telnet per andare all'indirizzo IP dell'endpoint di lettura dell'istanza Redis, sostituendo variables con i valori appropriati.
telnet read-endpoint-ip 6379
In caso di esito positivo, il comando restituirà questo risultato:
Trying read-endpoint-ip… Connected to read-endpoint-ip
Nella sessione di Telnet, inserisci alcuni comandi Redis:
Digita:
PING
Risultato:
PONG
Connessione sicura a un'istanza Redis utilizzando Stunnel e Telnet
Questa sezione fornisce un esempio di come connettersi a un'istanza Redis in cui è abilitata la crittografia dei dati in transito utilizzando Stunnel.
Se non hai già un'istanza Redis in cui è abilitata la crittografia dei dati in transito, creane una seguendo Creazione di un'istanza Redis con crittografia dei dati in transito.
Se non hai ancora una VM di Compute Engine che utilizza la stessa rete autorizzata dell'istanza Redis nel passaggio precedente, creane una e connettiti seguendo la guida rapida all'utilizzo di una VM Linux.
Installa gli strumenti necessari per questa guida eseguendo questi comandi:
sudo apt-get install stunnel4
sudo apt-get install telnet
Configura la VM di Compute Engine per l'utilizzo con Stunnel:
Crea un nuovo file in cui inserire la tua autorità di certificazione (CA) eseguendo questo comando:
sudo vim /tmp/server_ca.pem
Visualizza l'autorità di certificazione dell'istanza Redis eseguendo questo comando nel terminale standard che utilizzi per gestire le risorse Google Cloud (non nel terminale Compute Engine):
gcloud redis instances describe instance-id --region=region
Possono esserci fino a tre CA.
Copia tutte le autorità di certificazione visibili, tra cui la riga
-----BEGIN CERTIFICATE-----
e le righe-----END CERTIFICATE-----
, quindi incolla e salva il fileserver_ca.pem
che hai creato in precedenza.Crea un nuovo file in cui inserire le informazioni di configurazione di Stunnel eseguendo questo comando:
sudo vim /etc/stunnel/redis-client.conf
Incolla il testo seguente nel file, sostituendo redis-instance-ip con l'indirizzo IP dell'istanza Redis:
output=/tmp/stunnel.log CAfile=/tmp/server_ca.pem client=yes pid=/var/run/stunnel.pid verifyChain=yes sslVersion=TLSv1.2 [redis] accept=127.0.0.1:6378 connect=redis-instance-ip:6378
Avvia stunnel eseguendo questo comando:
sudo stunnel /etc/stunnel/redis-client.conf
Verifica che stunnel sia in esecuzione:
ps aux | grep stunnel
Riavvia Stunnel eseguendo questi comandi:
sudo systemctl restart stunnel4
Per connetterti all'istanza Redis utilizzando Telnet, esegui questo comando:
telnet localhost 6378
Nella sessione Telnet, esegui il ping dell'istanza Redis:
Digita:
PING
Risultato:
PONG
Connessione da una macchina locale con il port forwarding
Può essere utile connettersi alla tua istanza Redis dalla macchina locale durante lo sviluppo. Per farlo, devi creare un'istanza Compute Engine da utilizzare per il port forwarding all'istanza Redis.
Crea un'istanza Compute Engine eseguendo questo comando:
gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
Dove:
- COMPUTE_VM_NAME è il nome designato per la VM di Compute Engine.
- ZONE è la zona in cui vuoi eseguire il provisioning della VM.
Questo comando crea una VM Compute Engine con il tipo di macchina
f1-micro
per una maggiore convenienza. Se vuoi, puoi scegliere altri tipi di macchina.Apri un nuovo terminale sulla macchina locale.
Per creare un tunnel SSH che inoltra il traffico attraverso la VM Compute Engine, esegui questo comando:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
Dove:
- COMPUTE_VM_NAME è il nome della VM di Compute Engine.
- ZONE è la stessa zona in cui si trova la VM di Compute Engine.
- REDIS_INSTANCE_IP_ADDRESS è l'indirizzo IP della tua istanza Redis.
Per testare la connessione, apri una nuova finestra del terminale ed esegui questo comando:
redis-cli ping
Se funziona correttamente, il risultato dovrebbe restituire:
PONG
La connessione all'istanza Redis è ora stabilita e puoi inviare comandi all'istanza Redis utilizzando questo tunnel SSH aperto. Se non hai già installato
redis-cli
, installalo per poter eseguire questo comando.Il tunnel SSH rimane aperto finché la finestra del terminale con la connessione del tunnel SSH rimane in esecuzione.
Connessione a un'istanza Redis da un cluster Google Kubernetes Engine
Puoi connetterti alla tua istanza Redis da cluster Google Kubernetes Engine che utilizzano la stessa rete autorizzata dell'istanza Redis.
Connessione da un pod che esegue una shell bash
- Vai alla pagina GKE nella console Google Cloud.
GKE - Fai clic sul cluster GKE da cui vuoi connetterti. Se non hai ancora un cluster, creane uno con gli alias IP abilitati. Per istruzioni su come creare un cluster in cui sono abilitati gli alias IP, consulta Creazione di un cluster nativo di VPC.
- Fai clic sul pulsante Connetti a destra del nome del cluster, quindi sul pulsante Esegui in Cloud Shell nella finestra visualizzata.
- Configura l'accesso alla riga di comando di
kubectl
eseguendo questo comando:gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
CLUSTER_NAME
è il nome del cluster.CLUSTER_ZONE
è la zona in cui si trova il cluster. Deve essere anche la zona in cui si trova l'istanza Redis.PROJECT_ID
è il progetto in cui esistono il cluster e le istanze Redis.
kubeconfig generated for CLUSTER_NAME
- Se il cluster è versione 1.8 o successiva e in cui sono abilitati gli alias IP, ignora questo passaggio. Se il tuo cluster è la versione 1.7 o precedente o se nel cluster la versione 1.8 o successive non sono abilitati gli alias IP, segui questi passaggi alternativi prima di provare a connetterti all'istanza: Creazione di un cluster nativo di VPC. Per saperne di più sugli alias IP, incluso come creare un cluster con questa impostazione abilitata, consulta
- Usa il seguente comando per connetterti a una shell bash:
kubectl run -i --tty busybox --image=busybox -- sh
- Telnet alla tua istanza Redis utilizzando l'indirizzo host e il numero di porta:
telnet HOST-IP PORT
- Inserisci un comando Redis di base per verificare la connessione:
PING +PONG
- Per chiudere la connessione Telnet, premi Ctrl + C (o Comando + C su Mac). Per uscire dalla shell bash nel pod, inserisci Invio. Se hai finito e non devi più connetterti a Redis, esegui questo comando dalla directory
/k8s-custom-iptables/
:./uninstall.sh
Connessione a un'istanza Redis da un pod Google Kubernetes Engine
Per iniziare, devi avere un cluster GKE. Se non hai già un cluster, creane uno con gli alias IP abilitati. Per istruzioni su come creare un cluster con alias IP abilitati, consulta Creazione di un cluster nativo di VPC.
- Nell'angolo in alto a destra della console, fai clic sul pulsante Attiva Cloud Shell .
- Configura l'accesso alla riga di comando di
kubectl
eseguendo questo comando:gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
CLUSTER_NAME
è il nome del cluster.CLUSTER_ZONE
è la zona in cui si trova il cluster. Deve essere anche la zona in cui si trova l'istanza Redis.PROJECT_ID
è il progetto in cui esistono il cluster e le istanze Redis.
kubeconfig generated for CLUSTER_NAME
- Se il cluster è versione 1.8 o successiva e in cui sono abilitati gli alias IP, ignora questo passaggio. Se il tuo cluster è la versione 1.7 o precedente o se nel cluster la versione 1.8 o successive non sono abilitati gli alias IP, segui questi passaggi alternativi prima di provare a connetterti all'istanza: Creazione di un cluster nativo di VPC. Per saperne di più sugli alias IP, incluso come creare un cluster con questa impostazione abilitata, consulta
- Utilizza il seguente comando per avviare un pod Redis che esegue
redis-cli
:kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
- Esegui un comando
redis-cli
, sostituendoHOST-IP
con l'indirizzo IP host della tua istanza Redis:redis-cli -h HOST-IP info
- Facoltativamente, esegui un comando Benchmark Redis, sostituendo nuovamente
HOST-IP
con l'indirizzo IP dell'host della tua istanza Redis:redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
- Per uscire dal pod Redis, inserisci
return
. Se hai finito e non devi più connetterti a Redis, esegui questo comando dalla directory/k8s-custom-iptables/
:./uninstall.sh
Passaggi successivi
Connettiti all'istanza Redis utilizzando un'applicazione di esempio eseguita su:
- Compute Engine
- GKE
- Cloud Run
- Ambiente standard di App Engine
- Ambiente flessibile di App Engine
- Cloud Functions