Posts

Day 22 - Deploying an RDS MySQL Web Application Stack with Terraform Modules

Image
Introduction For Day 22 of my 30 Days of AWS Terraform challenge, I built a small but complete web application stack using Terraform modules. The goal of this mini project was to deploy a Flask web application on an EC2 instance and connect it securely to an RDS MySQL database running in private subnets. This project helped me understand how a real application stack is usually separated into networking, compute, database, and security layers. Architecture The architecture includes: VPC with public and private subnets EC2 instance in the public subnet RDS MySQL database in private subnets Security groups controlling traffic between EC2 and RDS Internet Gateway for public access to the web server This diagram should show users accessing the EC2 Flask application through the internet, while the EC2 instance connects privately to RDS MySQL. Terraform Module Structure I used a modular Terraform structure instead of putting everything into one large main.tf file. The project ...

Day 21 - AWS Policy and Governance

Image
For Day 21 of my AWS Terraform learning journey, I worked on a mini project focused on AWS policy creation and governance setup. The goal was to build a small but practical governance foundation using Terraform, IAM policies, AWS Config, S3 security controls, and compliance rules. This project helped me understand how cloud governance is not just about creating resources. It is about continuously checking whether those resources follow security and compliance expectations. Project Goal The main goal of this project was to create a governance setup that can monitor AWS resources and detect misconfigurations. I implemented the following: IAM policies for security enforcement AWS Config recorder for continuous monitoring AWS Config delivery channel to store snapshots in S3 Seven AWS Config managed rules Secure S3 bucket for Config data Account password policy Required tagging checks Public access and encryption controls This is a good example of using infrastructure as code f...

Day 20 - Deploying an Amazon EKS Cluster Using Custom Terraform Modules

Image
Introduction In this project, I deployed a complete Amazon EKS environment using Terraform custom modules. The goal of this implementation was to understand how production style Kubernetes infrastructure is organized using reusable Terraform modules instead of a single monolithic configuration file. The deployment included: Custom VPC across 3 Availability Zones Public and private subnets NAT Gateway IAM roles for EKS Amazon EKS cluster Managed node groups Spot and On Demand worker nodes IRSA and OIDC provider Kubernetes add-ons NGINX sample application deployment AWS LoadBalancer integration This project helped me better understand how Kubernetes networking, IAM, Terraform modules, and AWS managed services work together in real-world environments. Architecture Diagram Project Structure day20-eks-custom-modules/ ├── main.tf ├── variables.tf ├── outputs.tf ├── provider.tf ├── backend.tf ├── modules/ │ ├── vpc/ │ ├── iam/ │ ├── eks/ │ └── secrets-...