← Back to projectsView on GitHub 
Cloud and DevOps automation
Project
Cloud DevOps Automation Project 1
This project automates the deployment of an AWS EC2 instance and S3-hosted static website using Python and Boto3. It installs and configures a web server on EC2, serves dynamic metadata, uploads web content and media to S3, and enables basic monitoring and teardown features.
AWS • Python 3 • Boto3 • Apache Web Server • Bash • SSH/SCP • S3 Static Website Hosting • EC2 Automation • Cloudwatch

Further Details
Features
-
EC2 Automation
- Launches a
t2.nanoAmazon Linux 2 instance - Applies tags, security group, key pair, and user data
- Installs Apache and dynamically generates an
index.htmlusing instance metadata - Automatically opens the web server in a browser after provisioning
- Launches a
-
S3 Static Website Hosting
- Generates a unique bucket name, sets access policies
- Uploads a pre-built
index.htmland alogo.jpgimage - Configures static website hosting and opens the S3 site in a browser
-
Monitoring
- Custom Bash script (
monitor.sh) runs on the EC2 instance to report status, ports, services, and usage - Includes Apache, SSH, HTTP/S, and memory usage diagnostics
- Custom Bash script (
-
CloudWatch Integration
- Sets up alarms for high (≥85%) and low (≤30%) CPU utilization
- Alarm actions include rebooting or terminating the instance
- Describes active CloudWatch alarms for verification
-
Resource Cleanup (Optional)
- Prompts the user to delete the EC2 instance and/or S3 bucket after execution
- Prompts the user to delete the EC2 instance and/or S3 bucket after execution
Tools & Technologies
- Python 3
- Boto3 (AWS SDK for Python)
- AWS EC2 & S3
- CloudWatch Alarms
- Apache Web Server
- Bash Scripting
- SSH/SCP File Transfer
Output URLs
- EC2 Web Server (dynamic metadata):
http://<EC2-IP-Address> - S3 Static Website:
http://<bucket-name>.s3-website-us-east-1.amazonaws.com