Choose what to delegate, what to keep and how to change ingress without betting production on the cutover.

Your next ECS service is ready, but its ingress changes are still waiting for the platform team. Automating that queue sounds attractive; rebuilding a working shared ALB does not. ECS Gateway vs ALB is really an ownership decision, not a choice between two competing traffic paths. Start with the controls your applications need, compare infrastructure spend separately from engineering effort, and choose a migration that leaves the existing route available until the replacement has earned your trust.

ECS Gateway vs ALB is an ownership decision, not a choice between two traffic-processing services. Launched on 20 October 2026, ECS Gateway provisions Application Load Balancers inside your AWS account. It manages ALB-based ingress; it does not replace ALB with another data plane.
The AWS launch announcement describes platform-defined networking standards and application-team connectors. The platform team defines the boundaries; application teams connect services within them. That changes who handles service onboarding, not where application traffic flows.
Do not confuse it with Amazon API Gateway, an API front door, or Gateway Load Balancer, which distributes traffic through network appliances.
Team-managed ECS ingress: your team provisions and operates the ALB and its service routing.
client → team-managed ALB → service target group → private ECS tasks
Gateway-managed ECS ingress: Gateway takes the ALB management role. Its management relationship sits above the traffic path, not inside it.
Management relationship: ECS Gateway manages the ALB below.
Traffic path:
client → gateway-managed ALB → service target group → private ECS tasks
For a Fargate load balancer, the important question remains operational: who approves exposure, changes routing and owns failed health checks? Across multiple services, unclear ownership becomes an on-call problem.
Treat ingress as part of platform architecture and cloud engineering, not merely a resource attached to an ECS service. Use three tests: Control, Cost, Exit.
Delegate the repetitive work, not the decisions that define your platform.
Share this quote
A working shared ALB is a baseline to beat, not technical debt by definition.
Share this quote

Cost model: 20 October 2026. Region: London (eu-west-2); USD; 730 hours; two Availability Zones; internet-facing IPv4; prices before VAT. For ECS Gateway vs ALB, price the topology before claiming engineering savings.
AWS states that Gateway has no additional charge and shares up to 25 services per ALB. Amazon ECS Gateway pricing still includes the underlying load balancers and their usage.
Each cell below shows ALB count / monthly public IPv4 charge. The existing shared ALB has sufficient quotas; the gateway-managed pool is fully packed.
| Services | Dedicated ALBs | Existing shared ALB | Gateway-managed pool |
|---|---|---|---|
| 5 | 5 / $36.50 | 1 / $7.30 | 1 / $7.30 |
| 20 | 20 / $146.00 | 1 / $7.30 | 1 / $7.30 |
| 50 | 50 / $365.00 | 1 / $7.30 | 2 / $14.60 |
Assume two public addresses per ALB. At $0.005 per address-hour, that is $7.30 per ALB-month. This is an address-count assumption, not a fixed ALB address ceiling.
Define B as the London ALB-hour rate and L as the London LCU-hour rate.
Infrastructure subtotal =
730 × ALB count × B
+ L × total billed LCU-hours
+ public IPv4 charges
LCU billing takes the highest usage dimension per ALB, calculated hourly. Equal service counts do not establish equal usage costs. The shared ALB column shows its full footprint, not an incremental onboarding charge.
Hypothetical engineering ledger: two onboardings monthly × one hour saved × £100/hour = £200 monthly. Sixteen ECS Gateway migration hours cost £1,600: eight months’ labour-only payback. Keep this GBP ledger separate from USD infrastructure costs; Understanding Cloud Cost Dynamics explains why workload assumptions matter.

Pick one existing ECS service using rolling updates, with known health checks and an unchanged shared ALB route. Avoid a new VPC: that tests provisioning, not ECS ingress. Keep production DNS, listeners and target groups untouched.
The commands below adapt AWS’s documented Gateway creation example; they are not independently executed test results. Set the values for your pilot environment, then check your identity and CLI version.
export AWS_REGION=eu-west-2
export AWS_DEFAULT_REGION="$AWS_REGION"
export CLUSTER=your-existing-cluster
export SERVICE=your-existing-service
export ROLE_ARN=arn:aws:iam::123456789012:role/ecs-gateway-infrastructure
export SUBNET_A=subnet-REPLACE_A
export SUBNET_B=subnet-REPLACE_B
export OLD_TG_ARN=arn:aws:elasticloadbalancing:eu-west-2:123456789012:targetgroup/existing/0123456789abcdef
aws sts get-caller-identity
aws --version
get-caller-identity establishes the account and principal receiving these changes. The version output identifies the CLI installation; if it lacks Gateway commands, update it before changing infrastructure.
Capture the read-only baseline first. Save both outputs with the pilot record.
aws ecs describe-services --cluster "$CLUSTER" --services "$SERVICE"
aws elbv2 describe-target-health --target-group-arn "$OLD_TG_ARN"
The service description establishes deployment strategy, task definition, desired and running counts, and existing load-balancer attachments. Target health establishes which registered targets currently pass ALB checks, including failure reasons. Neither proves the complete application path works; retain an HTTP smoke check too.
The infrastructure role lets ECS Gateway provision and manage supporting ingress resources on your behalf. Configure its trust and permissions using AWS’s requirements, separately from task and execution roles.
aws ecs create-gateway \
--region "$AWS_REGION" \
--name ingress-pilot \
--infrastructure-role-arn "$ROLE_ARN" \
--configuration "{\"HostSharedAlb\":{\"networkConfiguration\":{\"subnets\":[\"$SUBNET_A\",\"$SUBNET_B\"],\"ipAddressType\":\"ipv4\"},\"scheme\":\"internet-facing\"}}"
aws ecs associate-gateway-with-cluster \
--region "$AWS_REGION" \
--gateway ingress-pilot \
--cluster "$CLUSTER"
Use suitable existing public subnets for this internet-facing example. Gateway creation provisions additional infrastructure; it is not a free configuration preview. Cluster association alone does not replace the service’s existing ingress.
Keep IAM, networking and service configuration in separate changes. An access-denied error should not arrive alongside a routing change and a new task revision. That separation makes an ECS Gateway migration pilot diagnosable.

