Skip to content

Decision Checklist

Use this checklist to determine whether 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.
or a classic ECS service with self-managed ALB is the right fit for your workload. The table below compares the two approaches across the dimensions that most often influence the decision.

DimensionExpress ModeClassic ECS
Subnet Model

Single subnet list shared by ALB and tasks — all subnets must be the same type (public or private)

Separate subnet lists for ALB (public) and tasks (private) — supports the common public-ALB + private-tasks pattern

Custom Domains

Uses an auto-provisioned Application URL
The unique Express-provisioned HTTPS URL on *.ecs.<region>.on.aws used for all normal application traffic.
on *.ecs.<region>.on.aws — no custom domain or certificate management

Full control over Route 53 records, ACM certificates, and ALB listener rules for custom domains

Health Checks

ALB target group health checks only via health_check_path — no ECS container healthCheck support

Both ALB target group health checks and ECS container-level healthCheck (command-based) available

Deployment Strategy

Managed rolling deployment with automatic RollbackAlarm
A CloudWatch metric alarm created by Express Mode that triggers automatic deployment rollback when new tasks fail ALB health checks.
— no blue/green or external deployment controller

Rolling update, blue/green (CodeDeploy), or external deployment controllers — full strategy control

Container Health

Health status shows “Unknown” on the Tasks tab — operational health determined by ALB target group state only

Container health status reported via ECS agent using task definition healthCheck command

Protocol Support

HTTP/HTTPS only — designed for REST APIs and stateless web applications

HTTP, HTTPS, gRPC (via ALB), TCP/UDP (via NLB), and any protocol supported by ECS task networking

ALB Control

Shared ALB
The Application Load Balancer shared by up to 25 Express services in the same VPC using Host header routing rules.
managed by ECS — up to 25 Express services per VPC share one ALB with Host header routing

Dedicated or shared ALB fully managed in your Terraform — custom listener rules, multiple target groups, WAF integration

Review each dimension against your workload requirements:

  1. If all Express Mode traits match your needs — use Express Mode for faster setup and less infrastructure code
  2. If any Classic ECS trait is required — use a classic ECS service with self-managed ALB and networking
  3. If unsure about protocol requirements — Express Mode only supports HTTP/HTTPS; any gRPC, TCP, or UDP traffic requires classic ECS