
Develop practical mastery of elastic container service with a hands-on ecs cluster focus. Deploy containerized workloads on aws, including Docker concepts, and boost your career prospects.
Learn how Amazon Elastic Container Service (ECS) orchestrates Docker images as containers, delivering scalable, highly available deployments with load balancing via clusters on EC2 or Fargate.
Learn how to form an ecs cluster by creating a docker image, pushing it to amazon ecr, and choosing aws fargate or ec2 for deployment.
Compare EC2 launch type and Fargate in Amazon ECS, detailing ECS agents on hosts, cluster creation with EC2 instances, and AWS managed Fargate for serverless deployment.
Learn to create an Amazon ECS cluster by defining the container image, building the task definition and service, and deploying with Fargate while understanding memory, CPU, and networking basics.
Define container and task definitions, set memory, CPU, and port mapping, and deploy a service to maintain a desired task count in an AWS Fargate ECS cluster with load balancer.
Run an nginx docker image on an ECS cluster with Fargate by creating a task definition and launching a replica service. Verify it runs by accessing the public IP.
Watch how AWS ECS Fargate runs an nginx container under a service that monitors the task and automatically recreates it when it stops.
Explore how Amazon Elastic Container Service enables deploying, managing, and scaling containerised applications, demonstrated by running a Docker image on a VM, installing Docker, and launching an Ubuntu container.
Build a docker image from a Dockerfile to serve a simple nginx page, run it as a container, and access it via browser with port mappings.
Create your own VPC as a prerequisite for Amazon ECS by configuring CIDR blocks, subnets, gateways, and security groups to deploy an ECS cluster.
Learn to create ECS clusters with AWS Fargate or EC2 (Linux/Windows), choosing from networking only, EC2 Linux, or EC2 Windows templates, and manage tasks, services, and capacity providers.
Learn to run a task on a Fargate cluster by launching a new task with a task definition, Linux, in a VPC with subnets and a security group.
Create a service with the Fargate launch type, configuring a task, cluster, and two replicas. The service uses rolling updates and maintains the desired task count by replacing stopped tasks.
Learn to create an AWS Fargate task definition, configure containers, resources, and IAM roles, then add the task to a cluster and prepare for pushing a Docker image to ECR.
Create a nginx docker image by writing a Dockerfile that copies index.html, build with docker, and run a container mapping port 80 to 81, then push to AWS ECR.
Learn to push a docker image to an AWS ECR repository by creating the repository, authenticating from EC2, tagging the image, and pushing to the registry.
Add a container in an ecs task definition using an ecr image, configure port 80, and create the task. Then assign the task to a cluster to start the container.
launch and run an nginx app on a Fargate cluster by creating a new task, choosing the task definition, VPC subnets, security groups, and exposing port 80.
Create a Nginx service in a Fargate cluster by configuring the task definition, selecting the ECR image, and deploying multiple running tasks. Watch automatic task replacement keep the service healthy.
Update a Fargate service to a new platform version and observe new tasks start while existing tasks keep running. Remove old tasks when the new version runs well.
Configure an EC2 launch type ECS cluster in a private subnet, deploying instances behind a VPC with public subnets for internet access, and use the ECS agent and auto scaling.
Create a VPC for your ECS cluster in the AWS console, configure a CIDR block and IPv6, with public and private subnets across two availability zones and a NAT gateway.
Create an EC2 launch type ECS cluster in a VPC with private subnets and NAT gateway. Use Amazon Linux 2 instances, IAM roles, security groups, CloudWatch Container Insights, autoscaling.
Explore your ECS cluster configuration, verify two container instances in private subnets, and learn to access private instances through a public subnet jump host within a VPC.
Launch a public subnet instance with a public ip, then ssh into your private subnet instance from that public instance using the same key pair.
Learn how to access private-subnet EC2 instances from a public-subnet instance using SSH, private keys, and proper permissions, with troubleshooting via security group inbound rules.
Create an nginx web server task from a task definition and deploy it to your EC2 cluster, configuring EC2 compatibility and bridge networking to map host ports to container ports.
Explain bridge network mode as a 1-to-1 mapping from host ports to container ports on an EC2 instance, noting that two containers cannot share the same host port.
Define the task size for Fargate, allocate memory and CPU, and add containers like nginx with docker hub images, setting hard and soft memory limits and port mappings.
Assign the nginx-web server task to the EC2-Linux cluster and run two containers, showing port 80 mapping on a bridge network and the one-to-one limitation without dynamic bridge mode.
Learn how to check container status from ECS instances by inspecting running tasks on two EC2 instances, verifying nginx task, and listing images and containers.
Access a nginx web server on private subnet instances by routing through a public subnet, configure security group inbound http rules, and verify with curl and elinks.
Launch four tasks across two EC2 instances in the ECS cluster. Bridge networking maps host ports to container ports with a 1-to-1 constraint; dynamic port mapping resolves conflicts.
Configure dynamic port mapping in ECS by setting host port to 0, so AWS assigns a random host port to container port 80 for load balancer routing.
Explore dynamic port mapping in ECS on AWS Fargate by adding inbound rules for host ports, mapping to container port 80, and debugging access through security groups.
Learn to configure an application load balancer in an ECS cluster, including the listener and target group, and see how traffic is distributed across containers on private subnets.
Create an ECS cluster on EC2 Linux, launch two t2 micro instances. Set up an internet-facing application load balancer with a port 80 listener and a target group.
Create a target group for the ECS cluster, configure instances in the VPC, then create the application load balancer and define the listener and target group during ECS service setup.
Create an ecs task definition for an nginx web app on ec2, using bridge networking, dynamic port mapping, and a soft limit setting.
Create an ECS service on EC2 using a NGINX task definition, deploying four tasks across two private subnets behind application load balancer; define target group, listener, and service IAM role.
Demonstrates examining an ECS cluster: viewing service tasks, instances, and target group health; shows load balancer distribution, port mappings, and security group rules that keep targets healthy.
Explore how an application load balancer routes requests to multiple containers, verify equal distribution by editing two nginx containers, and observe traffic alternating between container 001 and 002.
Learn how the application load balancer distributes traffic evenly across containers on AWS Fargate and ECS, with Docker and Nginx setups on multiple instances.
Congratulations on reaching the last lecture; reflect on what you learned and share doubts or suggestions via the question answer form for exam success and AWS Docker on AWS career.
Introduction
Overview of ECS Service
Components involved in forming ECS Cluster
Image registry - Amazon ECR
Management - Amazon ECS & Amazon EKS
Hosting - AWS Fargate & Amazon EC2
Create your first ECS Cluster
Define Container, task, Service & Cluster
Lab Session - Run Nginx Application using ECS Cluster
Lab Session - Service in ECS Cluster
Lab Session - Run Docker Application on VM Infrastructure
Lab Session - Build a Docker Image using DockerFile
Create your own VPC - Pre-requisite of Amazon ECS
AWS Fargate
Overview of ECS Cluster - AWS Fargate, EC2 Linux/Windows
Run a task - Fargate Launch Type
Create a service - Fargate Launch type
Task definitions
Create a Docker Image of the Nginx Web App
Push Docker Image to AWS ECR Repository
Add Container in Task Definitions
Run the task of the Nginx App in a Fargate Cluster
Create Service of Nginx App in Fargate Cluster
Update Service in Fargate Cluster
AWS ECS Cluster - EC2 Linux + Networking
Overview of AWS ECS Cluster - EC2 Linux
Create your own VPC for ECS Cluster
Lab - Create EC2 launch type ECS Cluster
Detailed view of the resources on your cluster
Lab - Access Private Subnet Instances
Lab - Access Private Subnet Instances
Create a task for the Nginx Webserver
Overview of Bridge Network Mode
Define task size & add container
Add task in a cluster
Check container status from instances
Access Nginx web server running on Private Subnets
Run multiple containers in the ECS cluster
Dynamic Port Mapping
Overview of Dynamic Port Mapping
Lab - Configure dynamic port mapping
Lab - Add dynamic ports to Security Group
Application Load Balancer in ECS Cluster
Overview of ALB in ECS Cluster
Configure ALB
Define Target Group & Listener in ALB
Create a task for ECS Cluster
Create a service
Detailed view of the resources on your cluster
Test your ALB
Distribution of traffic equally to all containers by ALB
Last Lecture