Laravel: время ожидания подключения AWS ElasticCache Redis истекает - PullRequest
1 голос
/ 12 июля 2020

Я работаю над приложением Laravel. Я использую Redis и для этого использую службу AWS ElasticCache. Я пытаюсь подключиться к Redis из своего приложения Laravel. Но время истекает. Это то, что я сделал.

Я установил библиотеку Predis, выполнив следующую команду.

composer require predis/predis

Затем я создал экземпляр Redis в сервисной консоли ElastiCache, позволяющий 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 во входящих правилах следующим образом:

enter image description here

I am getting this error this time:

enter image description here

I edited the SG of Redis to add the following inbound rule too.

enter image description here

The security groups are in the same VPC too as you can see in the screenshot:

введите описание изображения здесь

1 Ответ

1 голос
/ 12 июля 2020

Звучит как проблема группы безопасности, вызывающая тайм-аут.

Кластеры Elasticache всегда являются частными, поэтому, если вы используете IP-адрес publi c, его необходимо обновить, чтобы он стал частным IP-адресом. диапазон адресов вашего экземпляра / подсети / VP C.

Кластер Elasticache - это ресурс в вашем VP C, поэтому для доступности кластера необходимо разрешить сетевой транзит.

Дополнительная информация доступна на странице Доступ к вашему кластеру .

Дополнительная конфигурация

Это проблема. Мне также нужно было удалить существующий экземпляр Redis и создать еще один без включенного токена AUTH.

...