Как подключиться в Redis к Auth / Password NodeJs для AWS Lambda? - PullRequest
0 голосов
/ 08 июня 2018

Привет, ребята, я делаю лямбда-функции для токенов валидации в AWS Api Gateway, однако мне нужно подключиться к Redis с безопасностью, но когда-либо происходит сбой с этой конфигурацией:

var client = require('redis').createClient({
      host : 'redis-dev.amazonaws.com',
      port : 6379,
      no_ready_check: true,
      auth_pass: 'mypassword#c$blx!Na'                                                                                                                                                    
});

Ошибка:

{ "errorMessage": "2018-06-08T17:55:38.344Z 23a4f9da-6b45-11e8-abe5-6119b1378dff Task timed out after 5.01 seconds"}

Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Как говорили другие, проблема может быть в VPC, но на ум приходит еще одна вещь.

Является ли этот таймаут тайм-аутом соединения с Redis или лямбда-тайм-аутом?Потому что соединения redis поддерживают занятость цикла nodejs.А лямбда по умолчанию ждет, когда все прояснится.

Если это так, попробуйте установить context.callbackWaitsForEmtpyEventLoop = false в обработчике функций.Или перед обратным вызовом прервите соединение redis.

0 голосов
/ 10 июня 2018

Сообщение об ошибке выглядит так, как будто lambda работает в подсети / vpc, у которой нет исходящего доступа к серверу redis.Попробуйте один из 2 вариантов, чтобы найти основную причину

1 - попробуйте запустить код с локального компьютера и проверьте, можете ли вы подключиться к серверу Redis.

2 - удалите настройку vpc в лямбдевыполнить лямбду за пределами vpc.

...