API Gateways และ Edge: ประตูหน้าด่านระบบไมโครเซอวิส
เจาะลึกบทบาทของ API Gateway และ WAF ในการจัดการคำขอเครือข่าย ตรวจสอบสิทธิ์ และป้องกันภัยคุกคามที่ขอบเครือข่ายสำหรับวิศวกรคลาวด์

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- API Gateway ทำหน้าที่เป็นทางเข้าหลักเดียวสำหรับคำขอทั้งหมดไปยังแบกเอนด์เซอวิส
- ช่วยรวมระบบจัดการความปลอดภัย การจำกัดอัตราการเรียกใช้ และการแคชข้อมูลไว้ที่จุดเดียว
- WAF ทำหน้าที่กรองภัยคุกคามและคำขอที่เป็นอันตรายก่อนที่จะเข้ามาถึงเกตเวย์
- ลดความซ้ำซ้อนของโค้ดในแต่ละเซอวิสด้วยการจัดการปัญหาข้ามระบบที่ส่วนหน้า
เมื่อสถาปัตยกรรมแอปพลิเคชันถูกแยกย่อยออกเป็นเซอวิสต่างๆ เช่น ระบบยืนยันตัวตน ระบบคำสั่งซื้อ และระบบชำระเงิน ซึ่งแต่ละตัวรันบนโฮสต์และพอร์ตของตัวเอง การจัดการคำขอจากแอปพลิเคชันฝั่งไคลเอนต์จึงซับซ้อนขึ้น คำถามที่ทีมพัฒนาต้องเผชิญคือการแจกจ่าย URL หลายจุด การตรวจสอบโทเค็น การป้องกันการส่งคำขอซ้ำๆ ถี่ๆ ไปยังหน้าล็อกอิน และการจัดการส่วนหัว CORS รวมถึงการแคชคำตอบที่มีต้นทุนประมวลผลสูง
คำตอบสำหรับปัญหานี้คือการใช้งาน API Gateway ซึ่งทำหน้าที่เป็นประตูด่านหน้าเพียงแห่งเดียวที่ทุกคำขอต้องผ่านก่อนเข้าถึงแบกเอนด์เซอวิส ช่วยปลดภาระปัญหาที่เกี่ยวพันหลายระบบออกจากโค้ดหลักของแอปพลิเคชัน โดยหลักการทำงานเปรียบเสมือนเคาน์เตอร์ต้อนรับของโรงแรม ที่แขกผู้เข้าพักไม่ต้องเดินหาห้องครัวหรือสำนักงานของผู้จัดการด้วยตัวเอง แต่ติดต่อผ่านพนักงานต้อนรับผู้จัดการทุกเรื่องแทน
โครงสร้างเครือข่ายจะวางตำแหน่งเกตเวย์ไว้ระหว่างอินเทอร์เน็ตสาธารณะและเซอวิสส่วนตัว โดยมี WAF และ CDN อยู่ที่ขอบเครือข่าย (Edge) คอยกรองและจัดการคำขอก่อนส่งต่อให้เกตเวย์จัดการเรื่องเส้นทาง การยืนยันตัวตน (Authentication) การจำกัดอัตราการเรียกใช้ (Rate Limiting) การแปลงข้อมูล (Transform) และการแคช โดยกฎการทำงานทั่วไปจะถูกกำหนดค่าแบบประกาศ (Declarative) เช่น การกำหนดเส้นทางบริการคำสั่งซื้อด้วย JWT การจำกัดการเรียกใช้งาน 100 ครั้งต่อนาทีต่อไคลเอนต์ การแคชผลลัพธ์ GET เป็นเวลา 30 วินาที และการปรับแต่งส่วนหัวของคำขอหรือการตอบกลับ
การทำความเข้าใจสถาปัตยกรรม API Gateway เป็นก้าวสำคัญสำหรับวิศวกรระบบคลาวด์และแบกเอนด์ เนื่องจากช่วยลดความซับซ้อนในการดูแลรักษาความปลอดภัยและการสื่อสารระหว่างไมโครเซอวิส การย้ายภาระงานเหล่านี้ออกจากโค้ดแอปพลิเคชันหลักไม่เพียงแต่ช่วยให้โค้ดสะอาดขึ้น แต่ยังช่วยให้ทีมสามารถปรับเปลี่ยนนโยบายความปลอดภัยหรือสเกลระบบได้จากศูนย์กลางโดยไม่ต้องแก้ไขโค้ดในแต่ละบริการ
ในส่วนของการป้องกันความปลอดภัย WAF (Web Application Firewall) จะทำหน้าที่เสมือนด่านตรวจที่อยู่หน้าเกตเวย์อีกทีหนึ่ง เพื่อคอยตรวจสอบว่าคำขอมีความผิดปกติหรือเข้าข่ายการโจมตี เช่น SQL injection หรือ XSS หรือไม่ รวมถึงการสกัดกั้นไอพีที่น่าสงสัยก่อนที่จะส่งผลกระทบต่อระบบภายใน โดยทำงานร่วมกับ CDN ที่ช่วยจัดการการรับส่งข้อมูลและการยุติ TLS ใกล้กับผู้ใช้งานทั่วโลก
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น