ALB が時々 502 を返す問題を防ぐには、アプリのキープアライブのタイムアウトを、ALB のアイドルタイムアウトより短くしておくのがよい。
正答
× 誤り
解説
ALB はターゲットとの接続を使い回す。アプリのキープアライブのタイムアウトが ALB のアイドルタイムアウトより短いと、アプリが先に接続を閉じ、ALB がちょうどその接続に送ったリクエストが失敗して 502 になる。ターゲットが RST や FIN で接続を閉じたことは、ALB の 502 の典型的な原因として公式のトラブルシューティングにも挙がっている。対策は逆で、アプリ側のキープアライブを ALB のアイドルタイムアウト(既定 60 秒)より長くする。毎回ではなく時々出る 502 は、アプリのログに何も残らないことが多く、コードの不具合を探す前にタイムアウトの設定の食い違いを疑う。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