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

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

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

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

766閲覧

EC2内で1度のLaravelでのエラー発生でslackの通知が2回送信されるのを防ぎたいです

rokuemon99

総合スコア40

Laravel

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Elastic Load Balancing

Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/02/06 08:12

編集2022/02/07 11:40

発生している現象

AWSのALBを使用して、EC2を1台,RDSを1台の構成でサーバーを構築しました。
ALBにはhttpsのみを許可、ALBからEC2はhttpで通信しています。
EC2にnginxをインストールしてその中にLaravelを配置しています。

そのLaravelにてエラー発生時にslackに通知を飛ばす処置を設定しています。
ローカル環境やレンタルサーバーでは1度のエラー発生で、1回slackに通知が届くようになっていたのですが、
上記のAWSの構成だと1度のエラーで同じ内容のslack通知が2回届いてしまいます。

考えたこと

nginxのアクセスログを確認したところ、
httpでヘルスチェックのアクセスが2つのipアドレスから定期的にされていました。
これはALBを作成時にAZを2つ設定したからだと思うのですが、
EC2インスタンスは1台だけどAZが2つに跨っていることで、
Laravelアプリケーションでの通知送信が2重になってしまっているのでしょうか?
またその場合なにか解決策はありますでしょうか?

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

追記

エラーとはPHPでの500エラーです。
Laravel内でPHPの500エラーをキャッチしてslackにその内容を直接送っています。
ログ監視ツールなどは使っていません。
Laravelのlogを確認したところ、そのログの中ではエラーは重複していませんでした。

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

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

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

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

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

yu_1985

2022/02/06 19:28

まず、どのような条件でエラー通知を発生させているのでしょうか。 エラー通知が二重になってしまっているのか、単に2回エラーが発生しているのかではわけが違います。
rokuemon99

2022/02/07 01:11 編集

PHPで500エラーが1度発生するとslackへ通知を1回送っています。 ローカル環境やレンタルサーバー環境(通常のLAMP構成)では1回のエラーで正常に通知が1回飛んでいるのを確認しました。 AWS環境でのみ同じエラーを発生させてみてもエラー通知が二重になっていまい困っています。
yu_1985

2022/02/07 01:31

エラー通知は何によって行われているのでしょうか。またその設定はどうなっていますでしょうか。 ログ監視ですかね? それであれば少なくとも複数のIPからアクセスがあることは関係ないでしょう。
rokuemon99

2022/02/07 11:31 編集

監視に関してはツールなどは使っておらず、Laravel内でphpのExceptionエラー発生をトリガーに直接slackに内容を送っています。 Laravelのエラーログ内でも500エラーの重複はしていないようでした。 >それであれば少なくとも複数のIPからアクセスがあることは関係ないでしょう。 ありがとうございます。引き続き自分で調査してみます。
guest

回答1

0

自己解決

自己解決しました。
環境変数の違いによってLaravelアプリケーション側に問題がありました。
ALB, Nginxとは無関係でした。
アドバイスありがとうございました。

投稿2022/02/08 07:12

rokuemon99

総合スコア40

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問