¿Cómo soluciono los problemas de conexión de los clústeres de diseño propio de ElastiCache para Valkey y ElastiCache para Redis OSS?

7 minutos de lectura
0

Quiero solucionar problemas de conectividad con mi clúster de diseño propio de Amazon ElastiCache para Valkey y Amazon ElastiCache para Redis OSS.

Resolución

Comprueba el estado de tu clúster

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Si creaste el clúster recientemente, es posible que tengas problemas de conectividad si el clúster no está en el estado Disponible. Para confirmar que la creación se ha completado, comprueba el estado del clúster y de cada nodo conectado al clúster:

  • Si la columna Estado muestra Disponible, es que el clúster está listo para aceptar conexiones.
  • Si la columna Estado muestra Crear o Modificar, significa que la creación del clúster está en curso o se está actualizando. Espera unos minutos hasta que el estado se actualice a Disponible.

Comprueba el estado de tu clúster

Para comprobar el estado del clúster, consulta los siguientes orígenes para obtener información sobre tu clúster:

Revisa tus configuraciones de ACL de red y grupos de seguridad

Revisa las configuraciones de los grupos de seguridad y las listas de control de acceso de la red (ACL de red) en el clúster y el recurso desde los que inicias la conexión. Debes configurar los grupos de seguridad y las ACL de red para acceder a los recursos. Para obtener más información, consulta Acceso al clúster o grupo de replicación de ElastiCache.

A continuación se muestran algunos ejemplos de recursos de clientes:

  • Instancias de Amazon Elastic Compute Cloud (Amazon EC2)
  • Funciones de AWS Lambda
  • Contenedores de Amazon Elastic Container Service (Amazon ECS)
  • Contenedores de Amazon Elastic Kubernetes Service (Amazon EKS)

Para revisar el grupo de seguridad del clúster, sigue estos pasos:

  1. Abre la consola de ElastiCache.
  2. En el panel de navegación, en Recursos, elige las cachés de Valkey o Cachés de Redis OSS y, a continuación, selecciona el clúster.
  3. En la página de detalles del clúster, selecciona la pestaña Conectividad y seguridad.
  4. Comprueba que al menos uno de los grupos de seguridad asociados permita las conexiones entrantes desde el recurso del cliente al clúster en el puerto del clúster.
  5. Para encontrar el número de puerto, revisa cualquiera de los puntos de enlace del clúster. Los puntos de enlace tienen el formato domain_name:port.
    Nota: De forma predeterminada, el puerto del clúster es 6379/TCP. Puedes anular el número de puerto al crear un clúster.
  6. En el recurso del cliente, comprueba que los grupos de seguridad permitan las conexiones salientes al puerto del clúster y a los bloques CIDR de las subredes del clúster.
  7. Comprueba que las ACL de la red permitan las conexiones entrantes y salientes entre el cliente y el clúster. Además, debes comprobar que las tablas de rutas tengan las rutas adecuadas.
    Nota: De forma predeterminada, las ACL de la red permiten todas las conexiones.

Para solucionar otros problemas de configuración de red, usa el analizador de acceso de la red de Amazon Virtual Private Cloud (Amazon VPC).

Comprueba que usas los puntos de enlace correctos para las conexiones

Asegúrate de configurar la aplicación del lado del cliente para usar los puntos de enlace correctos. Para obtener más información, consulta Finding connection endpoints in ElastiCache (Búsqueda de puntos de enlace de conexión en ElastiCache).

Revisa la conexión TCP entre el clúster OSS de Valkey o Redis y el cliente

Asegúrate de que haya una conexión TCP entre el clúster OSS de Valkey o Redis y el recurso del cliente. Para confirmar la conectividad entre el clúster de ElastiCache y el cliente, ejecuta el comando curl desde el recurso del cliente:

$ curl -v telnet://example-cluster-endpoint:6379

Nota: Sustituye example-cluster-endpoint por el punto de enlace del clúster.

Resultado de ejemplo:

