Skip to content

SYSTEM Cited by 2 sources

AWS Application Load Balancer (ALB)

Definition

AWS Application Load Balancer (ALB) is the Layer-7 load balancer in AWS Elastic Load Balancing. It routes HTTP/HTTPS requests to targets (EC2, ECS, Lambda, IPs) using content-based rules (path, host, headers) and supports session stickiness, which pins a client's requests to the same target for the duration of a session.

Stickiness as the tax of a stateful protocol

In the MCP stateless discussion, ALB stickiness is the canonical example of infrastructure a session-based protocol forces you to configure: because a session lived on whichever instance issued it, you had to pin clients with sticky routing (or externalize state to a shared store) to run more than one instance (Source: sources/2026-09-01-aws-mcp-went-stateless-is-your-aws-mcp-server-deployment-well-architected).

Sticky routing has a cost beyond configuration: it distributes load unevenly, because a heavy session stays welded to one target regardless of fleet balance — so it "costs capacity too," and the waste scales with fleet size.

After statelessness

With a stateless protocol, any instance can serve any request, so the recommendation is to delete the stickiness configuration and use plain round-robin — part of the broader delete-session-infrastructure cleanup. Removing stickiness also lets the fleet run closer to real utilization instead of padding for the instances that held long-lived affinity.

Keep stickiness only while still serving legacy (pre-2026-07-28) clients on the backward-compatible lane; remove it after old-client traffic reaches zero.

Zonal shift target (AZ evacuation)

An ALB is a native target for ARC Zonal Shift. When you shift away from an AZ, ARC (1) removes the ALB's IP in that AZ from DNS and (2) instructs LB nodes in the healthy AZs to stop routing to targets in the shifted AZ even when cross-zone load balancing is enabled (the ALB default) — so targets are fully isolated regardless of cross-zone config. Zonal shift must first be enabled on the LB (zonal_shift.config.enabled=true, off by default) and the ALB refuses a shift for a single-AZ target group — healthy targets must exist in ≥2 AZs.

For a clean drain during a shift, the AZ-evacuation playbook tunes two ALB knobs: deregistration delay 60s (vs default 300s) so connections drain quickly, and target_group_health.dns_failover.minimum_healthy_targets.count per target group so Route 53 only sends traffic to an AZ once it has enough healthy targets (important on restore, and when cross-zone LB is disabled). Pair with ECS stopTimeout: 55s (just below the 60s dereg delay) so tasks finish in-flight requests before force-stop, avoiding 502s in the drain window. (Source: sources/2026-09-30-aws-running-multi-day-az-evacuation-drills-with-arc-zonal-shift)

Seen in

Last updated · 766 distilled / 2,225 read