Here’s a clean GitHub-ready aws-architecture-flow.md Markdown file based on your content. You can paste this directly into a repo.
The request starts with DNS handled by Amazon Route 53.
Example:
example.com → ALB
Route53 resolves the domain name to the Application Load Balancer (ALB) address.
Traffic reaches the VPC through the Internet Gateway attached to the Amazon VPC.
Inside the VPC we typically separate resources into:
- Public Subnet
- Private Subnet
Public subnets contain internet-facing components such as:
- Application Load Balancer (ALB)
- NAT Gateway
Example route table for a public subnet:
0.0.0.0/0 → Internet Gateway
This allows resources in the subnet to communicate with the internet.
The load balancer sends traffic to backend servers running on Amazon EC2.
Example request flow:
User request ↓ ALB ↓ EC2 instance 1 EC2 instance 2 EC2 instance 3
This improves:
- Availability
- Scalability
- Fault tolerance
Application servers are usually placed in private subnets.
Reason:
Security
These servers should not be reachable from the internet directly.
Traffic flow:
ALB → EC2
The database (often Amazon RDS) sits in private subnets as well.
Example security rule:
RDS inbound: Port 3306 from EC2 security group
This ensures the database cannot be accessed directly from the internet.
Private servers still need to:
- Download updates
- Install packages
- Call external APIs
They use a NAT Gateway for outbound access:
EC2 → NAT Gateway → Internet
NAT allows outbound traffic only, blocking inbound connections from the internet.
User ↓ Route53 ↓ Internet ↓ ALB (public subnet) ↓ EC2 Auto Scaling (private subnet) ↓ RDS database
Production systems typically follow three layers:
Edge layer → Load Balancer Application layer → EC2 Data layer → Database
Each layer is isolated and secured.
Security in AWS is implemented in multiple layers:
NACL ↓ Security Groups ↓ Application Firewall
This defense-in-depth strategy protects the infrastructure from multiple attack vectors.
A typical secure AWS architecture includes:
- VPC network isolation
- Public and private subnets
- Load balancing
- Auto scaling compute
- Secure database access
- Controlled outbound internet via NAT
This design provides:
- High availability
- Scalability
- Security