Main point: use an Application Load Balancer (ALB) with CloudFront rather than using ALB alone.

Reduced Latency

CloudFront delivers content from edge locations closer to users and uses the AWS backbone network from the edge to the ALB.

ALB without CloudFront: load time ≈ 750ms

ALB without CloudFront latency

ALB with CloudFront: load time ≈ 440ms

ALB with CloudFront latency

Connection Optimization

CloudFront supports TLS 1.3.

TLS 1.3

CloudFront maintains persistent connections to the ALB, which minimizes the overhead of establishing new TCP connections for each request.

ALB without CloudFront:

ALB without CloudFront connection

ALB with CloudFront reduces the initial connection: 278.8ms → 17.5ms

ALB with CloudFront connection