.NET 6应用无法连接AWS ElastiCache Redis集群求助
排查.NET连接AWS Redis集群失败的问题
代码配置排查
- 连接字符串参数缺失:AWS ElastiCache Redis默认启用SSL加密传输,你当前的连接字符串仅指定地址和端口
*******.cache.amazonaws.com:6379,缺少SSL配置,且默认加密端口为6380而非6379。正确的连接字符串需包含ssl=true,示例:options.Configuration = "*******.cache.amazonaws.com:6380,ssl=true"; - 集群模式适配:若你的Redis实例启用了集群模式(Cluster Mode Enabled),需在连接字符串中添加
cluster=true参数,否则StackExchangeRedis无法正确识别集群拓扑。 - 认证信息补充:如果Redis实例设置了访问密码,连接字符串需追加
password=你的密码参数。
AWS端配置排查
- 安全组规则检查:确认Redis实例的安全组入站规则,是否允许.NET应用所在服务器的IP地址或安全组访问Redis的对应端口(6379/6380)。若应用在VPC外,需确认Redis实例是否开启了公有可访问(仅建议测试环境使用)。
- VPC网络连通性:如果应用与Redis实例不在同一VPC内,需确保两者间有网络连通性,比如通过VPC对等连接、VPN或AWS Direct Connect。
- Redis实例状态:在AWS控制台的ElastiCache页面查看Redis集群实例是否处于正常运行状态。
额外验证步骤
可使用redis-cli工具测试连接,验证网络和配置是否正常:
# 带SSL的测试命令 redis-cli -h *******.cache.amazonaws.com -p 6380 --ssl # 若有密码,添加-a参数 redis-cli -h *******.cache.amazonaws.com -p 6380 --ssl -a 你的密码
内容的提问来源于stack exchange,提问作者Ardavazt
相关产品推荐
相关产品推荐

