Step 1. Create a VPC
Name: restaurant-vpc
CIDR: 10.0.0.0/16
Result:
AWS
└── VPC
└── 10.0.0.0/16
Step 2. Create an Internet Gateway (IGW)
restaurant-igw
Attach it to the VPC.
Result:
Internet
│
Internet Gateway
│
restaurant-vpc
Step 3. Create Public Subnets
Create two public subnets in different Availability Zones.
public-subnet-1a
AZ: us-east-1a
CIDR: 10.0.1.0/24
public-subnet-1b
AZ: us-east-1b
CIDR: 10.0.2.0/24
Enable:
Auto Assign Public IP = Yes
Result:
VPC
├── Public Subnet 1A
└── Public Subnet 1B
Step 4. Create Private Subnets
private-subnet-1a
AZ: us-east-1a
CIDR: 10.0.11.0/24
private-subnet-1b
AZ: us-east-1b
CIDR: 10.0.12.0/24
Do NOT enable public IP.
Result:
VPC
├── Public 1A
├── Public 1B
├── Private 1A
└── Private 1B
Step 5. Create Public Route Table
restaurant-public-rt
Add route:
Destination Target
0.0.0.0/0 ---> Internet Gateway
Associate it with:
- Public Subnet 1A
- Public Subnet 1B
Step 6. Create Elastic IP
VPC → Elastic IP
Allocate one Elastic IP.
Step 7. Create NAT Gateway
Inside:
public-subnet-1a
Attach:
- Elastic IP
Wait until status becomes Available.
Step 8. Create Private Route Table
restaurant-private-rt
Route:
0.0.0.0/0 ---> NAT Gateway
Associate:
- Private Subnet 1A
- Private Subnet 1B
Step 9. Create Security Groups
For example:
ALB SG
HTTP 80
HTTPS 443
Source:
0.0.0.0/0
ECS SG
80
Source:
ALB Security Group
Database SG (later)
5432
Source:
ECS Security Group
Step 10. Launch EC2 (optional Bastion)
Place it in:
Public Subnet
Assign Public IP.
Step 11. Create ECS Cluster
restaurant-cluster
Step 12. Create Task Definition
Docker image
CPU
Memory
Logs
Execution Role
Step 13. Create ECS Service
Choose:
Launch Type:
Fargate
Network:
Private Subnet 1A
Private Subnet 1B
Security Group:
ecs-sg
Public IP:
Disabled
Step 14. Create ALB
Choose:
Internet Facing
Subnets:
Public 1A
Public 1B
Security Group:
alb-sg
Step 15. Create Target Group
Type:
IP
Health Check:
/
or
/health
Step 16. Connect ECS Service to ALB
Listener:
443
Target Group:
restaurant-tg
Step 17. Create Route 53
Hosted Zone
Create:
A Record
Alias → ALB
Step 18. Create ACM Certificate
Request:
restaurant-company.com
Validate with Route 53.
Attach to ALB.
Step 19. Enable Auto Scaling
Minimum:
1
Desired:
1
Maximum:
4
Policy:
CPU 60%
Step 20. Enable Monitoring
- CloudWatch Logs
- CloudWatch Metrics
- CloudWatch Alarm
- SNS Notification
Final Architecture
Internet
│
Internet Gateway
│
┌─────────────────────────┐
│ VPC │
│ 10.0.0.0/16 │
└─────────────────────────┘
│ │
Public Subnet A Public Subnet B
10.0.1.0/24 10.0.2.0/24
│ │
ALB (HTTPS)─────────────┘
│
Target Group
│
┌───────┴────────┐
│ │
Private Subnet A Private Subnet B
10.0.11.0/24 10.0.12.0/24
│ │
ECS Task 1 ECS Task 2
│ │
└───────┬────────┘
│
Private Route Table
│
NAT Gateway
│
Elastic IP
│
Internet
This sequence gives students a clear understanding of how networking is built from the ground up before deploying applications.
Top comments (0)