2017-12-07 6 views
1

EC2インスタンスにインストールされているLaravelアプリケーションからElastiCache Redisに接続しているか、EC2インスタンスのredis-cliを使用していても問題があります。AWS ElastiCache Redisがredis-cliのLaravel nadから接続できません

Laravel

私は私だけ'client' => 'phpredis'を変更すると同じ構成でphpRedis拡張子を試してみました

'redis' => [ 
    'client' => 'predis', 
    'default' => [ 
     'host' => env('REDIS_HOST', '127.0.0.1'), 
     'password' => env('REDIS_PASSWORD', null), 
     'port' => env('REDIS_PORT', 6379), 
     'database' => 0, 
     'read_write_timeout' => -1, 
     'timeout' => 0 
    ], 
], 

ようdatabase.phpでに構成でpredisを使用しようとしたと 'Error while reading line from the server. [tcp:server here]'

を得ましたエラーが発生しましたread error on connection {"exception":"[object] (RedisException(code: 0): read error on connection at vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:69)

Redisのは、CLI

使用Redisのはredis-cli -h host_here -p 6379 -a password_hereは、私がhost:6379>のようなプロンプトが表示されるが、任意のコマンドを入力するとスローエラーError: Connection reset by peer

ElastiCache Redisの構成マイEC2と弾性キャッシュにある

enter image description here

を参照してくださいcliを同じVPCとtelnetを使って私はredisインスタンスに接続することができます

~$ telnet host 6379 
Trying 172.31.23.113... 
Connected to host. 
Escape character is '^]'. 

ありがとうございました!

+0

hm、私はAUTHなしで新しいredisインスタンスを作成したときに作業を開始しました。しかし、問題はまだあります。なぜ、AUTHでredisが動作しないのですか? –

+0

この文書を一度確認できますか?https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/auth.html? –

答えて

1

私はこれがかなり古くなっていることは知っていますが、私は同じ問題を自分で持っていました。この問題が発生した場合は、herehereの解決策を参照してください。

AWS ElasticacheでEncryption in-transitを有効にすると、TLS接続をサポートしていないため、redis-cliを使用できなくなるようです。別のクライアントに切り替えるとうまくいくはずです。このanswerには、TLS対応クライアントのリストがあります。

編集:

いくつかは、より多くの掘りDIDとstunnelを使用すると、あなたはRedisの-CLI SSLでの接続をラップすることを見出しました。 Hereはそれを行うためのガイドです。

関連する問題