Is there a way to avoid TCP timeouts when hosting a web application on AWS with a fixed global IP for a large number of users?

0

When using ALB, the global IP is not fixed, so to maintain a fixed IP, we are considering configurations such as NLB+ALB or GA+ALB.

The web application to be published is a static web page accessed by a large number of unspecified users.

When a client accesses the site through a browser, one TCP connection is created between the client and ALB, and a second TCP connection is established between ALB and the backend web server.

At this point, NLB and GA have the following TCP timeout values, and the shortest timeout on the communication path will apply:

NLB: We set the idle timeout value for TCP flows to 350 seconds https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout

GA: The timeout is 340 seconds for TCP connections. https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html

To avoid TCP timeouts, some communication must occur within the specified seconds, and the common approach is to use the TCP keep-alive mechanism.

However, it is my understanding that TCP keep-alive is not issued by ALB. If it were to be issued, it would be on the client side, but clients are numerous and general browsers do not issue TCP keep-alive.

As a result, NLB or GA may experience TCP timeouts, leading to error displays in some browsers.

Is there a way to avoid this, or is it challenging to host a web application with a fixed IP on AWS for a large number of users without TCP connection errors?

keen149
asked 6 months ago47 views
No Answers

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions