Consider An E-commerce webiste or an online store
Lets Paint a Scenario
Step 1 - To Create our own VPC
+ Name your vpc i have named it (MyVpc)
+ IPv4 CIDR - 10.0.0.0/16
+ Create VPC
+ Edit VPC Settings
+ Enable DNS Hostname
Step 2 - To Create Internet Gateway
+ Name IGW
+ Create IGW
+ Attach IGW with Your VPC(MyVpc)
Step 3 - To Create Subnets (9)
Web Tier Subnets
+Name = Public-subnet-AZ1
+Availability Zones = ap-south-1a
+IP CIDR = 10.0.0.0/24
+Name = Public-subnet-AZ2
+Availabilty Zones = ap-south-1b
+IP CIDR = 10.0.1.0/24
+Name = Public-subnet-AZ3
+Availability Zones = ap-south-1c
+IP CIDR = 10.0.2.0/24
Application Tier Subnets
+Name = app-subnet-AZ1
+Availabilty Zones = ap-south-1a
+IP CIDR = 10.0.3.0/24
+Name = app-subnet-AZ2
+Availabilty Zones = ap-south-1b
+IP CIDR = 10.0.4.0/24
+Name = app-subnet-AZ3
+Availabilty Zones = ap-south-1c
+IP CIDR = 10.0.5.0/24
Database Tier Subnets
+Name = Private-db-subnet-AZ1
+Availabilty Zones = ap-south-1a
+IP CIDR = 10.0.6.0/24
+Name = Private-db-subnet-AZ2
+Availabilty Zones = ap-south-1b
+IP CIDR = 10.0.7.0/24
+Name = Private-db-subnet-AZ3
+Availabilty Zones = ap-south-1c
+IP CIDR = 10.0.8.0/24
Step 4 - Go to Subnets settings and Enable auto assign IPv4 address in all public subnets
Step 5 - To create a Route tables
<Public-RT>
<Private-app-RT>
<Private-db-RT>
Step 6 - To Create a NAT Gateway
+Name - Nat-GTW-AZ1
+Subnet - AZ1
+Connection Type - Public
+Allocate an Elastic IP
+Create NAT-GW
Step 7 - To Edit Public Route Table with IGW
+Go to Public-RT
+Edit Association
+Edit Routes
+Add routes
+Destination Anywhere (0.0.0.0/0)
+Target - MyIGW
+Save Changes
Step 8 - Associate Public RT with all public subnets
Likewise do same for Private-app-RT and Private-db-RT
Step 9 - Now Edit Private-app Route Table with NAT-GW-AZ1
Step 10 - Now Edit Private-db Route Table with NAT-GW-AZ1