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¶
- sources/2026-09-30-aws-running-multi-day-az-evacuation-drills-with-arc-zonal-shift
— ALB as the north-south ingress a zonal shift evacuates. Documents DNS
removal + cross-zone blocking, the single-AZ-target-group refusal, and the
deregistration-delay (60s) /
minimum_healthy_targets.count/ ECS-stopTimeout(55s) tuning that makes the drain clean during a multi-day AZ evacuation drill (AWS Architecture Blog, 2026-09-30). - sources/2026-09-01-aws-mcp-went-stateless-is-your-aws-mcp-server-deployment-well-architected — ALB stickiness as the canonical infrastructure a session-based protocol forces you to configure; removable once the protocol is stateless.
Related¶
- systems/amazon-application-recovery-controller — the service that shifts traffic away from an AZ at the ALB layer.
- systems/aws-nlb — the Layer-4 sibling; also a zonal-shift target.
- concepts/static-stability — N-1 pre-scaling behind the targets a shift isolates.
- session-affinity — the property stickiness implements
- concepts/stateless-compute — what makes stickiness removable
- delete-session-infrastructure — the cleanup this is part of
- systems/aws-lambda — the consumption-based alternative with no stickiness at all