*   Trying 172.31.1.242:6379...* Connected to example-cluster-endpoint (172.31.1.242) port 6379

En el ejemplo anterior, el valor Conectado en la salida confirma que la conexión TCP se ha realizado correctamente.

Comprobación de las conexiones a los clústeres que tienen cifrado en tránsito

Para enviar el tráfico del clúster de Valkey o Redis OSS a través de TLS, debes utilizar el cifrado en tránsito. Para establecer una conexión desde el cliente, este debe tener soporte para TLS.

Si tienes valkey-cli o redis-cli con soporte para TLS, puedes agregar el argumento**--tls** al comando para activar el soporte para TLS.

ejemplo de redis-cli:

$ redis-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

ejemplo de valkey-cli:

$ valkey-cli -h example-encrypted-cluster-endpoint -p 6379 --tls

Nota: Sustituye example-encrypted-cluster-endpoint por el punto de enlace cifrado del clúster.

Resultado de ejemplo:

example-encrypted-cluster-endpoint:6379>

Si valkey-cli o redis-cli no tiene soporte para TLS, aparece el siguiente error:

"Unrecognized option or bad number of args for: '--tls' "

Para solucionar el error anterior, instala valkey-cli o redis-cli con el soporte para TLS.

Revisa las conexiones a los clústeres con autenticación

Para revisar las conexiones a los clústeres con autenticación, usa valkey-cli o redis-cli. Para obtener más información, consulta la sección Conexión a un clúster habilitado para cifrado o autenticación en Conexión al nodo del clúster.

ejemplo de redis-cli:

redis-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

ejemplo de valkey-cli:

valkey-cli -h your-cluster-endpoint -p 6379 --tls -c --user your-user --askpass # Enter the password when prompted

Nota:Los comandos valkey-cli y redis-cli requieren los argumentos--tls y --askpass o -a. Si proporcionas estos argumentos o utilizas una contraseña incorrecta, aparecerá el mensaje NOAUTH o AUTH failed. Si usas valkey-cli o redis-cli solo con el argumento --tls, usa AUTH <password> después de conectar para completar la autenticación.

Actualiza los atributos de DNS en el recurso de cliente

Si tienes problemas con el DNS, es posible que recibas un error Name or service not known (El nombre del servicio es desconocido) o NXDOMAIN. Estos errores se producen cuando se produce un error en las búsquedas de DNS a través del servidor DNS personalizado. Para resolver estos errores, asegúrate de tener los atributos de DNS correctos en el recurso del cliente de Amazon VPC.

Nota: Se recomienda utilizar el servidor DNS de Amazon en tu nube privada virtual (VPC).

Revisa las conexiones de tus clientes

Para revisar los detalles de conexión del cliente de tu clúster de ElastiCache, puedes usar métricas para Valkey y Redis OSS, como CurrConnections y NewConnections. ElastiCache usa de cuatro a seis de las conexiones para supervisar el clúster.

Para ver los detalles de conexión del cliente, ejecuta el siguiente comando de valkey-cli o redis-cli:

$ CLIENT LIST

El resultado del comando muestra todos los clientes conectados, incluidas sus direcciones IP, el tiempo de inactividad y otra información. Para obtener más información, consulta LISTA DE CLIENTES en el sitio web de Valkey y LISTA DE CLIENTES en el sitio web de Redis OSS.

Comprobación de la conectividad de red entre el clúster y el recurso del cliente

Según cómo accedas al clúster de ElastiCache, es posible que experimentes problemas de latencia. Para minimizar la latencia, se recomienda acceder a ElastiCache desde Amazon EC2 o desde los recursos de Amazon VPC. Para obtener más información, consulta Patrones de acceso para acceder a una caché de ElastiCache en una Amazon VPC y Acceso al clúster de Elasticache o al grupo de replicación.

Información relacionada

Problemas de conexión persistentes

Conéctate a un clúster o grupo de replicación de Valkey o Redis OSS (Linux)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un mes