Я подключаю приложение .NET core к AWS ElastiCache Redis.
AWS Elasticache Redis работает, и порт 6329 открыт для группы безопасности. В клиентском коде используется StackExchange.Redis
:
var redis = ConnectionMultiplexer.Connect("redis-1.xxxx.0001.use1.cache.amazonaws.com:6379");
//var redis = ConnectionMultiplexer.Connect("localhost"); //working
IDatabase db = redis.GetDatabase();
string value = "abcdefg";
db.StringSet("mykey", value);
string value2 = db.StringGet("mykey");
Console.WriteLine(value2); // writes: "abcdefg"
Console.ReadLine();
Исключение составляет:
Не удалось подключиться к серверам Redis. UnableToConnect на redis-1.xxx.0001.use1.cache.amazonaws.com:6379/Interactive, Initializing / NotStarted, last: NONE, origin: BeginConnectAsync, выдающийся: 0, последнее чтение: 5 секунд назад, последняя запись: 5 секунд назад, keep-alive: 60s, состояние: Connecting, mgr: 10 из 10 доступных, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402
Добавлен в ,abortConnect=false
к конечной точке, я могу подключиться.
Теперь ошибка на StringSet
StackExchange.Redis.RedisConnectionException: 'Нет подключения для обслуживания этой операции: SET mykey; Невозможно подключиться ...
Код .NET отлично работает с моей локальной службой Redis, поэтому похоже, что что-то не так с моей настройкой AWS.
Успешно ssh
в мой экземпляр EC2 и redis-cli в мою службу Redis AWS:
Есть идеи, пожалуйста?
ПРИМЕЧАНИЕ. AWS Elasticache Redis по умолчанию НЕ доступен для общего доступа.
redis-1.xxxx.0001.use1.cache.amazonaws.com:6379
общедоступен через группу безопасности (TCP \ 6379 для всех IP-адресов)? - person beewest   schedule 14.03.2020