--- layout: docs page_title: Requirements - AWS ECS description: >- Requirements for Consul Service Mesh on AWS ECS (Elastic Container Service). --- # Requirements Currently, the following requirements must be met in order to install Consul on ECS: 1. **Terraform:** The tasks that you want to add to the service mesh must first be modeled in Terraform. 1. **Launch Type:** Only the Fargate launch type is currently supported. 1. **Subnets:** ECS Tasks can run in private or public subnets. Tasks must have [network access](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/) to Amazon ECR to pull images. 1. **Consul Servers:** Currently, Consul servers must run inside ECS on Fargate using the `dev-server` Terraform module. This is a development/testing only server that does not support persistent storage. In the future, we will support production-ready Consul servers running in HashiCorp Cloud Platform and on EC2 VMs. ## Future Improvements - Support EC2 launch type. - Support production-ready Consul servers running outside of ECS in HashiCorp Cloud Platform or EC2. - Support Consul TLS, ACLs, and Gossip Encryption. - Support Consul service health checks.