AWS Assignment– 5
ECS & EKS for Containerized Deployments
Basic Questions
- Create an ECR repository named myapp-repo and push a Docker image into it.
- Create an ECS Cluster using the EC2 launch type.
- Create an ECS Cluster using the Fargate launch type.
- Write a simple ECS Task Definition for an Nginx container.
- Deploy the Task Definition as a Service with 2 tasks running.
- Expose the ECS service using a Security Group that allows HTTP traffic.
- Verify ECS service logs in CloudWatch.
- Scale ECS service from 2 tasks to 4 tasks manually.
- Delete an ECS Service and observe task termination.
- Deploy an ECS Task using Fargate and compare it with EC2 launch type.
- Create a new EKS cluster using the AWS Management Console.
- Configure aws eks update-kubeconfig to access the EKS cluster with kubectl.
- Create an EKS Node Group with 2 worker nodes.
- Deploy a simple Nginx Pod into the EKS cluster.
- Create a Deployment in EKS with 2 replicas of Nginx.
- Expose the Deployment with a ClusterIP Service.
- Expose the same Deployment with a LoadBalancer Service.
- Verify the Service external IP works in the browser.
- Use kubectl get nodes to list all worker nodes in EKS.
- Write a short note on differences between ECS and EKS.
Intermediate Questions
- Create an ECS Task Definition for a 2-container app: nginx (frontend) + redis (backend).
- Deploy the above Task as a Service in ECS and verify communication.
- Configure an ECS Service with an Application Load Balancer (ALB).
- Enable auto scaling for ECS tasks using CloudWatch CPU metrics.
- Push a new version of your Docker image to ECR and update ECS Service with it.
- Configure ECS Fargate task networking with a custom VPC and subnets.
- Create a Kubernetes Deployment in EKS with 3 replicas of a Node.js app.
- Configure EKS Deployment with environment variables using ConfigMaps.
- Create a Secret in EKS and mount it into your Deployment.
- Configure an Ingress Controller in EKS and expose your app using Ingress.
- Scale the EKS Deployment to 5 replicas and verify load balancing.
- Perform a rolling update of the EKS Deployment with a new image version.
- Rollback the EKS Deployment to the previous version.
- Configure IAM Role for EKS Pods to access an S3 bucket.
- Deploy Prometheus on EKS using Helm.
- Deploy Grafana on EKS and connect it to Prometheus.
- Create a custom Grafana dashboard for monitoring CPU usage of Pods.
- Configure EKS logging to CloudWatch.
- Integrate GitLab CI/CD to deploy a containerized app to ECS.
- Integrate GitHub Actions to deploy a Kubernetes app to EKS.
Advanced Questions
- Deploy a Blue-Green deployment on ECS with two services behind the same ALB.
- Deploy a Canary deployment on EKS using two Deployments and weighted Ingress routing.
- Automate ECS Service updates with a Jenkins pipeline (build → push → deploy).
- Automate EKS Deployment rollouts using a GitHub Actions workflow.
- Configure ECS Service to use spot instances for cost savings.
- Configure EKS Cluster Autoscaler to add/remove nodes based on load.
- Deploy a multi-container microservices app on EKS (frontend + backend + DB).
- Enable CloudWatch Container Insights for ECS/EKS and analyze logs.
- Secure ECS and EKS apps with IAM Roles, Security Groups, and Network Policies.
- Deliver a final hands-on project:
- Build Docker images and push to ECR
- Deploy microservices on ECS (Fargate) and EKS
- Expose via ALB + Ingress
- Integrate CI/CD with Jenkins or GitLab
- Implement Blue-Green rollout
- Monitor with Prometheus + Grafana
- Apply best practices for scaling & production security.