Проблема подключения Redis и django в GCP - PullRequest
0 голосов
/ 09 марта 2020

Я развернул экземпляр Redis с помощью GCP Memorystore. У меня также есть приложение django, развернутое с помощью App Engine. Тем не менее, я столкнулся с проблемами при подключении этих 2. Оба развернуты в одном часовом поясе. Я использую пакет django_redis. Когда я пытаюсь войти на страницу администратора, я сталкиваюсь с ошибкой соединения. Ошибка:

Exception Value: Error 110 connecting to <Redis instance IP>:6379. Connection timed out.
Exception Location: /env/lib/python3.7/site-packages/redis/connection.py in connect, line 557

В settings.py я использую:

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("<Redis instance IP>", 6379)],
        },
    },
}

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": 'redis://<Redis instance IP>/0',
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient"
        }
    }
}

Примечание: С локально установленным Redis и установленным на localhost все работает нормально.

1 Ответ

1 голос
/ 10 марта 2020

Чтобы подключиться к Memorystore, вам нужно настроить сеть VP C для вашего приложения и добавить это соединение в app.yaml в свойство vpc_access_connector. Это описано здесь в документации: Подключение к сети VP C

...