Laravel:连接 AWS Elasticache Redis 超时

Laravel: connecting the AWS ElasticCache Redis is timing out

我正在开发 Laravel 应用程序。我使用 Redis 并为此使用 AWS ElasticCache 服务。我正在尝试从我的 Laravel 应用程序连接到 Redis。但它正在超时。这就是我所做的。

我通过运行以下命令安装了 Predis 库。

composer require predis/predis

然后我在 ElastiCache 服务控制台中创建了一个 Redis 实例,启用 AUTH 设置我的密码令牌。

然后我在 .env 文件中设置变量。

CACHE_DRIVER=redis
REDIS_CLIENT=predis
REDIS_HOST=master.laravelredistest.8sm3xo.euw1.cache.amazonaws.com
REDIS_PASSWORD=mypassword
REDIS_PORT=6379

当我运行连接Redis的代码时,出现如下错误。

Operation timed out [tcp://master.laravelredistest.8sm3xo.euw1.cache.amazonaws.com:6379]

我的配置缺少什么,我该如何修复?

我还更新了Redis的安全组,在入站规则中允许EC2实例的安全组如下:

这次我收到这个错误:

我编辑了 Redis 的 SG 也添加了以下入站规则。

如您在屏幕截图中所见,安全组也在同一 VPC 中:

这听起来像是导致超时的安全组问题。

Elasticache 集群始终是私有的,因此如果您使用的是 public IP 地址,则需要将其更新为您的 instance/subnet/VPC.[=12= 的私有 IP 地址范围]

Elasticache 集群是您 VPC 中的一种资源,因此需要允许网络传输才能访问集群。

Accessing Your Cluster 页面中提供了更多信息。

Additional Configuration

这就是问题所在。我还需要删除现有的 Redis 实例并创建另一个没有启用 AUTH 令牌的实例。