/awesome-ecs

A curated list of awesome ECS guides, development tools, and resources

A curated list of guides, development tools, and resources for Amazon Elastic Container Service (ECS). This list includes both community created content as well as content created by AWS.

Want to add something? Open a PR! 🙂

Pick your container hosting strategy:

  • AWS Fargate - AWS Fargate is a technology for Amazon ECS that allows you to run containers without having to manage servers or clusters.
  • Self hosted in EC2 - Running your own cluster of EC2 instances to host your containers gives you the most control over price (ability to run on spot instances or reserved instances) as well as configuration.

AWS Fargate

  • 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.
  • CloudFormation Templates - Sample CloudFormation templates to help you spin up a Fargate cluster, and service in that cluster automatically

Self hosted in EC2

Getting Started

Automated Infrastructure

Tools to help you set up a cluster of EC2 hosts for ECS to use to run your docker containers:

Build and Deploy Tools

Tools to help you interact with ECS to launch your containers on your cluster of self managed EC2 instances:

  • coldbrew - Fantastic tool that provisions ECS infrastructure, builds and deploys your container, and connects your services to an application load balancer automatically
  • ecs-cli - Docker Compose compatible deployment tool by AWS
  • 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
  • bash deployment script by Justin Kulesza
  • 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 kubectl for ECS.
  • ecs-deploy - Simple but powerful tool for initiating automatic blue green deploys on ECS
  • ecspresso - Minimalistic: JSON file goes in, service launches

Implementation Guides

Examples of how to do advanced customizations on your ECS cluster:

Other Open Source Tools

  • Blox - Framework for advanced cluster management and scheduling
  • Watchbot - This tool by Mapbox 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

Continuous Integration / Continuous Deployment

Presentations

Tech Blogs