¿Cómo pruebo mi conexión a un clúster de Amazon ElastiCache para Redis o Memcached?
Quiero probar mi conexión a un clúster de Amazon ElastiCache para Redis o Amazon ElastiCache para Memcached desde un cliente basado en Linux.
Breve descripción
Amazon ElastiCache admite dos motores de clave-valor en memoria: Redis y Memcached. Cuando inicie un clúster de caché de ElastiCache, elija su motor preferido.
Nota: Esta resolución trata la prueba de una conexión solo para un uso no planificado. Para obtener una lista de los clientes de Redis compatibles, consulte la documentación de Redis.
Para Memcached con Java, .NET o PHP, se recomienda utilizar clientes de ElastiCache con detección automática. Los clientes de ElastiCache con detección automática identifican automáticamente los nuevos nodos de ElastiCache cuando se agregan al clúster de caché.
Resolución
Crear el clúster de ElastiCache
**Nota:**Si se conecta a un clúster existente, continúe con el paso siguiente.
Para obtener información sobre cómo crear un clúster de Redis de ElastiCache, consulte Crear un clúster (Guía del usuario de Amazon ElastiCache para Redis).
Para obtener información sobre la creación de un clúster de Memcached, consulte Crear un clúster (Guía del usuario de Amazon ElastiCache para Memcached).
Conectarse al clúster de Redis de ElastiCache
ElastiCache admite clústeres de Redis deshabilitados y habilitados para el modo de clúster. Para probar una conexión a estos clústeres, utilice la utilidad redis-cli o redis6-cli. La versión más reciente de redis-cli y redis6-cli admite SSL/TLS para conectarse a clústeres con el cifrado o la autenticación activados.
Descargue y compile la utilidad redis-cli en la instancia de Amazon Elastic Compute Cloud (Amazon EC2) desde la que se conecta. Para obtener instrucciones sobre cómo conectarse a una instancia de Amazon EC2, consulte Tutorial: Introducción a las instancias de Linux de Amazon EC2.
**Nota:**En el siguiente ejemplo se usan instancias de EC2 que ejecutan Amazon Linux, Amazon Linux 2 y Amazon Linux 2023. Para obtener documentación sobre la instalación y compilación de redis-cli y redis6-cli con otras distribuciones de Linux, consulte la documentación de su sistema operativo específico.
Amazon Linux 2023
sudo yum install redis6 -y
Amazon Linux 2
$sudo amazon-linux-extras install epel -y $sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y $sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo make BUILD_TLS=yes
Amazon Linux
$sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget $sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo CC=clang make BUILD_TLS=yes
**Nota:**De forma predeterminada, redis-cli usa una conexión TCP no cifrada cuando se conecta a Redis. La opción BUILD_TLS=yes activa SSL/TLS durante la compilación de redis-cli. Si el clúster al que se conecta no está cifrado, no necesita la opción Build_TLS=yes. Al instalar el paquete redis6, se instala automáticamente redis6-cli con compatibilidad predeterminada con SSL/TLS.
Para obtener información sobre la búsqueda de puntos de conexión de Redis, consulte Búsqueda de puntos de conexión.
Conectarse a un clúster no cifrado deshabilitado para el modo de clúster
1. Para conectarse al clúster, ejecute el siguiente comando. En el siguiente comando de ejemplo, reemplace change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com y 6379 por el punto de conexión del clúster y el número de puerto:
Amazon Linux 2023
redis6-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Este comando devuelve una línea de comandos de Redis similar a la del siguiente ejemplo:
change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com:6379>
2. Después de conectarse al clúster, puede ejecutar los comandos de Redis (en el sitio web redis.io). A continuación se muestran ejemplos de comandos de Redis:
set a "hello" OK get a "hello" quit
Conectarse a un clúster no cifrado habilitado para el modo de clúster
1. Para conectarse al clúster, ejecute el siguiente comando. En el siguiente comando de ejemplo, reemplace cluster-disable-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com y 6379 por el punto de conexión del clúster y el número de puerto:
Amazon Linux 2023
redis6-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Nota: En estos comandos, la opción -c activa el modo de clúster después de las redirecciones -ASK y -MOVED (en el sitio web redis.io).
El resultado de una línea de comandos de Redis es similar al del siguiente ejemplo:
cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com:6379>
2. Ahora puede ejecutar los comandos de Redis. Tenga en cuenta que la redirección se produce porque utilizó la opción -c para activarla. Si no activa la redirección, el comando devuelve el error MOVED. Para obtener más información sobre el error MOVED, consulte la especificación del clúster de Redis (en el sitio web redis.io).
Ejemplos de comandos de Redis:
set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"
Conectarse a un clúster con el cifrado y la autenticación activados
La activación de AUTH es opcional. Sin embargo, para activar AUTH, tiene que activar el cifrado en tránsito. Para obtener más información sobre el cifrado y la autenticación de ElastiCache, consulte Cifrado en tránsito (TLS) de ElastiCache.
Para conectarse a los clústeres cifrados habilitados y deshabilitados para el modo de clúster, utilice la opción --tls con redis-cli. Si un clúster tiene un token AUTH establecido, puede usar la opción -a para proporcionar una contraseña de AUTH.
Nota: A partir de la versión 7 de Redis, el cifrado en tránsito está activado para los clústeres de ElastiCache existentes. Puede cambiar la configuración de TLS de sus clústeres de Redis sin volver a crearlos ni aprovisionarlos ni afectar a la disponibilidad de las aplicaciones. Al activar el cifrado en tránsito, la solución general permanece conectada a los clústeres de Redis.
En los siguientes ejemplos, sustituya el punto de conexión y el puerto del clúster.
Conectarse a clústeres cifrados deshabilitados para el modo de clúster
El siguiente comando de ejemplo se conecta a un clúster con el cifrado y la autenticación activados:
Amazon Linux 2023
redis6-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
El siguiente comando de ejemplo se conecta a un clúster que solo tiene activado el cifrado:
Amazon Linux 2023
redis6-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Conectarse a clústeres cifrados habilitados para el modo de clúster
El siguiente comando de ejemplo se conecta a un clúster con el cifrado y la autenticación activados:
Amazon Linux 2023
redis6-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
El siguiente comando de ejemplo se conecta a un clúster que solo tiene activado el cifrado:
Amazon Linux 2023
redis6-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Amazon Linux y Amazon Linux 2
src/redis-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Después de conectarse al clúster, puede ejecutar los comandos de Redis como se muestra en los ejemplos anteriores para los clústeres no cifrados.
Alternativa a Redis-cli
Para realizar una breve prueba sin pasar por la compilación redis-cli, puede conectarse a un clúster que no tenga habilitado el modo de clúster. Para ello, puede utilizar telnet u openssl. En los siguientes comandos de ejemplo, sustituya el punto de conexión y el puerto del clúster.
Nota: Para instalar la utilidad telnet, consulte la sección Conectarse a un clúster de Memcached sin cifrado en tránsito.
Después de conectarse puede ejecutar los comandos de Redis como se muestra en los ejemplos anteriores.
El siguiente comando de ejemplo se conecta a un clúster deshabilitado para el modo de clúster de cifrado o autenticación:
openssl s_client -connect master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com:6379
Si el clúster tiene una contraseña establecida, conéctese primero al clúster. Después de conectarse, utilice el siguiente comando para autenticar el clúster y, a continuación, presione la tecla Enter. En el siguiente comando de ejemplo, sustituya Password por la contraseña del clúster:
Auth Password
El siguiente comando de ejemplo se conecta a un clúster deshabilitado para el modo de clúster que no tiene activado el cifrado ni la autenticación:
telnet change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com 6379
Conectarse un clúster de Memcached de ElastiCache
Para conectarse a un clúster de Memcached, utilice la utilidad telnet.
Conectarse a un clúster de Memcached sin cifrado en tránsito
1. Instale la utilidad telnet en la instancia de EC2 desde la que está probando la conexión.
Para los sistemas basados en CentOS, ejecute el siguiente comando:
$sudo yum install telnet
Para los sistemas basados en Debian (Ubuntu), ejecute el siguiente comando:
$sudo apt-get install telnet
Para obtener instrucciones sobre cómo conectarse a una instancia de Amazon EC2, consulte Tutorial: Introducción a las instancias de Linux de Amazon EC2.
2. Para conectarse al punto de conexión, ejecute el siguiente comando de ejemplo. Sustituya mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com por el punto de conexión y 11211 por el puerto del nodo:
telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211
El resultado es similar al siguiente ejemplo:
Trying 128.0.0.1... Connected to mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com. Escape character is '^]'. >
Ahora estás conectado a un nodo. Puede ejecutar comandos de Memcached como se muestra en el siguiente ejemplo de salida:
set a 0 0 5 hello STORED get a VALUE a 0 5 hello END
Conectarse a un clúster de Memcached con cifrado en tránsito
El cifrado en tránsito se admite en los clústeres que ejecutan las versiones 1.6.12 y posteriores de Memcached. Telnet no utiliza cifrado. Para conectarse a un clúster de Memcached habilitado para el cifrado, utilice el cliente openssl.
**Nota:**Puede activar el cifrado en tránsito en un clúster solo al crear el clúster. No puede modificar el clúster para activar y desactivar el cifrado en tránsito. Para obtener más información, consulte Cifrado en tránsito (TLS) de ElastiCache.
Para conectarse al punto de conexión, ejecute el siguiente comando de ejemplo. Sustituya testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com por el punto de conexión y 11211 por el puerto del nodo:
openssl s_client -quiet -crlf -connect testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com:11211
Ejemplo de salida:
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1 verify return:1 depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M02 verify return:1 depth=0 CN = *.testwithtls.qtyxq7.apse2.cache.amazonaws.com verify return:1
Ahora estás conectado a un nodo. Puede ejecutar comandos de Memcached como se muestra en el siguiente ejemplo de salida:
set a 0 0 5 hello STORED get a VALUE a 0 5 hello END
Vídeos relacionados

Contenido relevante
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años