使用Redis的AWS Elastic Beanstalk EC2-无法连接- Django_Redis

6xfqseft  于 2023-06-05  发布在  Redis
关注(0)|答案(2)|浏览(488)

嗨,我正在尝试连接我的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进入服务器,但我不确定我会做什么,一旦我连接。
谢谢你的帮助

luaexgnf

luaexgnf1#

在设置安全组之后,我发现我需要更改安全组的入站设置以连接到我的ElastiCache Redis节点。
文档在这里找到。
https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/GettingStarted.AuthorizeAccess.html#GettingStarted.AuthorizeAccess.VPC

cuxqih21

cuxqih212#

在.ebextensions中添加redis.config

packages: 
  yum:
    gcc-c++: [] 
    make: []
sources:
  /home/ec2-user: http://download.redis.io/releases/redis-5.0.5.tar.gz
commands:
  redis_build:
    command: make
    cwd: /home/ec2-user/redis-5.0.5
  redis_config_001:
    command: sed -i -e "s/daemonize no/daemonize yes/" redis.conf
    cwd: /home/ec2-user/redis-5.0.5
  redis_config_002:
    command: sed -i -e "s/# maxmemory <bytes>/maxmemory 500MB/" redis.conf
    cwd: /home/ec2-user/redis-5.0.5
  redis_config_003:
    command: sed -i -e "s/# maxmemory-policy volatile-lru/maxmemory-policy allkeys-lru/" redis.conf
    cwd: /home/ec2-user/redis-5.0.5
  redis_server:
    command: src/redis-server redis.conf
    cwd: /home/ec2-user/redis-5.0.5

添加连接到本地主机

相关问题