100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

AWS ECS/Fargate Cheat Sheet

AWS ECS/Fargate Cheat Sheet

Task definitions, services, CLI commands, and networking modes for running containers on ECS with the Fargate launch type.

3 PagesIntermediateJan 22, 2026

Fargate Task Definition

Minimal task definition requiring awsvpc networking and explicit CPU/memory.

json
{  "family": "web-app",  "requiresCompatibilities": ["FARGATE"],  "networkMode": "awsvpc",  "cpu": "256",  "memory": "512",  "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",  "containerDefinitions": [    {      "name": "web",      "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/web-app:latest",      "portMappings": [{ "containerPort": 8080, "protocol": "tcp" }],      "logConfiguration": {        "logDriver": "awslogs",        "options": {          "awslogs-group": "/ecs/web-app",          "awslogs-region": "us-east-1",          "awslogs-stream-prefix": "web"        }      }    }  ]}

Register Task & Create Service (CLI)

Register a task definition, then run it as a load-balanced service.

bash
aws ecs register-task-definition --cli-input-json file://task-def.jsonaws ecs create-service \  --cluster prod-cluster \  --service-name web-app \  --task-definition web-app \  --desired-count 3 \  --launch-type FARGATE \  --network-configuration "awsvpcConfiguration={subnets=[subnet-abc,subnet-def],securityGroups=[sg-123],assignPublicIp=DISABLED}" \  --load-balancers "targetGroupArn=arn:aws:elasticloadbalancing:...,containerName=web,containerPort=8080"

ECS Exec into a Running Container

Debug a live task with an interactive shell (requires enableExecuteCommand).

bash
# Enable exec when creating/updating the serviceaws ecs update-service --cluster prod-cluster --service web-app --enable-execute-command# Open a shell in the running taskaws ecs execute-command \  --cluster prod-cluster \  --task arn:aws:ecs:us-east-1:123456789012:task/prod-cluster/abc123 \  --container web \  --command "/bin/sh" \  --interactive

Fargate Sizing & Networking

Key constraints to know before writing a task definition.

  • CPU/memory pairs- fixed combos, e.g. 256 CPU units requires 512/1024/2048 MB memory
  • awsvpc mode- required for Fargate; each task gets its own ENI and private IP
  • Execution role- pulls images and writes logs (ecsTaskExecutionRole)
  • Task role- grants the app itself permissions to call other AWS services
  • assignPublicIp- ENABLED needed for public subnets without a NAT gateway
  • Fargate Spot- up to 70% cheaper, interruptible; mix with capacityProviderStrategy
Pro Tip

Set a capacityProviderStrategy that blends FARGATE and FARGATE_SPOT (e.g. weight 1/3) instead of an all-or-nothing launch type — ECS will automatically replace interrupted Spot tasks while keeping a stable baseline on standard Fargate.

Was this cheat sheet helpful?

Explore Topics

#AWSECSFargate#AWSECSFargateCheatSheet#CloudComputing#Intermediate#FargateTaskDefinition#Register#Task#Create#Networking#Docker#CommandLine#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech

Professional Web Designing Services

  • Responsive Websites
  • E-commerce Solutions
  • SEO Friendly Design
  • Fast & Secure
  • Support & Maintenance
Get a Free Quote

Share this Cheat Sheet