无法从 Spring Boot 应用程序连接到 ElastiCache Redis Serverless

问题描述 投票:0回答:1

我已在 AWS 上设置了一个 ElastiCache Redis Serverless 实例,其状态为“可用”。但是,我无法从我的 Spring Boot 应用程序建立到它的连接。尝试连接时,我遇到以下错误消息:

Unable to connect to seerbitbackend-9fekty.serverless.euw2.cache.amazonaws.com/<unresolved>:6379
  • 检查与 ElastiCache 实例关联的安全组,确保允许端口 6379 用于入站流量 (0.0.0.0/0)。
  • 已验证 VPC 设置,以确保不存在阻止连接到 Redis 实例的限制。
  • 尝试使用 Redis CLI 进行连接,但收到“操作超时”错误。

安全组配置:

入库规则: 类型:自定义 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 无服务器实例的连接问题?

谢谢你

amazon-web-services spring-boot elasticsearch redis
1个回答
0
投票

最近,我遇到了类似的问题。检查这两件事:

1. EC2 IAM 角色是否允许 AmazonElastiCacheFullAccess 策略?

根据 ElastiCache 文档,需要 AmazonElastiCacheFullAccess 策略才能使用 ElastiCache Serverless。 (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/set-up.html#elasticache-set-up-permissions)

2.为 Spring Boot Data Redis 启用 TLS

为了使用 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 已启用。

© www.soinside.com 2019 - 2024. All rights reserved.