awesome-ecs
by nathanpeck
A curated list of awesome ECS guides, development tools, and resources
AI summary
ECS guide
A curated collection of resources and guides for Amazon Elastic Container Service (ECS) development and deployment.
- stars
- 2.9K
- forks
- 320
- watching
- 156
- awesome list
- 1
- entries
- 113
What's in the list
113 links in 15 sections, with live GitHub stats.activeno commit in 2y
First steps
- Amazon ECS Core Concepts
Introduction to core concepts of Amazon ECS, including what are containers, why it is important to decouple applications from their underlying compute infrastructure, how ECS works, and what integrations that ECS has with the rest of AWS
- Building Blocks of Amazon ECS
Learn about the basic building blocks of ECS and how they fit together to fully understand how it works and how you can use it!
- ECS Workshop
A detailed workshop that guides you through creating a simple microservice deployment, load testing it, and monitoring it
- AWS Copilot
The getting started guide for AWS Copilot helps you deploy your first simple static website container on Fargate
Pick your container hosting strategy:
- Amazon EC2 or AWS Fargate?
Which compute capacity makes more sense for your workload: serverless AWS Fargate, or EC2 instances?
Pick your container hosting strategy: / Amazon EC2 or AWS Fargate?
- ECS capacity providers linked to EC2 auto scaling groups
If you pick EC2 capacity learn about and and consider as the
Pick a tool for deploying your application
- AWS Copilot
The easiest starting experience for launching your local container on Fargate. This commandline tool helps you build and deploy your application, as well as deploy CI/CD pipelines that automatically rebuild and redeploy your application on Git push. It creates infrastructure as code templates for you behind the scenes
- AWS Cloud Development Kit
AWS CDK is an SDK that lets developers define and deploy AWS infrastructure using familiar programming languages, often the same language that the application itself is coded in. CDK creates CloudFormation automatically behind the scenes
Pick a tool for deploying your application / AWS Cloud Development Kit
- aws-ecs
This module provides simple low level constructs for creating ECS and Fargate services. It gets about 100k downloads per week on NPM, so it is quite popular as a choice
- aws-ecs-patterns
A more beginner friendly interface to CDK. These patterns help you setup simple things like a "load balanced service" or a "scheduled task"
- ecs-service-extensions
This CDK module provides the most extendable interface for ECS services. It lets you deploy an ECS service and then optionally attach extensions to it, which do things like add the service to a service mesh, or add an observability sidecar, etc. Read more about
Pick a tool for deploying your application
CloudFormation
You can choose to write CloudFormation templates to describe your deployment directly, in which case these sample templates will help. Check out
- Terraform ECS Blueprints
Production ready AWS ECS infrastructure as code with Terraform
Troposphere + ECS
For Python users can help create CloudFormation templates. This example shows how to create an ECS deployment using Troposphere
- ECS CLI v1
The original CLI for ECS is designed to be mostly compatible with Docker Compose. It turns a local Docker Compose file into a remote deployment
- fargate
Command line tool for interacting with AWS Fargate. With just a single command you can build, push, and launch your container in Fargate, orchestrated by ECS
fargate-create
A CLI tool for creating new projects based on Terraform templates and . Supported stacks:
Pick a tool for deploying your application / fargate-create
Pick a tool for deploying your application
mu
Automates everything relating to ECS devops and CI/CD. This framework lets you write a simple metadata file and it constructs all the infrastructure you need so that you can deploy to ECS by simply pushing to your Git repo
deployfish
Write a simplified file describing your deployment and let this tool handle the heavy lifting of deploying your service
CloudFormation reference architecture
An older CloudFormation reference architecture for ECS
empire
Control layer on top of ECS that provides a Heroku like workflow
broadside
Ruby based command line tool for deploying to ECS
- UFO
Ruby based tool for building containers and shipping them to ECS
pnzr
Go based tool for building and pushing to ECS, also has integraton with AWS KMS for secrets management
deplojo
Python based deployment tool using ECS
- convox
Easily build, deploy and scale applications on ECS
ecsctl
Open source tool similar to Kubernetes for ECS
ecs-deploy
Simple but powerful tool for initiating automatic blue green deploys on ECS
ecspresso
Minimalistic: JSON file goes in, service launches
ecsrun
Easily run one-off tasks against an ECS Task Definition using a config file based approach
shipctl
Tool that supports deploying a task on ECS, rolling back, or just running a one-off task
ecsdeploy
A client and simplified web interface for managing your ECS cluster, rolling out and rolling back application versions
ecs-service
CLI tool for deploying to ECS using CloudFormation with support for .env files for environment specific configuration of your containers
kms-env
CLI tool for managing secrets using AWS KMS in .env files which can be used in conjunction with to supply secrets to your containers
ecsq
A developer friendly tool for querying the state of an ECS cluster
- Wonqa
is a tool for spinning up disposable QA environments in AWS Fargate, with SSL enabled by Let's Encrypt. More details about Wonqa on the
Solutions
Solutions / Service Discovery
Solutions
Watchbot
This tool by helps you run data processing across an ECS cluster in response to external events
ecs-export
A tool for exporting ECS cluster metrics to Prometheus for advanced querying
docker-elk-ecs
Connecting Amazon ECS container logs to an ELK (Elasticsearch, Logstash, Kibana) stack
Sample task definitions
Sample task definitions for running applications like Nginx, Tomcat, Gunicorn, Wildfly, Kibana, and Jetty as containers under Amazon ECS
Reference Architectures
- Bun JavaScript container that uses AWS SDK to connect to DynamoDB
A tiny hit counter application. It demonstratres launching a Bun JavaScript container, with an IAM role that grants it access to use a DynamoDB table as it's state store
- NGINX Reverse Proxy sidecar container on AWS ECS
A common architecture for serving a website or API from a container
Mythical Misfits
Deploy a sample application to serverless AWS Fargate capacity
Cats n' Dogs
A fun workshop that covers service and container-instance auto-scaling, spot-fleet integration, container placement strategies, service discovery, secrets management with AWS Systems Manager Parameter Store, among other things
- Deploy Jupyter notebook container with Amazon ECS
High cost, high performance machine learning playground, orchestrated by Amazon ECS on specialized AWS Inferentia enabled hardware
Courses
- ECS Workshop
Learn how to deploy a 3 tier, polyglot, microservice based application to AWS Fargate
- Microservices with Docker, Flask, and React
Learn how to build, test, and deploy microservices powered by Docker, Flask, and React on Amazon ECS!
- AWS Developer: Optimizing on AWS
Learn how you can optimize your applications on AWS with Amazon ECS!
Blogs
- Run a PHP application on AWS Fargate
An in-depth guide to run a Laravel app on AWS Fargate with Github Actions for deployment
- Deploying a Rails app to Fargate
Step by step walkthrough of deploying a Ruby + RDS app, with helpful debugging tips
- How to use AWS Fargate and Lambda for long-running processes in a Serverless app
Great tutorial showing how to leverage the power of long running docker containers in Fargate alongside Lambda. Example application processes video files to extract thumbnails using just S3, Lambda, and Fargate... no EC2
- A lighter way to deploy to ECS/Fargate
combining update-service/task data from several sources including metadata of the docker image itself to deploy new versions
- Chaos testing with ECS
Chaos toolkit supports ECS as a target for
- End-to-end TLS traffic
How to setup end-to-end TLS from client to container, as well as from container to container
Presentations
- Running a Virtual World via ECS
Linden Labs on their usage of ECS
- Building Next-Generation Applications with Amazon ECS
How Meteor Built Galaxy on Amazon ECS
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions awesome-ecs.