Thuta Learning
ရှာဖွေရန်
IntermediateDevOpsbeginner

VPC Basics (Virtual Private Cloud)

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • VPC Basics (Virtual Private Cloud) ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် AWS CLI/Console ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

VPC (Virtual Private Cloud) က AWS Region တစ်ခုအတွင်း ကိုယ်ပိုင် private network (IP address range သတ်မှတ်ထားသော) တစ်ခု ဖန်တီးနိုင်ပါတယ် — resource (EC2, RDS) တွေကို ဒီ network ထဲမှာပဲ ထားပါတယ်။ Subnet က VPC ကို ပိုသေးငယ်တဲ့ IP range အုပ်စု ခွဲထားခြင်းပါ — Public Subnet (Internet Gateway ကနေ internet ချိတ်ဆက်နိုင်, web server အတွက်) နဲ့ Private Subnet (internet ကနေ တိုက်ရိုက်မထိတွေ့နိုင်, database အတွက်) ဆိုပြီး ခွဲလေ့ရှိပါတယ်။ Route Table ကတော့ subnet ထဲက traffic ကို ဘယ်ဘက် route လုပ်ရမလဲ ဆိုတဲ့ rule (Internet Gateway ကနေ ထွက်မယ်, ဒါမှမဟုတ် VPC ထဲပဲ ဆက်နေမယ်) ပါ.

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Three-tier web app (frontend + backend + database) ကို VPC ထဲမှာ deploy ရင် — frontend/backend EC2 instance တွေကို Public Subnet ထဲထားပြီး internet ကနေ traffic လက်ခံပါတယ်, database (RDS) ကို Private Subnet ထဲထားပြီး internet ကနေ တိုက်ရိုက် access မရအောင် ကာကွယ်ပါတယ် (backend server ကနေပဲ database ကို ချိတ်ဆက်ခွင့်ပြု).

အတူတူ ကြည့်မယ်

bash
# Create a VPC with a 10.0.0.0/16 IP range
aws ec2 create-vpc --cidr-block 10.0.0.0/16

# Create a public subnet inside it
aws ec2 create-subnet --vpc-id vpc-0123456789abcdef0 --cidr-block 10.0.1.0/24

# Create a private subnet for the database tier
aws ec2 create-subnet --vpc-id vpc-0123456789abcdef0 --cidr-block 10.0.2.0/24
You should see
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=vpc-0123456789abcdef0
# Shows both the 10.0.1.0/24 (public) and 10.0.2.0/24 (private) subnets

၅ မိနစ် စမ်းကြည့်

VPC တစ်ခု (10.0.0.0/16) create လုပ်ပြီး, subnet ၂ ခု (public/private) ခွဲကြည့်ပါ — AWS Console ရဲ့ VPC diagram view ကို ကြည့်ပြီး ဖွဲ့စည်းပုံကို visualize လုပ်ကြည့်ပါ။

သတိလေးတစ်ချက်

Default VPC (AWS account create ချိန် auto-create ဖြစ်တဲ့ VPC) ကို production အတွက် သုံးမယ့်အစား, ကိုယ်တိုင် ဒီဇိုင်းလုပ်ထားတဲ့ custom VPC ကို production မှာ သုံးသင့်ပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Database (RDS) ကို Public Subnet ထဲ ထားခြင်း — internet ကနေ တိုက်ရိုက် attack ခံရနိုင်ပါတယ်
  • VPC IP range ကို ကွဲပြားတဲ့ project ၂ ခုအတွက် တူညီအောင် ရွေးချယ်ခြင်း — နောက်ပိုင်း VPC ၂ ခုကို connect ချင်ရင် (VPC Peering) IP conflict ဖြစ်နိုင်ပါတယ်

အခု ကိုယ်တိုင် စမ်းကြည့်

VPC တစ်ခု (10.0.0.0/16) create လုပ်ပြီး, subnet ၂ ခု (public/private) ခွဲကြည့်ပါ — AWS Console ရဲ့ VPC diagram view ကို ကြည့်ပြီး ဖွဲ့စည်းပုံကို visualize လုပ်ကြည့်ပါ။

You'll know it worked when: $ aws ec2 describe-subnets --filters Name=vpc-id,Values=vpc-0123456789abcdef0 # Shows both the 10.0.1.0/24 (public) and 10.0.2.0/24 (private) subnets

VPC Basics (Virtual Private Cloud) | Thuta Learning