For Classic Load Balancer, TCP keep-alives will not keep the connection alive. HTTP payload is required for the connection to be alive for Classic Load Balancers.
With Network Load Balancer, the TCP keep-alives can prevent the connection from reaching the idle timeout. However, the keep-alives must be enabled in both directions. If the server sends a keep-alive message, the client has to respond with a keep-alive acknowledgment. If the clients are unresponsive to keep-alives from the server, the idle timeout of 350 seconds will be reached. If either endpoint (client or server) sends traffic to the idle connection, Network load Balancer will generate a reset.
The HTTP payload will also keep the connection alive in case of NLB however you will have to make sure that it is being sent before hitting the 350sec timeout.
Increasing the idle timeout in Load Balancer is not being reflectedasked 4 months ago
Is it possible to assign an existing Network Load Balancer to an AWS EKS resource via annotations?Accepted Answerasked 2 years ago
Updating the Elastic IP address of a Network Load Balancerasked 2 years ago
AWS Load Balancer Controller deployment to force creation of application Load Balancer?asked 5 months ago
Load balancer page in AWS console doesn't loadAccepted Answerasked 6 months ago
Unidirectional TCP keep-alive for Classic Load Balancer and Network Load BalancerAccepted Answerasked 2 years ago
Autoscale Classic Load Balancer on TCP connections - client holding connection till it terminatesasked 10 months ago
What is the main differences between an load balancer and a autoscaling groupAccepted Answerasked a month ago
Obtain client IP address through a network load balancer (TCP socket server, Python)asked 3 months ago
Options for WAF with a Classic Load Balancerasked 3 years ago