AWS Reference Architectures
This repository contains a collection of small AWS reference architectures and infrastructure patterns implemented to develop practical skills in networking, security, load balancing, serverless applications, and cloud resource lifecycle management.
Each project is documented with an architecture diagram, configuration evidence, validation results, and notes about security and operational improvements.
These environments were created in a personal AWS account for learning and experimentation. Temporary resources were removed after validation to control costs.
Projects
Project 1: Custom VPC Networking with Bastion Host
Designed and deployed a custom VPC with public and private subnets, an Internet Gateway, NAT Gateway, route tables, EC2 instances, and role-based security groups. A bastion-host pattern was used to provide controlled administrative access to the private EC2 instance.
Key components: VPC, public/private subnets, Internet Gateway, NAT Gateway, Elastic IP, route tables, EC2, security groups, bastion host, and CloudWatch.
Project 2: Highly Available Web Tier with Application Load Balancer
Implemented a multi-AZ web tier using an internet-facing Application Load Balancer and two EC2 instances. The instances were registered with a target group and protected by security groups that allow HTTP traffic only from the ALB.
Key components: VPC, multi-AZ subnets, EC2, Application Load Balancer, target groups, health checks, NAT Gateway, route tables, and layered security groups.
Project 3: Static Website Delivery with S3, CloudFront and Route 53
Implemented and validated a temporary serverless static website delivery workflow using Amazon S3, CloudFront, Route 53, and AWS Certificate Manager. Website files were stored in S3, delivered through CloudFront, secured with HTTPS, and mapped to a custom domain using Route 53 alias records.
The environment was decommissioned after successful validation to avoid unnecessary ongoing AWS costs.
Key components: Amazon S3, CloudFront, Route 53, ACM, HTTPS/TLS, DNS alias records, and cache invalidations.
Project 4: Serverless Student Submission API
Built and validated a serverless REST API that accepts student submission data through an API Gateway POST /submit endpoint. API Gateway uses a Lambda proxy integration to invoke a Python Lambda function, which validates the request, adds a unique identifier and UTC timestamp, and stores the item in DynamoDB.
The implementation also includes a dedicated IAM execution role, a resource-scoped DynamoDB permission, CloudWatch logging, API deployment stages, and a scripted cleanup workflow for removing temporary resources.
Key components: API Gateway REST API, Lambda, Python, DynamoDB, IAM, least-privilege permissions, CloudWatch Logs, AWS CLI, and Bash.
What This Repository Demonstrates
- AWS networking fundamentals, including VPCs, subnet segmentation, routing, Internet Gateways, and NAT Gateways.
- Security group design and least-privilege access controls.
- Private EC2 access through a bastion-host pattern.
- High availability across multiple Availability Zones.
- Application Load Balancer configuration, target groups, and health checks.
- Serverless static website delivery with S3, CloudFront, Route 53, and ACM.
- REST API design using API Gateway and Lambda proxy integration.
- IAM trust policies and resource-scoped permissions for Lambda workloads.
- DynamoDB persistence using the
PutItemAPI. - CloudWatch logging and validation of successful Lambda execution.
- AWS CLI and Bash automation for repeatable cleanup.
- Documentation, troubleshooting, validation, and cost-aware resource management.
Built With
- alb
- amazon-auto-scaling
- amazon-cloudfront-cdn
- amazon-cloudwatch
- amazon-dynamodb
- amazon-ec2
- amazon-lambda
- amazon-rds-relational-database-service
- amazon-vpc
- amazon-web-services
- html
- networking
- nginx
- python
- shell
- subnetting
- vpc
Log in or sign up for Devpost to join the conversation.