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ヶ月前217ビュー
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で提供されているインスタンスで作成しなおしたところ、接続に成功しました。ありがとうございました。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