Welcome to my Infrastructure as Code (IaC) learning repository! This repo documents my journey in mastering Terraform and AWS, transitioning from simple configurations to production-ready architectures.
| Project Name | Description | AWS Services Covered |
|---|---|---|
| Project 1: S3 Static Site | Hosting a static website on S3. | S3 |
| Project 2: EC2 & Networking | Deploying a web server with Security Groups. | EC2, VPC, SG |
| Project 3: 3-Tier Architecture | Highly available network with Database/App/Web tiers. | VPC, RDS, ALB, EC2 |
(Note: Click the links above to see the detailed documentation for each project.)
To work with this repository, ensure you have the following installed on your local machine:
- Terraform:
v1.0or higher. - AWS CLI: Configured with
aws configure. - Git: For version control.
All projects in this repository assume you have an active AWS CLI profile set up. Run the following command before initializing any project:
aws configure- Clone the repo:
git clone <your-repo-url> cd <your-repo-name>
- Navigate to a specific project folder:
cd project-1-s3 - Initialize and Deploy:
Follow the specific
README.mdinside each project folder to deploy that specific infrastructure.
- Lifecycle Management: Using
terraform init,plan, andapplyto manage real-world resources. - State Management: Understanding how to use local state vs. remote backends.
- Modularity: Breaking down complex infrastructure into reusable, clean modules.
- Security: Implementing "Security Groups as Code" and avoiding hardcoded credentials.
Feel free to explore the code. If you have any feedback or suggestions on how I can improve my infrastructure patterns, I'd love to hear them!