Everything you Need to Know About Docker on Amazon ECS

Everything you Need to Know About Docker on Amazon ECS

January 13, 2021 / Eternal Team

We Assume that you already know AWS ECS Fargate, For more details please follow our blog specifically for AWS ECS Fargate.

You can also find our other blog on ECS service by following this link, AWS ECS using EC2

Now let’s deep dive in AWS’s own container management service, Amazon ECS.

Amazon’s ECS service is a container management service. Amazon Elastic Container Service (ECS) is a scalable and high-performance container orchestration service.

ECS reduce the need for users to install and operate container orchestration software

everything-you-need-to-know-about-docker-on-amazon-ecs

ECS allows users to start and stop Docker-enabled applications with API calls. We can also access Identity and Access Management (IAM) roles, CloudFormation template,security groups, CloudWatch Events,load balancers, and CloudTrail logs.

Here are some of the key ECS components

  • Cluster
  • Container Instances: A container instance is ideal for running containers
  • Task
  • Task Definition
  • Container Agent
  • Service

everything-you-need-to-know-about-docker-on-amazon-ecs

1. Cluster

Cluster is a logical grouping of container instances that we can place tasks on: Grouping of containers instances

everything-you-need-to-know-about-docker-on-amazon-ecs

2. Container instances

everything-you-need-to-know-about-docker-on-amazon-ecs

1. EC2 instances
2. Docker daemon
3. ECS agents

3. Task

The task is an instance of a task definition that is running on a container instance:

  • We can run as many containers as our app needs
  • Runs on container instances

everything-you-need-to-know-about-docker-on-amazon-ecs

4. Task Definition

Task definition is a description of an application that contains one or more container definitions:

  • Container definitions (CPU, memory, links to set up channels between containers, ports)
  • Volume definitions to persist data between containers
  • Task definitions are tracked by names and versions

5. Container Agen

It runs on every container instance in the ECS cluster. The agent will sends information about the current running tasks and resource utilization to Amazon ECS.accordion

Service

Service is used for the specified number of tasks that are running and we can reschedule it when there is any error. We just refer to task definition and number of tasks we want to run

  • ECS handles the deployment and integration with ELB

Above ECS components are connected with help of below Services:

  • CloudWatch Alarms (for Auto Scaling)
  • Elastic Application Load Balancers
  • AutoScaling Groups
  • Launch Configurations

In AWS ECS Service, we have below tools for different use cases

everything-you-need-to-know-about-docker-on-amazon-ecs

Amazon ECS – Easiest way to deploy and manage containers

  1. Scales to support clusters of any size
  2. Service integrations like ALB, NLB are at container level

Amazon Fargate – Containers on demands

  • No Infrastructure
  • Launch quickly, Scale easily
  • Resource-based pricing
  • Manage Everything at container level

Now before we move forward we hope you already know the difference between Virtual machine and Container. For more details follow our blog Containers Vs Virtual Machine

What are container Orchestration tools?

Orchestration tools help us deploy, manage, and scale our containers, so we don’t need to do all the heavy lifting ourselves.

Below is a list of some Orchestration tools:

everything-you-need-to-know-about-docker-on-amazon-ecs

What Orchestration tools do?

  1. Start, stop and monitor lots of containers running on lots of hosts
  2. Decide when and where to start or stop containers
  3. Control our hosts and monitor their status

Please go through with fargate pricing details before applying it at your enterprise.

AWS-Consulting-Partner

Talk to AWS Certified Consultant

    Want to start a project?

    It’s simple.

    Contact us