How to Deploy ECS Cluster with ALB ECR and Docker

How to Deploy ECS Cluster with ALB ECR and Docker

How to Deploy ECS Cluster with ALB ECR and Docker


With this how to tutorial, you will learn more about ECS and how to deploy an application in an ECS cluster. The tutorial will walk you through how to test the app locally via Docker so you will learn Docker basics. How to create an ECS Cluster. How to create an ECR to push the code from your pc to ECR. How to create Task Definition for the containers. How to create a service based on Task Definition to run the container in ECS cluster. How to create and attach an Elastic Load Balander with ECS Cluster.

What is Docker

A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application like code, runtime, system tools, system libraries and settings.

I will walk you through Docker file and the configuration in it so you can have better understanding that how docker file is build and how it works. I will also present you how to build a docker image from source and how to run that Docker image on your PC to test the application. 

What is Amazon ECS

Amazon ECS is a highly scalable, high-performance container orchestration service that supports Docker containers and allows us to easily run and scale containerized applications on AWS

The demo is about deploying a php application in Amazon ECS Cluster in which the app will run in container(s).

Steps for Creating and Testing Application with Docker and Creating ECS Cluster


1. We will download a PHP App and will test it on local PC via docker
1.1 download ECS sample app from AWS Labs Git
git clone https://github.com/awslabs/ecs-demo-php-simple-app
2. An ECR will be created to push the code so it can be used to run the container(s) in the ECS Cluster.

3. An ECS Cluster will be created to run the app in the container(s).

4. An Application Load Balancer (ALB) will be created along with Target Group to serve traffic equally on all containers.

5. Task definition is the blueprint describing which Docker containers to run and represents your application.

6. A service will be created based on task definition to schedule and manage task(s).

7. And finally, application will run in the container(s) once the service is launched.

Conclustion

With this detailed tutorial, you will learn Docker Basics and will be able to build docker image to test your application locally. Once the application is locally tested, you can create Amazon ECS Cluster which includes Amazon Container Repository (ECR) and Task Definition and Create Service to run the Tasks in the Containers and an Application Load Balancer (ALB) to serve the traffic on containers.

My Youtube Channel: https://www.youtube.com/channel/UCBxPI_6j82UA7ahUhV5owvQ/

0 comments