ข้ามไปเนื้อหาหลัก
เครือข่าย· ~12 นาที· อัปเดตล่าสุด

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 ข้อ · เฉลยทันที

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