es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

nodejs + aws elasticache redis conexión agotada de tiempo

Estoy utilizando redis 4.0.0 en mi función AWS Lambda de NodeJS para conectarme a un clúster de redis de AWS.
Recibo un error de “connection timed out”. ¿Qué estoy haciendo mal?

    const redisUrl = 'redis://xyz.use1.cache.amazonaws.com:6379';
    const redisClient = redis.createClient({ url: redisUrl });
    await redisClient.connect();

xyz.use1.cache.amazonaws.com es el punto de enlace principal del clúster.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Pueden haber varias razones por las que estás recibiendo un error de conexión agotada mientras intentas conectarte a tu clúster AWS redis utilizando Redis 4.0.0 en tu función Lambda de AWS NodeJS. Aquí hay algunas cosas que debes verificar:

    1. Verifica si la configuración del grupo de seguridad es correcta: Asegúrate de que la configuración del grupo de seguridad para tu clúster AWS redis permita el tráfico entrante desde la dirección IP o rango de la función Lambda de AWS que se está conectando al clúster.
    2. Verifica si el punto final de Redis es correcto: Asegúrate de que estás utilizando el punto final de Redis correcto. Puedes verificar el punto final de Redis iniciando sesión en la Consola de administración de AWS y navegando a la página “Cache Clusters”. Luego haz clic en el nombre del clúster al que estás intentando conectarte y verifica el campo “Punto final principal”.

    3. Verifica si el puerto de Redis es correcto: Asegúrate de que el puerto de Redis en tu código (6379) coincida con el puerto de Redis de tu clúster AWS redis. El puerto predeterminado de Redis es 6379, pero podría ser diferente según la configuración de tu clúster.

    4. Verifica si la función Lambda tiene la configuración necesaria de VPC: Si tu clúster AWS redis se está ejecutando en una VPC, entonces debes asegurarte de que tu función Lambda de AWS esté correctamente configurada con la configuración de VPC requerida.

    Suponiendo que todo lo demás esté en orden, puedes intentar actualizar tu código para eliminar la línea redisClient.connect(), ya que no es necesaria con Redis 4.0. Aquí tienes una versión actualizada de tu código:

    const redisUrl = 'redis://xyz.use1.cache.amazonaws.com:6379';
    const redisClient = redis.createClient({ url: redisUrl });
    

    Si el problema persiste, puedes verificar los registros de AWS CloudWatch para tu función Lambda para obtener más detalles sobre el error que causó el tiempo de espera.

Comments are closed.