// the find
terraform-aws-modules/terraform-aws-ecs
Terraform module to create AWS ECS resources 🇺🇦
A Terraform module from the terraform-aws-modules org for provisioning ECS clusters and services, covering Fargate, EC2 Auto Scaling, and the newer ECS Managed Instances capacity providers, plus task and container definitions. It's for teams already standardized on Terraform/OpenTofu for AWS who don't want to hand-write ECS resource blocks.
Tracks new ECS capabilities fast — managed_instances_provider, canary/linear deployment_configuration strategies, and availability_zone_rebalancing all show up here well ahead of most other IaC tooling picking them up. Cluster and service logic are split into independent sub-modules that can be composed or used standalone, with generated wrapper modules for for_each usage. CI is solid: pre-commit hooks, PR title linting, and semantic-release-driven versioning keep releases predictable.
The variables.tf schema is enormous and deeply nested — container_definitions and instance_requirements alone run hundreds of lines of optional nested objects, so expect real ramp-up time before you can write a service block without constantly checking docs. The README's 'Known limitations' section doubles as an ad for the maintainer's own paid product, compliance.tf, pitched as the fix for ordinary Terraform lifecycle limitations, complete with UTM tracking params — an odd thing to find embedded in module documentation. The root module has no resources or providers of its own; everything is delegated to sub-modules, so any real debugging means jumping through multiple layers of composition. Requires aws provider >= 6.41, a very recent pin that will block adoption on accounts still running slightly older provider versions.