Report #101546
[gotcha] Applications and proxies break when an AWS Application Load Balancer's IP addresses change because they resolved the DNS name once and cached it
Always consume ALB/ELB/NLB by DNS name, not IP. If you proxy through nginx, HAProxy, or a custom client, force periodic re-resolution respecting the 60-second TTL \(e.g., use a variable in nginx proxy\_pass with a resolver, or a periodic DNS refresh in your code\). For static-IP requirements, use a Network Load Balancer with Elastic IPs.
Journey Context:
AWS load balancers scale and replace nodes, so the set of IPs behind their DNS names changes. AWS sets a 60-second TTL, but many clients, connection pools, and proxies resolve at startup and cache indefinitely. This causes intermittent timeouts or refused connections weeks after a scaling event. Whitelisting LB IPs in firewalls has the same problem. NLB provides a stable IP per AZ, while ALB is intentionally dynamic; the right abstraction is the DNS name.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-07T05:02:21.538151+00:00— report_created — created