# Deploy containers on Amazon ECS with AWS Graviton processors

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ecs/)
- [Deploy containers using ECS on AWS Graviton processors](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ecs/deployment/)
- [Deploy ECS containers on AWS Graviton processor using Terraform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ecs/terraform/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ecs/_next-steps/)

## About this Learning Path

| Skill level:    | Introductory   |
|------------------|----------------|
| Reading time:    | 1 hr           |
| Last updated:    | 31 Jul 2026    |

| Author:          | Jason Andrews, Arm [GitHub](https://github.com/jasonrandrews) [LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8) |
|------------------|----------------|
| Arm IP:          | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags:            | [Containers and Virtualization](https://learn.arm.com/tag/containers-and-virtualization), [AWS](https://learn.arm.com/tag/aws), [Linux](https://learn.arm.com/tag/linux), [Terraform](https://learn.arm.com/tag/terraform), [Amazon ECS](https://learn.arm.com/tag/amazon-ecs) |

### Who is this for?
This is an introductory topic for developers who want to use AWS Graviton processors with Amazon Elastic Container Service (ECS).

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Create an Amazon ECS cluster with Fargate and AWS Graviton processors
- Create and run an Amazon ECS task
- Use Terraform to automate deployment of an ECS cluster

### Prerequisites
Before starting, you will need the following:
- An AWS account
- A computer with Docker, AWS CLI, and Terraform installed

### Summary
You’ll deploy a containerized application on Amazon ECS with AWS Fargate and Graviton processors. You’ll create an ECS cluster and task, run it on Arm-based AWS Fargate infrastructure, and then automate the workflow with Terraform. The Terraform configuration creates an Amazon Elastic Container Registry (ECR) repository and deploys an NGINX task to ECS on Graviton.

### Frequently asked questions

<details>
<summary>Do I need to manually provision EC2 instances for this deployment?</summary>
No. Fargate is a serverless option for ECS, so you don’t manually provision or maintain EC2 instances.
</details>

<details>
<summary>What result should I expect after I create and run the ECS task?</summary>
The task should start on the Fargate cluster and show a running status in ECS. That confirms the container runs on AWS Graviton-backed infrastructure.
</details>

<details>
<summary>What is the source for container images in this workflow?</summary>
Create an Amazon ECR repository and use it as the source for images referenced by your ECS task. This lets ECS pull the image when the task starts.
</details>

<details>
<summary>What does the Terraform configuration in `main.tf` create?</summary>
It automates the same deployment steps by defining AWS resources such as an ECR repository and ECS components to run an NGINX task on Fargate with AWS Graviton processors.
</details>

<details>
<summary>What should I check if my ECS task stays in PENDING or fails to run?</summary>
Verify that the cluster and task definition target the Fargate launch type and that required AWS resources and permissions from earlier steps exist. Also check that the container image is available in the ECR repository you created.
</details>
