発生している現象
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を確認したところ、そのログの中ではエラーは重複していませんでした。

回答1件
あなたの回答
tips
プレビュー