ฉันกำลังเชื่อมต่อแอปหลัก .NET กับ 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, การเริ่มต้น/NotStarted, สุดท้าย: NONE, ต้นกำเนิด: BeginConnectAsync, โดดเด่น: 0, อ่านล่าสุด: 5 วินาทีที่แล้ว, เขียนล่าสุด: 5 วินาที ที่แล้ว Keep-alive: 60s สถานะ: กำลังเชื่อมต่อ MGR: 10 จาก 10 พร้อมใช้งาน Last-heartbeat: ไม่เคย ทั่วโลก: 0s ที่แล้ว v: 2.0.601.3402
เพิ่มไปยัง ,abortConnect=false
ที่ปลายทาง ฉันสามารถเชื่อมต่อได้
ขณะนี้ข้อผิดพลาดอยู่ที่ StringSet
StackExchange.Redis.RedisConnectionException: 'ไม่มีการเชื่อมต่อที่พร้อมให้บริการการดำเนินการนี้: SET mykey; ไม่สามารถเชื่อมต่อ ...
โค้ด .NET ทำงานได้ดีกับบริการ Redis ในพื้นที่ของฉัน ดูเหมือนว่ามีบางอย่างไม่ถูกต้องกับการตั้งค่า AWS ของฉัน
สำเร็จ ssh
ไปยัง EC2-instance ของฉัน และ redis-cli ไปยังบริการ AWS redis ของฉัน:
กรุณามีความคิดใด ๆ ?
หมายเหตุ: AWS Elasticache Redis ไม่พร้อมใช้งานสำหรับการเข้าถึงแบบสาธารณะตามค่าเริ่มต้น
redis-1.xxxx.0001.use1.cache.amazonaws.com:6379
เป็นแบบสาธารณะผ่านกลุ่มความปลอดภัย (TCP\6379 สำหรับ IP ทั้งหมด) หรือไม่ - person beewest   schedule 14.03.2020