laravel:连接aws elasticcache redis超时

xxslljrj  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(668)

我正在做一个laravel应用程序。我使用redis,我使用aws弹性缓存服务。我正在尝试从我的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来添加以下入站规则。

安全组也在同一个专有网络中,如屏幕截图所示:

q43xntqr

q43xntqr1#

这听起来像是导致超时的安全组问题。
elasticache群集始终是私有的,因此如果您使用的是公共ip地址,则需要将其更新为示例/子网/vpc的私有ip地址范围。
elasticache集群是vpc中的一个资源,因此需要允许网络传输才能访问集群。
有关更多信息,请参阅访问群集页面。
附加配置
这就是问题所在。我还需要删除现有的redis示例,并在没有启用auth令牌的情况下创建另一个redis示例。

相关问题