Saya menghubungkan aplikasi inti .NET ke AWS ElastiCache Redis.
AWS Elasticache Redis berjalan dan port 6329 terbuka pada grup keamanan. Kode klien menggunakan 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();
Pengecualian adalah:
Tidak dapat terhubung ke server redis. UnableToConnect di redis-1.xxx.0001.use1.cache.amazonaws.com:6379/Interactive, Initializing/NotStarted, terakhir: NONE, asal: BeginConnectAsync, luar biasa: 0, terakhir dibaca: 5 detik yang lalu, terakhir ditulis: 5 detik lalu, tetap hidup: 60 detik, status: Menghubungkan, mgr: 10 dari 10 tersedia, detak jantung terakhir: tidak pernah, global: 0 detik lalu, v: 2.0.601.3402
Ditambahkan ke ,abortConnect=false
ke titik akhir, saya dapat terhubung.
Sekarang kesalahannya ada di StringSet
StackExchange.Redis.RedisConnectionException: 'Tidak ada koneksi yang tersedia untuk melayani operasi ini: SET mykey; Tidak dapat terhubung ...
Kode .NET berfungsi baik dengan layanan Redis lokal saya, jadi sepertinya ada yang salah dengan pengaturan AWS saya.
Berhasil ssh
ke instans EC2 saya dan redis-cli ke layanan AWS redis saya:
Tolong ada ide?
CATATAN: AWS Elasticache Redis TIDAK tersedia untuk akses publik sebagai default.
redis-1.xxxx.0001.use1.cache.amazonaws.com:6379
tersedia untuk umum melalui grup keamanan (TCP\6379 untuk Semua IP)? - person beewest   schedule 14.03.2020