ข้ามไปเนื้อหาหลัก
เครือข่าย· ~16 นาที

Subnet: public และ private

แบ่งโซนในเครือข่าย โซนไหนออกเน็ตได้ โซนไหนซ่อนไว้

เปรียบเทียบให้เห็นภาพ

แบ่ง subnet เหมือนแบ่งโซนในบ้าน — public subnet คือหน้าบ้าน/ร้านที่ลูกค้าเดินเข้าได้ ส่วน private subnet คือห้องนิรภัยด้านในที่คนนอกเข้าไม่ได้

สิ่งที่ทำให้ subnet เป็น "public" คือ route table ของมันมีเส้นทางออกสู่ Internet Gateway (IGW) ส่วน private subnet ไม่มี จึงเข้าถึงจากอินเทอร์เน็ตตรง ๆ ไม่ได้

VPC: subnet สาธารณะออกเน็ตได้ ส่วน private ถูกซ่อน

Internet
VPC 10.0.0.0/16
Public Subnet 10.0.1.0/24
IGWประตูเน็ต
EC2 (web)มี public IP
NAT GWทางออก private
Private Subnet 10.0.2.0/24
EC2 (app)ไม่มี public IP
RDSฐานข้อมูล

เน็ตเข้าถึง public subnet ผ่าน IGW ได้ · private subnet ออกเน็ตผ่าน NAT ได้ แต่เน็ตเข้าตรง ๆ ไม่ได้

VPC / Subnet Visualizer

สร้าง subnet แล้วลองส่ง request จากอินเทอร์เน็ต — ดูว่าทำไม private subnet ถึงเข้าตรง ๆ ไม่ได้

Internet
VPC 10.0.0.0/16
Public Subnet

route → IGW (มี public IP)

Private Subnet

ไม่มีเส้นทางจากเน็ตเข้าตรง ๆ

ลองเพิ่ม subnet แล้วส่ง request ดูว่า public/private ต่างกันยังไง
  • Public subnet — วางของที่ต้องรับ traffic จากเน็ต เช่น web server, Load Balancer, NAT Gateway
  • Private subnet — วางของที่ควรซ่อน เช่น app server, ฐานข้อมูล RDS
  • แพตเทิร์นยอดนิยม: web อยู่ public, app + database อยู่ private

สรุป Key Takeaways

  • public subnet = route ออก IGW ได้, private subnet = ไม่มีเส้นทางตรงสู่เน็ต
  • วาง web/LB/NAT ใน public · วาง app/DB ใน private
  • ห้ามวางฐานข้อมูลใน public subnet

ลองทำ Quiz ท้ายบท

คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

อ่านจบแล้วอย่าลืมทำเครื่องหมาย