我已在 AWS 上设置了一个 ElastiCache Redis Serverless 实例,其状态为“可用”。但是,我无法从我的 Spring Boot 应用程序建立到它的连接。尝试连接时,我遇到以下错误消息:
Unable to connect to seerbitbackend-9fekty.serverless.euw2.cache.amazonaws.com/<unresolved>:6379
安全组配置:
入库规则: 类型:自定义 TCP 规则 协议:TCP 端口范围:6379 来源:0.0.0.0/0(允许端口 6379 上的所有入站流量)
ElastiCache 实例部署在 eu-west-2 (EU-WEST-2) 区域。 Spring Boot 应用程序使用标准 Redis 客户端库进行连接 (spring-boot-starter-data-redis)。
可能导致此问题的原因是什么?我应该采取哪些进一步步骤来诊断和解决 ElastiCache Redis 无服务器实例的连接问题?
谢谢你
最近,我遇到了类似的问题。检查这两件事:
根据 ElastiCache 文档,需要 AmazonElastiCacheFullAccess 策略才能使用 ElastiCache Serverless。 (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/set-up.html#elasticache-set-up-permissions)
为了使用 ElastiCache Serverless,必须启用 TLS。因此,请在 Spring Boot 配置中将 spring.data.redis.ssl.enabled 选项设置为 true。(https://docs.spring.io/spring-boot/appendix/application-properties/index.html#application- property.data.spring.data.redis.ssl.enabled)
安装时构建对 TLS 的支持非常重要 redis-cli。仅当启用 TLS 时才能访问 ElastiCache Serverless 已启用。