我已经创建了AWS ElastiCache redis服务器并配置了EC2实例,但是以某种方式我无法通过EC2实例连接Redis。
我也分配了相同的安全组。
这是我的配置
我面临的错误是Redis::CannotConnectError: Error connecting to Redis on some-prod.dhgdjw.0001.usw2.cache.amazonaws.com:6379 (Redis::TimeoutError)
任何帮助将不胜感激。
正如您提到的相同的安全组,您不需要这样的设置。您的Redis SG应该与您建议的有所不同,只是您在本地VPC上需要它。
验证几件事...
转到您ElastiCache仪表板
选择Redis,然后单击集群,然后单击修改
然后,您将看到此群集附加安全组。您可以将一个或多个组附加到此群集。
单击编辑图标并确认是否允许从10.0.0.1/16
进行6379上的流量,如果实例和redis在同一VPC中,则不允许实例的公共IP。
并且您还可以允许您的公共IP检查它是否可以访问。安装redis-client并尝试使用此命令。
redis-cli -h some-prod.dhgdjw.0001.usw2.cache.amazonaws.com ping
PONG
如果乒乓球正常工作,SG将允许流量。