ロードバランサーの背後にある2つのGCEインスタンスを使用して簡単な設定を行いました。しかし、バランサーログでは、次のエラーでランダムな502応答を確認できます: "failed_to_connect_to_backend"
Alは、最後のヘルスチェックは200応答で問題ないと考え、nginxログを確認すると、リクエストがnginxへのバックエンドを通過できなかったことが示されています。
私は問題が何であるかを知ることができません、なぜバックエンドへの接続に失敗したのかを示す何らかのログがありますか?健康診断の問題ですか?ヘルスチェックログはありますか?
キープアライブタイムアウトを正しく設定しましたか?
A TCPセッションタイムアウト。値は10分(600秒)に固定されています。このセッションタイムアウトは、キープアライブまたはアイドルタイムアウトと呼ばれることもあり、バックエンドサービスを変更してその値を構成することはできません。キープアライブタイムアウトが600秒より長くなるようにバックエンドで使用されるWebサーバーソフトウェアを構成して、接続がバックエンドによって時期尚早に閉じられるのを防ぐ必要があります。
これは公式のGCPドキュメントに含まれています。 nginxの推奨設定:KeepAliveTimeout620。Apacheの推奨設定:keepalive_timeout 620s。
https://blog.percy.io/tuning-nginx-behind-google-cloud-platform-http-s-load-balancer-305982ddb34
https://cloud.google.com/compute/docs/load-balancing/http/
https://cloud.google.com/load-balancing/docs/https/#timeouts_and_retries