Search code examples
amazon-web-servicesamazon-elbaws-application-load-balancer

How does NLB -> ALB actually work ? ALB allows only HTTP, HTTPS, WebSockets and NLB supports only TCP, TLS, UDP


If we need static IP address in AWS for Load balancer then we have to go for Network Loadbalancer forwarding requests to Application Loadbalancer.

Now since ALB only supports HTTP and HTTPS protocols And NLB only supports TCP protocol

How does this communication actually work?

The client like browser will send the request in HTTP or HTTPS. How does this communication happens ?


Solution

  • HTTP/HTTPS runs on top of TCP. If you check Open Systems Interconnection model, HTTP/HTTPS are at the top application layer, whereas TCP is at transport layer.

    ALB supports only application layer (HTTP/HTTPS in that case), while NLB works on transport layer (TCP/UDP). Thus NLB can load balance anything above TCP as well. This include HTTP, SSH, FTP and so on.

    There is no protocol conversion between TCP and HTTP, as they work on different layers. So everything happens transparently.