This project was built as part of a networking and terraform exercise focused on clean modular infrastructure design, reproducible deployments and to demonstrate practical understanding of:
- AWS VPC design
- Public and private subnet segmentation
- Route table configuration
- Internet access control
- Security group management
- Infrastructure as Code (IaC)
Region: eu-west-1
- Public and private subnets are separated to isolate internet-facing and internal resources.
- Route tables are explicitly associated to control traffic flow between subnets.
- Security groups follow least-privilege principles for inbound and outbound traffic.
- Terraform is used to ensure infrastructure is reproducible and version-controlled.
infra/
├── provider.tf
├── main.tf
├── variables.tf
├── outputs.tf
├── vpc.tf
├── subnets.tf
├── routes.tf
└── security_groups.tf
- AWS account
- AWS CLI configured
- Terraform installed
VPC and subnet resources created successfully in AWS:
Terraform successfully provisioning the infrastructure:
- Verified VPC and subnet creation in AWS Console
- Confirmed public subnet internet routing
- Confirmed route table associations
- Validated Terraform syntax and formatting
- Improved understanding of AWS VPC architecture
- Practiced subnet segmentation and routing concepts
- Gained experience using Terraform for Infrastructure as Code
- Learned how to structure Terraform configurations cleanly
- Add a NAT Gateway for private subnet internet access.
- Expand the architecture across multiple Availability Zones for higher availability.
- Implement Network ACLs for additional subnet-level security.
- Refactor Terraform code into reusable modules for better maintainability and scalability.
- Terraform Documentation
- AWS VPC Documentation


