Sunday, July 27, 2025

Amazon ECS (Elastic Container Service) using EC2 launch type | Overview.


Amazon ECS (Elastic Container Service) using EC2 launch type - Overview.

Scope:

  • Intro,
  • The concept Amazon ECS - EC2 Launch Type,
  • Architecture,
  • Key Components,
  • Pros (benefits) of EC2 Launch Type,
  • Cons (limitations),
  • Getting Started with ECS using EC2 Launch Type,
  • Sample ECS EC2 Task Definition (JSON).

Intro:

  • Amazon ECS with EC2 Launch Type. 
  • This is where twtech runs its Docker containers on Amazon EC2 instances that twtech manages itself.
 The concept Amazon ECS - EC2 Launch Type
  • Amazon ECS (Elastic Container Service) using the EC2 launch type.
  • This means twtech can provision and manage a cluster of EC2 instances that act as container hosts.
  • ECS schedules and runs twtech containers on these EC2 instances.

 Architecture Overview

         

AWS Useful link for Documentaion.


https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch-type-ec2.html

 Key Components

Component

Description

Cluster.

Group of EC2 instances that ECS manages.

Task Definition.

Blueprint for running containers (image, CPU, memory, ports).

Task.

Running instance of a Task Definition.

Service.

Ensures a specified number of tasks are always running.

ECS Agent.

Installed on EC2 instances, communicates with ECS.

EC2 Instances.

Container hosts (must use ECS-optimized AMI or compatible OS).

Pros (benefits) of EC2 Launch Type

  • Full control over EC2 instances (OS, networking, IAM, monitoring).
  • Can run daemon services or tools like Prometheus, Fluentd, custom agents.
  • More cost control with EC2 Reserved or Spot Instances.
  • Easier integration with EBS volumes or custom networking.

Cons (limitations)

  • twtech must manage EC2 lifecycle (patching, autoscaling, etc.).
  • Less "serverless" than Fargate – more overhead.
  • Need to manage scaling of both instances and tasks.

 Getting started with ECS using EC2 Launch Type

  1. Create ECS Cluster
    • With EC2 capacity (twtech can use ECS optimized AMIs)
    • Set IAM roles, networking (VPC, Subnets, Security Groups)
  2. Register Task Definition
    • Define container image, ports, CPU/memory, volumes, etc.
  3. Launch Service or Task
    • Select EC2 launch type
    • Specify how many tasks to run
  4. Auto Scaling (Optional)
    • Use EC2 Auto Scaling groups
    • Also possible to scale ECS tasks independently

 Sample ECS EC2 Task Definition (JSON)

# json

{

  "family": "twtech-ec2-app",

  "containerDefinitions": [

    {

      "name": "twtechwebapp",

      "image": "accountID.dkr.ecr.us-east-2.amazonaws.com/twtech-web-app:latest",

      "memory": 512,

      "cpu": 256,

      "portMappings": [

        {

          "containerPort": 80,

          "hostPort": 80

        }

      ],

      "essential": true

    }

  ]

}

 When twtech uses ECS with EC2 Launch Type

Use Case

Why ECS-EC2 is Suitable

Custom monitoring/logging agents.

Full access to the OS

Use of specialized EC2 types (e.g. GPU).

Supports all EC2 types

Long-running apps needing persistence.

Can mount EBS volumes

Existing EC2 infra in place.

Easy integration


No comments:

Post a Comment

Amazon EventBridge | Overview.

Amazon EventBridge - Overview. Scope: Intro, Core Concepts, Key Benefits, Link to official documentation, Insights. Intro: Amazon EventBridg...