NAT Gateway
ให้ private subnet ออกเน็ตได้แต่ภายนอกเข้าไม่ได้
NAT เหมือนพนักงานรับ-ส่งของหน้าตึก: คนที่อยู่ด้านในห้องนิรภัย (Private Subnet) สามารถฝากพนักงานคนนี้ออกไปซื้อของจากข้างนอกได้ แต่คนนอกตึกจะไม่มีสิทธิ์เดินผ่านพนักงานคนนี้เข้าไปหาคนในห้องนิรภัยได้เลย
NAT (Network Address Translation) Gateway ถูกสร้างมาเพื่อให้เครื่องเซิร์ฟเวอร์ที่ถูกซ่อนอยู่ใน Private Subnet สามารถดึงข้อมูลหรือดาวน์โหลดอัปเดตจากอินเทอร์เน็ตได้แบบ "ทางเดียว" คือข้อมูลส่งออกไปได้ แต่จากภายนอกไม่สามารถเริ่มเชื่อมต่อทะลุเข้ามาหาเซิร์ฟเวอร์ของเราได้
- NAT Gateway ต้องวางอยู่ใน Public Subnet เสมอ และเป็นบริการแบบ Managed (AWS ดูแลให้เครื่องไม่พังภายใน AZ นั้น)
- เราต้องไปปรับ Route Table ของ Private Subnet ให้ชี้
0.0.0.0/0(อินเทอร์เน็ต) วิ่งไปหาNAT Gateway - เพื่อความทนทานในสถาปัตยกรรมแบบ Multi-AZ ควรสร้าง NAT Gateway 1 ตัวต่อ 1 AZ
- บริการนี้มีค่าใช้จ่าย ทั้งรายชั่วโมงและตามปริมาณข้อมูล (GB) ที่วิ่งผ่าน
สรุป Key Takeaways
- NAT ให้ private subnet ออกเน็ตได้ทางเดียว (เข้าไม่ได้)
- วาง NAT ใน public subnet; ทำ NAT ต่อ AZ เพื่อ HA
- IGW = สองทาง (public), NAT = ออกทางเดียว (private)
คำถามที่พบบ่อย
NAT Gateway ควรวางไว้ subnet ไหน
จุดที่คนพลาดบ่อยสุด: NAT Gateway ต้องอยู่ใน "public subnet" (เพราะตัวมันต้องออก internet ผ่าน IGW) แล้วให้ route table ของ private subnet ชี้ 0.0.0.0/0 มาที่มัน — วางผิดฝั่ง private ทั้งระบบจะออกเน็ตไม่ได้
NAT Gateway ตัวเดียวพอไหมสำหรับ production
ไม่พอถ้าซีเรียส HA — NAT Gateway อยู่ใน AZ เดียว ถ้าโซนนั้นล่ม private subnet โซนอื่นที่พึ่งมันจะออกเน็ตไม่ได้ แนวปฏิบัติคือมี NAT ประจำแต่ละ AZ และชี้ route ของโซนตัวเอง — ประหยัดค่า transfer ข้ามโซนด้วย
ค่าใช้จ่าย NAT Gateway ลดยังไง
NAT คิดทั้งรายชั่วโมงและต่อ GB ที่ผ่าน — ตัวลดที่ข้อสอบชอบ: ทราฟฟิกไป S3/DynamoDB ให้ใช้ Gateway VPC Endpoint (ฟรี) แทนการวิ่งผ่าน NAT ซึ่งลดค่าใช้จ่ายก้อนใหญ่ได้ทันที
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

