AWS Assignment– 1
AWS EC2 for DevOps Learners
Basic Questions
- Launch an EC2 instance using AWS CLI with custom tags.
- Write a User Data script to install Jenkins automatically on launch.
- Write a User Data script to install Ansible on an EC2 instance.
- Launch multiple instances using a Launch Template.
- Configure Security Group to allow Jenkins (port 8080).
- Install and configure Git on an EC2 instance.
- Connect EC2 instance to GitHub repository using SSH keys.
- Create and configure IAM Role for EC2 with S3 access.
- Test uploading files from EC2 to S3 using the AWS CLI.
- Allocate an Elastic IP to Jenkins EC2 instance and update DNS record.
- Compare ELB types (Classic, Application, Network) in a note.
- Install and configure Terraform on an EC2 instance.
- Install and configure Docker on an EC2 instance.
- Deploy a simple Nginx container using Docker on EC2.
- Configure Jenkins to run a job that executes a shell script.
- Create a Security Group rule for GitLab Runner (port 22 and 443).
- Install GitLab Runner on EC2.
- Configure GitLab Runner to register with GitLab.
- Write a simple Ansible playbook to configure Apache on EC2.
- Run the Ansible playbook from another EC2 instance.
Intermediate Questions
- Create an Application Load Balancer (ALB) with two backend EC2 instances.
- Configure path-based routing on the ALB.
- Deploy an Auto Scaling Group (ASG) with min=1, max=3 instances.
- Configure scaling policy based on CPU utilization.
- Use CloudWatch alarms to trigger scaling events.
- Deploy Jenkins as a service behind the ALB.
- Use Terraform to launch an EC2 instance with Security Group + Key Pair.
- Automate provisioning of EC2 with Terraform + Jenkins integration.
- Use Ansible to configure Nginx on multiple EC2 instances.
- Configure Jenkins to trigger Ansible playbooks after build.
- Use GitHub Actions with EC2 as a self-hosted runner.
- Deploy Dockerized application on EC2 using Jenkins pipeline.
- Create a multi-container Docker Compose file and run it on EC2.
- Integrate Jenkins with GitHub to build and deploy code on EC2.
- Install Prometheus on EC2 for monitoring.
- Install Grafana on EC2 and connect it to Prometheus.
- Create a monitoring dashboard in Grafana for EC2 metrics.
- Use ELB access logs for monitoring and analysis.
- Configure Jenkins to deploy app updates via ASG rolling update.
- Document DevOps pipeline architecture using EC2, Jenkins, Ansible, Terraform, and Docker.
Advanced Questions
- Automate Jenkins setup using Terraform + User Data script.
- Deploy Jenkins master + slave architecture on EC2 instances.
- Configure Ansible to manage multiple EC2 instances launched by Terraform.
- Deploy a multi-tier app (frontend + backend + DB) using Terraform + Ansible.
- Use Jenkins pipeline to deploy a Dockerized app to EC2 ASG.
- Integrate CloudWatch alarms to trigger Jenkins job for scaling decisions.
- Implement a blue-green deployment with EC2 and ALB using Jenkins pipeline.
- Automate EBS snapshot backups for Jenkins EC2 using a shell script + cron.
- Create a cost optimization strategy for DevOps workloads on EC2 (Spot + Reserved instances).
- 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.