New CloudFormation Templates - ECS Cluster & Service, legacy VPC wrapper, automated tests

Michael Wittig – 28 Feb 2017

We released v3 of our free and open source CloudFormation templates. This release brings:

you can read the full Changelog on GitHub.

ECS

EC2 Container Service (ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of Amazon EC2 instances. To run an application on ECS you need the following components:

We provide you templates for the ECS cluster and the service. You need to publish the Docker image.

ECS cluster

This template describes a fault tolerant and scalable ECS cluster on AWS. The cluster scales the underlying EC2 instances based on memory and CPU reservation. In case of a scale down, the instance drains all containers before it is terminated.

Architecture

The diagram was created with Cloudcraft - Visualize your cloud architecture like a pro.

Install free template

ECS service

This template describes a fault tolerant and scalable ECS service on AWS. The service scales based on CPU utilization.

The image needs to expose port 80 or the AWS::ECS::TaskDefinition needs to be adjusted!

We provide two service templates:

  • service-cluster-alb.yaml uses the cluster’s load balancer and path based routing. If you want to run multiple services on the same cluster they all will use the same domain name but start with different paths (e.g. https://yourdomain.com/service1/ and https://yourdomain.com/service2/).
  • service-dedicated-alb.yaml includes a dedicated load balancer (ALB). You can then use a separate domain name for each service.

Using the cluster’s load balancer and path based routing

This template describes a fault tolerant and scalable ECS service that uses the cluster’s load balancer and path based routing.

Architecture

Cover of Rapid Docker on AWS

Become a Docker on AWS professional!

Our book Rapid Docker on AWS is designed for DevOps engineers and web developers who want to run dockerized web applications on AWS. We lead you with many examples: From dockerizing your application to Continuous Deployment and Infrastructure as Code on AWS. No prior knowledge of Docker and AWS is required. Get the first chapter for free!

The diagram was created with Cloudcraft - Visualize your cloud architecture like a pro.

Install free template

Using a dedicated load balancer for the service

This template describes a fault tolerant and scalable ECS service that uses a dedicated load balancer for the service.

Architecture

The diagram was created with Cloudcraft - Visualize your cloud architecture like a pro.

Install free template

VPC legacy wrapper

If you have an existing VPC you can wrap it into our required form using a legacy VPC wrapper.

Install free template

Automated tests

The goal of the tests is to ensure that our templates are always working. The test are implemented in Java 8 and run in JUnit 4.

If you run this tests, many AWS CloudFormation tests are created and charges will apply!

widdix GmbH sponsors the test runs on every push and once per week to ensure that everything is working as expected.

Discover the tests

Support

We offer support for our CloudFormation templates: setting up environments based on our templates, adopting templates to specific use cases, resolving issues in production environments. Hire us!

Michael Wittig

Michael Wittig

I launched cloudonaut.io in 2015 with my brother Andreas. Since then, we have published hundreds of articles, podcast episodes, and videos. It’s all free and means a lot of work in our spare time. We enjoy sharing our AWS knowledge with you.
Have you learned something new by reading, listening, or watching our content? If so, we kindly ask you to support us in producing high-quality & independent AWS content. We look forward to sharing our AWS knowledge with you.

Support us

Feedback? Questions? You can reach me via Email, Twitter, or LinkedIn.