En esta página, se describe cómo conectarte a tu instancia de Redis con Telnet y redis-cli
. Además, en esta página, se proporcionan instrucciones para conectarse cuando se usan funciones como réplicas de lectura, AUTH y encriptación en tránsito.
Por último, en esta página, se proporcionan instrucciones para conectarse desde un entorno de Google Kubernetes Engine.
Si deseas obtener una lista de los entornos de Google Cloud compatibles con Memorystore para Redis, consulta Entornos compatibles. Algunos entornos sin servidores que admite Memorystore requieren un conector de Acceso a VPC sin servidores. Consulta el requisito del conector de Acceso a VPC sin servidores para obtener más detalles.
Conéctate a una instancia de Redis desde una VM de Compute Engine mediante telnet
Puedes conectarte a la instancia de Redis desde cualquier VM de Compute Engine que use la red autorizada de la instancia de Redis con una dirección IP RFC 1918 compatible.
Si aún no tienes una VM de Compute Engine que use la misma red autorizada que tu instancia de Redis, crea una y conéctate a ella mediante los siguientes pasos: Guía de inicio rápido sobre el uso de una VM de Linux.
Instala
telnet
medianteapt-get
:sudo apt-get install telnet
Desde la terminal, ejecuta Telnet a la dirección IP de la instancia de Redis y reemplaza variables por los valores adecuados.
telnet instance-ip-address 6379
Si se ejecuta de forma correcta, el comando mostrará este resultado:
Trying instance-ip-address… Connected to instance-ip-address
En la sesión de telnet, ingresa algunos comandos de Redis:
Ingrese:
PING
Resultado:
PONG
Ingresa:
SET HELLO WORLD
Resultado:
+OK
Ingrese:
GET HELLO
Resultado:
$5 WORLD
Conéctate a una instancia de Redis desde una VM de Compute Engine mediante redis-cli
Puedes conectarte a la instancia de Redis desde cualquier VM de Compute Engine que use la red autorizada de la instancia de Redis con una dirección IP RFC 1918 compatible.
Si aún no tienes una VM de Compute Engine que use la red autorizada para tu instancia de Redis, crea una y conéctate a ella siguiendo Cómo crear una instancia de VM en una subred específica.
Para instalar
redis-cli
en la VM de Compute Engine, ejecuta el siguiente comando desde la terminal SSH de Compute Engine:sudo apt-get install redis-tools
Ejecuta el siguiente comando en la terminal de Compute Engine y reemplaza variables por los valores apropiados.
redis-cli -h redis-instance-ip-address
Ahora estás conectado a tu instancia de Redis mediante
redis-cli
.Una vez que termines de probar tu conexión con la instancia de Redis, debes considerar borrar la VM de Compute Engine que usaste para conectarte a la instancia de Redis. Esto te ayuda a evitar que se generen cargos en tu cuenta de Facturación de Cloud.
Conéctate a una instancia de Redis que usa AUTH
En esta sección se describe cómo conectarse a una instancia de Redis que tiene habilitada la función AUTH.
Si aún no tienes una VM de Compute Engine que use la misma red autorizada que tu instancia de Redis, crea una y conéctate a ella mediante los siguientes pasos: Guía de inicio rápido sobre el uso de una VM de Linux.
Para instalar
redis-cli
en la VM de Compute Engine, ejecuta el siguiente comando desde la terminal SSH de Compute Engine:sudo apt-get install redis-tools
Obtén la string AUTH de la instancia
Ejecuta el siguiente comando a fin de usar
redis-cli
para autenticar y conectarte a tu instancia, y reemplaza variables por los valores apropiados:redis-cli -h instance-ip-address -a auth-string
O el siguiente:
redis-cli -h instance-ip-address AUTH auth-string
Ejecuta un comando
SET
yGET
de Redis para verificar que estableciste una conexión autenticada a tu instancia.Una vez que termines de probar tu conexión con la instancia de Redis, debes considerar borrar la VM de Compute Engine que usaste para conectarte a la instancia de Redis. Esto te ayuda a evitar que se generen cargos en tu cuenta de Facturación de Cloud.
Conéctate a una instancia de Redis con el extremo de lectura
Si tu instancia tiene habilitadas las réplicas de lectura, puedes conectarte al extremo de lectura con las siguientes instrucciones:
Si aún no tienes una VM de Compute Engine que use la misma red autorizada que tu instancia de Redis, crea una y conéctate a ella mediante los siguientes pasos: Guía de inicio rápido sobre el uso de una VM de Linux.
Instala
telnet
medianteapt-get
:sudo apt-get install telnet
Para encontrar la dirección IP del extremo de lectura de tu instancia, consulta la información de la réplica de lectura de tu instancia.
Desde la terminal, ejecuta Telnet a la dirección IP del extremo de lectura de la instancia de Redis y reemplaza variables por los valores adecuados.
telnet read-endpoint-ip 6379
Si se ejecuta de forma correcta, el comando mostrará este resultado:
Trying read-endpoint-ip… Connected to read-endpoint-ip
En la sesión de telnet, ingresa algunos comandos de Redis:
Ingrese:
PING
Resultado:
PONG
Conéctate de forma segura a una instancia de Redis mediante Stunnel y Telnet
En esta sección, se proporciona un ejemplo de cómo usar Stunnel para conectarse a una instancia de Redis que tiene habilitada la encriptación en tránsito.
Si aún no tienes una instancia de Redis que tenga habilitada la encriptación en tránsito, crea una con las instrucciones que se indican en Crea una instancia de Redis con encriptación en tránsito.
Si aún no tienes una VM de Compute Engine que use la misma red autorizada que la instancia de Redis del paso anterior, crea una y conéctate a ella mediante los siguientes pasos: Guía de inicio rápido sobre el uso de una VM de Linux.
Instala las herramientas necesarias para esta guía con la ejecución de los siguientes comandos:
sudo apt-get install stunnel4
sudo apt-get install telnet
Configura tu VM de Compute Engine para usarla con Stunnel:
Crea un archivo nuevo para colocar la autoridad certificada (CA) mediante la ejecución del siguiente comando:
sudo vim /tmp/server_ca.pem
Para ver las autoridades certificadas de tu instancia de Redis, ejecuta el siguiente comando en la terminal estándar que utilizas para administrar los recursos de Google Cloud (no la terminal de Compute Engine):
gcloud redis instances describe instance-id --region=region
Puede haber hasta tres CA.
Copia todas las autoridades certificadas visibles, incluidas la línea
-----BEGIN CERTIFICATE-----
y las líneas-----END CERTIFICATE-----
, y pega y guarda el contenido en el archivoserver_ca.pem
que creaste antes.Crea un archivo nuevo para incluir la información de configuración de Stunnel mediante la ejecución del siguiente comando:
sudo vim /etc/stunnel/redis-client.conf
Pega el siguiente texto en el archivo y reemplaza redis-instance-ip por la dirección IP de la instancia de 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
Ejecuta el siguiente comando para iniciar stunnel:
sudo stunnel /etc/stunnel/redis-client.conf
Verifica que stunnel se esté ejecutando:
ps aux | grep stunnel
Reinicia Stunnel con los siguientes comandos:
sudo systemctl restart stunnel4
Para conectarte a tu instancia de Redis mediante Telnet, ejecuta el siguiente comando:
telnet localhost 6378
En la sesión de Telnet, haz ping a la instancia de Redis:
Ingresa:
PING
Resultado:
PONG
Cómo conectarse desde una máquina local con redirección de puertos
Puede ser útil conectarse a tu instancia de Redis desde tu máquina local durante el desarrollo. Para ello, debes crear una instancia de Compute Engine que se use para la redirección de puertos a la instancia de Redis.
Ejecuta el siguiente comando para crear una instancia de Compute Engine:
gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
Aquí:
- COMPUTE_VM_NAME es el nombre que designas para la VM de Compute Engine.
- ZONE es la zona en la que deseas aprovisionar la VM.
Este comando crea una VM de Compute Engine con el tipo de máquina
f1-micro
para mejorar la rentabilidad. Si lo deseas, puedes elegir otros tipos de máquinas.Abre una terminal nueva en la máquina local.
Para crear un túnel SSH que reenvíe el tráfico a través de la VM de Compute Engine, ejecuta el siguiente comando:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
Aquí:
- COMPUTE_VM_NAME es el nombre de la VM de Compute Engine.
- ZONE es la misma zona en la que se encuentra la VM de Compute Engine.
- REDIS_INSTANCE_IP_ADDRESS es la dirección IP de tu instancia de Redis.
Para probar la conexión, abre una nueva ventana de terminal y ejecuta el siguiente comando:
redis-cli ping
Si funciona correctamente, el resultado debería mostrar lo siguiente:
PONG
Ahora estás conectado a la instancia de Redis y puedes enviar comandos a la instancia de Redis con este túnel SSH abierto. Si aún no lo hiciste, instala
redis-cli
para poder ejecutar este comando.El túnel SSH permanecerá abierto mientras mantengas abierta la ventana de la terminal con la conexión del túnel SSH en funcionamiento.
Conectarse a una instancia de Redis desde un clúster de Google Kubernetes Engine
Puedes conectarte a tu instancia de Redis desde los clústeres de Google Kubernetes Engine que usen la misma red autorizada que tu instancia de Redis.
Conectarse desde un pod ejecutando un shell Bash
- Ve a la página de GKE en la consola de Google Cloud.
GKE - Haz clic en el clúster GKE desde el que deseas conectarte. Si aún no tienes un clúster, crea uno con los alias de IP habilitados. Para obtener instrucciones sobre cómo crear un clúster con alias de IP habilitados, consulta Crea un clúster nativo de la VPC.
- Haz clic en el botón Conectar a la derecha del nombre de tu clúster y haz clic en el botón Ejecutar en Cloud Shell en la ventana que aparece.
- Configura el acceso a la línea de comandos de
kubectl
mediante la ejecución del siguiente comando:gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
CLUSTER_NAME
es el nombre de tu clúster.CLUSTER_ZONE
es la zona en la que se encuentra tu clúster. También debe ser la zona en la que se encuentra tu instancia de Redis.PROJECT_ID
es el proyecto donde existen tu clúster y tus instancias de Redis.
kubeconfig generated for CLUSTER_NAME
- Si tu clúster es de la versión 1.8 o superior y tienes habilitados los alias de IP, omite este paso. Si tu clúster es de la versión 1.7 o inferior, o tu clúster de la versión 1.8 o superior no tiene habilitados los alias de IP, sigue estos pasos alternativos antes de intentar conectarte a tu instancia:Crea un clúster nativo de la VPC. Para obtener más información sobre los alias de IP, incluido cómo crear un clúster con esta configuración habilitada, consulta
- Usa el siguiente comando para conectarte a un shell Bash:
kubectl run -i --tty busybox --image=busybox -- sh
- Ejecuta telnet a tu instancia de Redis mediante la dirección de host y el número de puerto:
telnet HOST-IP PORT
- Ingresa un comando básico de Redis para verificar la conexión:
PING +PONG
- Para cerrar la conexión telnet, presiona Control + C (o Comando + C en Mac). Para salir de un shell Bash en tu pod, ingresa mostrar. Si terminaste y ya no necesitas conectarte a Redis, ejecuta el siguiente comando desde el directorio
/k8s-custom-iptables/
:./uninstall.sh
Conectarse a una instancia de Redis desde un pod de Google Kubernetes Engine
Antes de comenzar, necesitas un clúster GKE. Si aún no tienes un clúster, crea uno con los alias de IP habilitados. Para obtener instrucciones sobre cómo crear un clúster con alias de IP habilitados, consulta Crea un clúster nativo de la VPC.
- Desde la esquina superior derecha de la consola, haz clic en el botón Activar Cloud Shell .
- Configura el acceso a la línea de comandos de
kubectl
mediante la ejecución del siguiente comando:gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
CLUSTER_NAME
es el nombre de tu clúster.CLUSTER_ZONE
es la zona en la que se encuentra tu clúster. También debe ser la zona en la que se encuentra tu instancia de Redis.PROJECT_ID
es el proyecto donde existen tu clúster y tus instancias de Redis.
kubeconfig generated for CLUSTER_NAME
- Si tu clúster es de la versión 1.8 o superior y tienes habilitados los alias de IP, omite este paso. Si tu clúster es de la versión 1.7 o inferior, o tu clúster de la versión 1.8 o superior no tiene habilitados los alias de IP, sigue estos pasos alternativos antes de intentar conectarte a tu instancia:Crea un clúster nativo de la VPC. Para obtener más información sobre los alias de IP, incluido cómo crear un clúster con esta configuración habilitada, consulta
- Usa el siguiente comando para iniciar un pod Redis mediante la ejecución de
redis-cli
:kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
- Ejecuta un comando
redis-cli
y reemplazaHOST-IP
por la dirección IP del host de tu instancia de Redis:redis-cli -h HOST-IP info
- Como opción, puedes ejecutar un comando de referencia de Redis, y reemplazar otra vez
HOST-IP
por la dirección IP del host de tu instancia de 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
- Para salir del Pod de Redis, ingresa
return
. Si terminaste y ya no necesitas conectarte a Redis, ejecuta el siguiente comando desde el directorio/k8s-custom-iptables/
:./uninstall.sh
Qué sigue
Conéctate a tu instancia de Redis mediante una aplicación de muestra que se ejecuta en:
- Compute Engine
- GKE
- Cloud Run
- Entorno estándar de App Engine
- Entorno flexible de App Engine
- Funciones de Cloud Run