AWS Assignment– 5

ECS & EKS for Containerized Deployments

Basic Questions

  1. Create an ECR repository named myapp-repo and push a Docker image into it.
  2. Create an ECS Cluster using the EC2 launch type.
  3. Create an ECS Cluster using the Fargate launch type.
  4. Write a simple ECS Task Definition for an Nginx container.
  5. Deploy the Task Definition as a Service with 2 tasks running.
  6. Expose the ECS service using a Security Group that allows HTTP traffic.
  7. Verify ECS service logs in CloudWatch.
  8. Scale ECS service from 2 tasks to 4 tasks manually.
  9. Delete an ECS Service and observe task termination.
  10. Deploy an ECS Task using Fargate and compare it with EC2 launch type.
  11. Create a new EKS cluster using the AWS Management Console.
  12. Configure aws eks update-kubeconfig to access the EKS cluster with kubectl.
  13. Create an EKS Node Group with 2 worker nodes.
  14. Deploy a simple Nginx Pod into the EKS cluster.
  15. Create a Deployment in EKS with 2 replicas of Nginx.
  16. Expose the Deployment with a ClusterIP Service.
  17. Expose the same Deployment with a LoadBalancer Service.
  18. Verify the Service external IP works in the browser.
  19. Use kubectl get nodes to list all worker nodes in EKS.
  20. Write a short note on differences between ECS and EKS.

Intermediate Questions

  1. Create an ECS Task Definition for a 2-container app: nginx (frontend) + redis (backend).
  2. Deploy the above Task as a Service in ECS and verify communication.
  3. Configure an ECS Service with an Application Load Balancer (ALB).
  4. Enable auto scaling for ECS tasks using CloudWatch CPU metrics.
  5. Push a new version of your Docker image to ECR and update ECS Service with it.
  6. Configure ECS Fargate task networking with a custom VPC and subnets.
  7. Create a Kubernetes Deployment in EKS with 3 replicas of a Node.js app.
  8. Configure EKS Deployment with environment variables using ConfigMaps.
  9. Create a Secret in EKS and mount it into your Deployment.
  10. Configure an Ingress Controller in EKS and expose your app using Ingress.
  11. Scale the EKS Deployment to 5 replicas and verify load balancing.
  12. Perform a rolling update of the EKS Deployment with a new image version.
  13. Rollback the EKS Deployment to the previous version.
  14. Configure IAM Role for EKS Pods to access an S3 bucket.
  15. Deploy Prometheus on EKS using Helm.
  16. Deploy Grafana on EKS and connect it to Prometheus.
  17. Create a custom Grafana dashboard for monitoring CPU usage of Pods.
  18. Configure EKS logging to CloudWatch.
  19. Integrate GitLab CI/CD to deploy a containerized app to ECS.
  20. Integrate GitHub Actions to deploy a Kubernetes app to EKS.

Advanced Questions

  1. Deploy a Blue-Green deployment on ECS with two services behind the same ALB.
  2. Deploy a Canary deployment on EKS using two Deployments and weighted Ingress routing.
  3. Automate ECS Service updates with a Jenkins pipeline (build → push → deploy).
  4. Automate EKS Deployment rollouts using a GitHub Actions workflow.
  5. Configure ECS Service to use spot instances for cost savings.
  6. Configure EKS Cluster Autoscaler to add/remove nodes based on load.
  7. Deploy a multi-container microservices app on EKS (frontend + backend + DB).
  8. Enable CloudWatch Container Insights for ECS/EKS and analyze logs.
  9. Secure ECS and EKS apps with IAM Roles, Security Groups, and Network Policies.
  10. 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.