質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

448閲覧

AWS ElastiCahe redisでログインはできるが、数分後に502エラーが出る

kubotan

総合スコア39

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/04/21 20:38

編集2021/04/22 03:58

AWS初心者です。

現在AWSのElastic Beanstalkを使用して、Laravelアプリケーションのデプロイを行っています。

今できているのは、
EC2とRDS、ロードバランサー、Route53でLaravelが動くところまでできました。

次にセッションやキャッシュの管理にElastiCacheのredisを使おうと、作成してとりあえず接続できるところまで行けているのですが、実際にログインなどを行うと、ログイン自体はできますが、数分経つと502エラーが出てしまいます。
ログインなどをしなければ正常に動いているので、おそらくredisかロードバランサー当たりに問題があるのかな?と思っています。

何をどうすればいいか全くわからなく困っています。
質問が分かりづらくて本当に申し訳ないですが、助けていただけたらありがたいです。

他に必要な情報があれば教えてください。

よろしくお願い致します。

追記:
関係ないかもしれませんが、redis-cliで見ていると、Redisのkeyの数が3つを超えた時に502エラーが出ているような気がします。

参考になるかわかりませんが、"/var/log/nginx/error.log"にあったerrorです。

[error] 3214#0: *4449 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: ip, server: , request: "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "ip"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AbeTakashi

2021/04/21 21:59 編集

502のエラーが出ているならどこかにログが出ていると思うのですが、そのログの内容はどうなっていますか? 見ても分からないなら質問文にログの内容を追記してください。
kubotan

2021/04/22 03:59

ありがとうございます! 関係のあるエラーログかわからないんですが、追記させていただきました!
AbeTakashi

2021/04/22 04:07

追記ありがとうございます。PHP UNITのスクリプトのログのようですが、関係あるかなぁ? あまり見たことないエラーなのでなんともです。 502をLaravel側で返しているとすれば、Laravel側(プロジェクトファイルのstorage/log以下)にログが残っていると思うのですが、そちらのログはいかがでしょうか? サーバ内で502を返しているのであれば、502のログがほぼ間違いなくどこかにはあるはずなので、ちょっと探してみてください。 502のログがサーバ内に存在しないのであればロードバランサーのエラーで返してる可能性もありますね。その場合はAWSのロードバランサーの状態を確認してみてください。たとえばヘルスチェックが失敗してるとかあるかもしれません。
kubotan

2021/04/22 04:46

ヘルスチェックの状態が「重大」になっているので失敗してそうです。。 ロードバランサーでエラーが出てそうですかね? storage/log/laravel.logやその他ログ探してみましたが、それらしいものが見当たらないです><
AbeTakashi

2021/04/22 08:46

あー、ログが見当たらないのであればロードバランサが怪しいかもですね。 ロードバランサーのヘルスチェックですが、設定にもよりますがおそらく単純にhttpリクエストを出して200が返ってくるかだけです。 https://sys-guard.com/post-11757/ を参考にしてhealtyになるように修正してみたらどうでしょう。ロードバランサのリクエストを受け付けるためにnginxとかの設定が必要になるかもしれませんが。中身が空っぽのindex.htmlでも200返せば問題ないはずです。
kubotan

2021/04/22 14:50

なおりました!本当にロードバランサーのせいでした> < httpsへのリダイレクトが原因で「重大」なってて、redisを使った時にオートスケールされて変なことが起きてたっぽいです、、笑 ヘルスチェックってこんなに重要だったんですね。 本当に勉強にもなり助かりました! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問