Fargate のコンテナから AWS Redis に接続する方法が知りたい

0

private subnetに配置した Fargate の PHP コンテナから、predis を使用して、同じprivate subnet に配置した AWS Redis に接続したいのですが、下記のエラーが発生しており、接続できません。

Fatal error: Uncaught Predis\Connection\ConnectionException: Error while reading line from the server.

Redisはサーバレスで起動し、エンジンバージョンは、7.1です。 ユーザーグループによるパスワードを設定しています。

セキュリティーグループでは、Redis のSGとFargateのSGでぞれぞれ下記を許可しています。

・Redis SG

インバウンドルール
・TCP 6379 ソース->FargateのSG
・TCP 6380 ソース->FargateのSG
・Fargate SG

アウトバウンドルール
・TCP 6379 ソース->RedisのSG
・TCP 6380 ソース->RedisのSG

predisの接続処理は下記です。 環境変数で接続情報を設定しています。

$client = new Client([
            'scheme' => 'tcp',
            'host' => $_ENV['REDIS_HOST'],
            'port' => $_ENV['REDIS_PORT'],
            'password' => $_ENV["REDIS_PASSWORD"],
        ]);

何かヒントになるアドバイスがいただけましたら幸いです。

已提問 1 個月前檢視次數 213 次
1 個回答
0
已接受的答案

コード自体はコンテナでなくローカルの開発環境などでは問題無く動作する認識で合っていますか?

エラーメッセージで調べると接続のパラメータの"read_write_timeout"を"-1"にすると解決するみたいな情報がいくつか見つかりました。
https://stackoverflow.com/questions/11776029/predis-is-giving-error-while-reading-line-from-server
https://github.com/predis/predis/wiki/Connection-Parameters

profile picture
專家
已回答 1 個月前
  • ご回答いただきありがとうございます。Redisついて理解不足なのですが、サーバレスで起動していたインスタンスを今回は大きなデータは扱わないという前提のもと、Demoで提供されているインスタンスで作成しなおしたところ、接続に成功しました。ありがとうございました。

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南