Preserve the working path. Retain the old ECS service load-balancer configuration, security-group access and listener rules while adding the connector. AWS documents incremental adoption with both ingress paths available. Keep the shared ALB operational throughout this ECS Gateway migration.
Validate independently. Test HTTPS against the generated service endpoint. Inspect existing ALB target health and check CloudWatch errors, latency and application logs for both paths.
curl --fail --silent --show-error "https://$GATEWAY_HOST/health"
aws elbv2 describe-target-health --target-group-arn "$TARGET_GROUP_ARN"
Exercise login redirects, cookies, uploads, long-running connections and WAF responses. A healthy target alone proves little about user journeys.
Define the cutover boundary. The existing client or upstream must be able to select either validated endpoint. A CNAME change does not prove the production hostname’s certificate or host-routing rule works. If that hostname is mandatory, retain the old ALB unless both routes demonstrably accept it with correct TLS and routing.
Shift traffic in measured stages. For an endpoint-aware upstream, try 1%, 10%, 50%, then 100%. This is an example upstream policy, not a Gateway feature. Illustrative, service-specific gates at each stage: no new synthetic failures, no sustained 5xx increase above 0.5 percentage points, and p95 latency within 10% of baseline for 15 minutes. Pause or roll back on failure; this is not a zero-downtime guarantee.
Expect application-level surprises. Hypothetical failure: /health succeeds, but authentication redirects still point to the previous hostname. Login loops expose a failure the health probe missed. Stop promotion rather than treating green infrastructure checks as acceptance.
Roll traffic back first. Send the upstream back to the old endpoint, confirm old-path recovery, then address the failed replacement. Never delete the old route first. As with any cloud migration, rollback must remain executable under pressure.

The ECS Gateway vs ALB decision should end with a named owner, not a platform preference. Cloudline’s Control, Cost, Exit framework is an editorial decision aid, not an AWS requirement.
A mixed estate is a valid outcome. Applications with different security, routing or organisational boundaries need not share one ingress model. Standardise the decision process rather than forcing universal adoption.
Put a named accountable owner against each responsibility. Outsourcing provisioning does not outsource production accountability.
Collect the service inventory, current listeners and target groups, certificate and WAF requirements, last month’s ingress spend, onboarding lead time and a rollback diagram. Compare Amazon ECS Gateway pricing with the complete ALB topology and measured engineering effort. Set a review date and record who can authorise traffic changes.
For a second pair of eyes on that decision, Talk to a cloud engineer about an ECS ingress architecture review.
Choose the ownership model that removes genuine friction without weakening controls you rely on. A well-run shared ALB may still be the right answer; a standardised gateway pilot may expose a better one. Keep infrastructure charges separate from engineering savings, and keep the old route until the new path has proved itself. Cloudline Consulting can help review your ECS ingress architecture, map the boundaries and decide whether to stay, pilot or migrate.
No. Gateway manages ALB-based ingress rather than replacing the load-balancing layer. The useful decision is whether your team should maintain ingress configuration directly or delegate its lifecycle. Compare the controls and operating work at that boundary, not two supposedly independent traffic-processing products.
AWS announced no additional Gateway charge. That does not make ingress free: the resources provisioned in your account still incur applicable charges. Compare the resulting ALB topology and usage with your current arrangement, then calculate onboarding and maintenance effort in a separate engineering ledger.
Yes. ECS supports ALB path-based routing and priority rules, allowing multiple services to use the same listener port. Each service still needs appropriate target groups and health checks. An existing shared ALB is therefore an important comparison baseline, especially when its configuration is already automated.
Not every Fargate service needs load balancing. ECS makes service load-balancer configuration optional. A web service requiring distributed HTTP or HTTPS ingress commonly uses an ALB, while a background worker might not need an inbound endpoint. Choose the ingress architecture from the workload's traffic requirements.
Yes. AWS describes incremental Gateway adoption while the existing ingress remains available. Keep that route operational during validation. For the cutover, prove TLS, hostname routing and application behaviour on both paths, then change traffic at a boundary you can reverse without depending on the new route.