web-dev-qa-db-ja.com

AWS Application Load Balancer重複リクエスト

アプリケーションロードバランサーを使用して複数のEC2インスタンスに送信された重複リクエストを経験した人はいますか?

ALBが率いるEC2のAPIがあり、最近、一部のリクエストが複数のインスタンスに送信されており、支払いなどの特定のアクションが複数回発生しているため問題が発生していることがわかりました。

APIは.netコアを中心に構築されていますが、これは重要だとは思わないでください。この問題は最近始まったもので、常に発生しているわけではありません。

誰かがこのようなものを見たことがありますか? 2011/2012年頃からいくつかの古い問題を見てきましたが、最近の問題はありません。

3
AliK

ALBアクセスログを有効にし(S3に配信されます)、それらを分析します。

多くの場合、それは実際にはクライアントが複数回リクエストを送信していることに気付かないでしょう-ユーザーの操作(例:ユーザーが支払い処理を待っている間にページをリロードする)またはクライアント側のアプリによって引き起こされた(JSがタイムアウトを待ってタイムアウトする)応答し、リクエストを再送信します)。ログからわかります。

それが役に立てば幸い:)

5
MLu

また、ALBではなく従来のELBでも同じことが確認されています。ときどき(トラフィックの多い環境では1日に数十回)2つのインスタンスがまったく同じリクエストを受信し、それらのインスタンスの1つのみがELBアクセスログにあるという証拠があります。

また、私たちのログによると、これは少なくとも3か月間(そしておそらく永久に)発生していますが、7月中旬以降悪化している可能性があります。