AWS Elastic Beanstalk EC2 与 Redis - 无法连接 - Django_Redis

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk EC2 与 Redis - 无法连接 - Django_Redis【英文标题】:AWS Elastic Beanstalk EC2 With Redis - Cannot Connect - Django_Redis 【发布时间】:2018-09-07 15:29:47 【问题描述】:

您好,我正在尝试连接我的 Django 应用程序以使用 Redis ElastiCache,但无法使用 AWS 连接它。该应用程序使用 Elastic Beanstalk 发布到 EC2 实例,并且当我不尝试连接到我的 Redis 缓存时它运行完美。

从这里的帖子 (Setting up ElastiCache Redis with Elastic BeanStalk + Django) 我创建了 ElastiCache 以不使用集群,并且我已将 EC2 实例和 Redis 缓存设置为使用相同的安全组。

这是我的缓存在 settings.py 中的配置方式。

CACHES = 
'default': 
    'BACKEND': 'django_redis.cache.RedisCache',
    'LOCATION': 'redis://my-cache.kjshd.0001.use2.cache.amazonaws.com:6379/',
    'OPTIONS': 
        'CLIENT_CLASS': 'django_redis.client.DefaultClient'
    
  

我错过了什么?我的缓存或 AWS 中的某处是否需要更改其他设置才能打开通信?这个配置看起来好吗?我以前在 Azure 中使用 Redis,并且此配置有效,但现在需要迁移到 AWS。有没有办法测试我的 EC2 实例是否可以连接到 Redis?我可以通过 SSH 连接到服务器,但我不确定连接后我会做什么。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

设置安全组后,我发现需要更改安全组的入站设置才能连接到我的 ElastiCache Redis 节点。

在此处找到文档。

https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/GettingStarted.AuthorizeAccess.html#GettingStarted.AuthorizeAccess.VPC

【讨论】:

以上是关于AWS Elastic Beanstalk EC2 与 Redis - 无法连接 - Django_Redis的主要内容,如果未能解决你的问题,请参考以下文章

将亚马逊 AWS Elastic Beanstalk 指向现有的 EC2

在一个 AWS EC2 实例上运行多个环境 (Elastic Beanstalk)

AWS EC2 / Elastic Beanstalk |如何按域列入白名单?

从 Elastic Beanstalk 连接到托管在 AWS ec2 上的 MongoDB

使用 Elastic Beanstalk 创建时的 AWS EC2 .pem 证书

使用 AWS Elastic Beanstalk 将多个应用程序部署到单个 EC2 实例