Skip to content

ECS Express Mode Concepts

Express Gateway Service
The aws_ecs_express_gateway_service Terraform resource that provisions an ECS service with managed ALB, auto scaling, and simplified configuration for HTTP/HTTPS web applications and APIs.
is a simplified deployment model that removes the need to provision separate ALB, target group, and listener resources. You create one resource — aws_ecs_express_gateway_service — and ECS provisions a managed Shared ALB
The Application Load Balancer shared by up to 25 Express services in the same VPC using Host header routing rules.
, configures health checks, sets up auto scaling, and assigns a unique Application URL
The unique Express-provisioned HTTPS URL on *.ecs.<region>.on.aws used for all normal application traffic.
on *.ecs.<region>.on.aws.

In classic ECS, you wire together aws_lb, aws_lb_target_group, aws_lb_listener, aws_ecs_service, and aws_appautoscaling_target. Express Mode collapses all of this into one resource.

The Shared ALB
The Application Load Balancer shared by up to 25 Express services in the same VPC using Host header routing rules.
hosts up to 25 Express services in the same VPC
Virtual Private Cloud — an isolated virtual network within AWS where resources are deployed.
using Host header routing. The first service in a VPC determines whether the ALB is internet-facing or internal.

Express Mode create wizard in ECS console
DimensionExpress ModeClassic ECS
Inputs required

Single aws_ecs_express_gateway_service resource

Separate ALB, target group, listener, service, and scaling resources

Infrastructure wiringFully managed — no cross-resource referencesManual — you connect LB → target group → service
Typical userDevelopers wanting fast HTTP/HTTPS deploymentPlatform teams needing full networking control
Subnet modelSingle list for both ALB and tasksSeparate subnet configuration for ALB and tasks
Health checks

ALB target group only via health_check_path

ALB health check plus optional container healthCheck

Deployment strategyRolling with automatic rollback on health failureRolling, blue/green, or external controller
Scaling

Built-in target tracking via scaling_target

Separate aws_appautoscaling_target and policies

Protocol supportHTTP/HTTPS onlyHTTP, HTTPS, gRPC, TCP, UDP, TLS

Express Mode works for:

  • REST / OpenAPI APIs — stateless request/response over HTTPS
  • Stateless web applications — frontends, dashboards, documentation sites
  • Rapid prototyping — public HTTPS endpoint without infrastructure boilerplate
  • Developer self-service — deploy HTTP services without platform team help

Use classic ECS for these:

  • Batch / queue workers — no HTTP endpoint, no ALB needed
  • gRPC — ALB terminates HTTP/2, breaking gRPC streaming
  • Raw TCP/UDP — Express Mode only handles HTTP/HTTPS
  • Non-HTTP services — anything that cannot respond to ALB health checks

Classic ECS lets you place the ALB in public subnets while running tasks in private subnets. Express Gateway Service
The aws_ecs_express_gateway_service Terraform resource that provisions an ECS service with managed ALB, auto scaling, and simplified configuration for HTTP/HTTPS web applications and APIs.
does not support this split — it uses one subnet list for both.

  • Public Subnet
    A subnet with a route to an Internet Gateway, enabling resources to have public IP addresses and internet access.
    (route to Internet Gateway
    A VPC component that enables communication between resources in a VPC and the internet.
    ) → internet-facing ALB, tasks with public IPs
  • Private subnets (no IGW route) → internal ALB, reachable only within the VPC
    Virtual Private Cloud — an isolated virtual network within AWS where resources are deployed.