AWS Assignment– 1

AWS EC2 for DevOps Learners

Basic Questions

  1. Launch an EC2 instance using AWS CLI with custom tags.
  2. Write a User Data script to install Jenkins automatically on launch.
  3. Write a User Data script to install Ansible on an EC2 instance.
  4. Launch multiple instances using a Launch Template.
  5. Configure Security Group to allow Jenkins (port 8080).
  6. Install and configure Git on an EC2 instance.
  7. Connect EC2 instance to GitHub repository using SSH keys.
  8. Create and configure IAM Role for EC2 with S3 access.
  9. Test uploading files from EC2 to S3 using the AWS CLI.
  10. Allocate an Elastic IP to Jenkins EC2 instance and update DNS record.
  11. Compare ELB types (Classic, Application, Network) in a note.
  12. Install and configure Terraform on an EC2 instance.
  13. Install and configure Docker on an EC2 instance.
  14. Deploy a simple Nginx container using Docker on EC2.
  15. Configure Jenkins to run a job that executes a shell script.
  16. Create a Security Group rule for GitLab Runner (port 22 and 443).
  17. Install GitLab Runner on EC2.
  18. Configure GitLab Runner to register with GitLab.
  19. Write a simple Ansible playbook to configure Apache on EC2.
  20. Run the Ansible playbook from another EC2 instance.

Intermediate Questions

  1. Create an Application Load Balancer (ALB) with two backend EC2 instances.
  2. Configure path-based routing on the ALB.
  3. Deploy an Auto Scaling Group (ASG) with min=1, max=3 instances.
  4. Configure scaling policy based on CPU utilization.
  5. Use CloudWatch alarms to trigger scaling events.
  6. Deploy Jenkins as a service behind the ALB.
  7. Use Terraform to launch an EC2 instance with Security Group + Key Pair.
  8. Automate provisioning of EC2 with Terraform + Jenkins integration.
  9. Use Ansible to configure Nginx on multiple EC2 instances.
  10. Configure Jenkins to trigger Ansible playbooks after build.
  11. Use GitHub Actions with EC2 as a self-hosted runner.
  12. Deploy Dockerized application on EC2 using Jenkins pipeline.
  13. Create a multi-container Docker Compose file and run it on EC2.
  14. Integrate Jenkins with GitHub to build and deploy code on EC2.
  15. Install Prometheus on EC2 for monitoring.
  16. Install Grafana on EC2 and connect it to Prometheus.
  17. Create a monitoring dashboard in Grafana for EC2 metrics.
  18. Use ELB access logs for monitoring and analysis.
  19. Configure Jenkins to deploy app updates via ASG rolling update.
  20. Document DevOps pipeline architecture using EC2, Jenkins, Ansible, Terraform, and Docker.

Advanced Questions

  1. Automate Jenkins setup using Terraform + User Data script.
  2. Deploy Jenkins master + slave architecture on EC2 instances.
  3. Configure Ansible to manage multiple EC2 instances launched by Terraform.
  4. Deploy a multi-tier app (frontend + backend + DB) using Terraform + Ansible.
  5. Use Jenkins pipeline to deploy a Dockerized app to EC2 ASG.
  6. Integrate CloudWatch alarms to trigger Jenkins job for scaling decisions.
  7. Implement a blue-green deployment with EC2 and ALB using Jenkins pipeline.
  8. Automate EBS snapshot backups for Jenkins EC2 using a shell script + cron.
  9. Create a cost optimization strategy for DevOps workloads on EC2 (Spot + Reserved instances).
  10. Deliver a capstone project:
    • Terraform launches EC2 + Security Groups
    • Ansible configures app
    • Jenkins pipeline builds + deploys
    • Docker containers run app
    • ALB + ASG scale app
    • Prometheus + Grafana monitor app.