This project deploys a Flask web application on an AWS EC2 instance. The application interacts with an S3 bucket to list its contents via a REST API. The infrastructure is provisioned using Terraform.
- Infrastructure as Code (IaC): Terraform is used to create and manage AWS resources.
- Flask Application: A Python web app that lists contents of an S3 bucket using Boto3.
- AWS S3 Integration: Dynamically fetches bucket directories and files via REST API endpoints.
- Secure Deployment: Utilizes SSH and security groups for secure access.
- AWS Account with programmatic access enabled.
- AWS CLI configured with a profile (
default) for the desired region. - Terraform installed on your local machine.
- Python (with Flask and Boto3 installed) for development/testing the app locally.
- SSH Key Pair:
- Create an SSH key pair named
s3-instance-RSAin AWS or locally. - Place the private key (
s3-instance-RSA.pem) in the project directory.
- Create an SSH key pair named
git clone <repository_url>
cd <repository_name>