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

Amazon CloudFront

บริการแคชเนื้อหาใกล้ผู้ใช้ทั่วโลกเพื่อให้โหลดเว็บไว

ร้านอาหารแฟรนไชส์

ถ้ามีครัวกลางทำสูตรอาหารอยู่ที่ไทย (Origin) แล้วคนอยู่อเมริกาอยากกิน ถ้าต้องส่งข้าวข้ามทวีปทุกชาม ลูกค้าคงโมโหหิว. CloudFront (CDN) เหมือนระบบแฟรนไชส์ — มันเอาสูตรไปตั้งตู้เย็นสต๊อกไว้ที่หน้าปากซอยของคนอเมริกาเลย (Edge Location) พอลูกค้าสั่งปุ๊บก็เอาจากตู้เย็นปากซอยให้เลย! ได้กินในเสี้ยววิ!

Amazon CloudFront (บริการเครือข่ายส่งมอบเนื้อหา - CDN) คือบริการที่นำคอนเทนต์ (เช่น ไฟล์ภาพ, วิดีโอ, หน้าเว็บ) ไปฝากก๊อปปี้แคชเอาไว้ที่ Edge Locations (จุดกระจายระดับขอบข่าย) ซึ่งมีหลายร้อยจุดทั่วโลก ทำให้ผู้ใช้งานต่างทวีปสามารถดาวน์โหลดข้อมูลเหล่านั้นได้รวดเร็วทันใจ

  • Origin (ต้นทาง) — คือแหล่งที่เก็บไฟล์ต้นฉบับ ซึ่งส่วนใหญ่มักจะเป็น Amazon S3 (เก็บรูป/วิดีโอ) หรือ ALB/EC2
  • ปกป้องเซิร์ฟเวอร์หลัก (DDoS Protection) เพราะ CloudFront ทำหน้าที่เป็นกันชนด่านหน้าสุด (มันแถมมาพร้อมบริการป้องกัน AWS Shield Standard ทันที)
  • นอกจากแคชไฟล์นิ่งๆ (Static) แล้ว มันยังช่วยเพิ่มความเร็วในการโหลดเว็บแบบไดนามิก (Dynamic) โดยใช้โครงข่ายใยแก้วภายในของ AWS ได้ด้วย

สรุป Key Takeaways

  • CloudFront คือ CDN เก็บแคชไฟล์ตาม Edge Location ใกล้ผู้ใช้ทั่วโลก
  • ช่วยให้เว็บโหลดเร็วขึ้นมากสำหรับผู้ใช้ต่างประเทศ/ภูมิภาค
  • ป้องกัน DDoS เป็นด่านแรกและช่วยลดค่า data transfer จากเซิร์ฟเวอร์หลักได้

คำถามที่พบบ่อย

CloudFront ใช้ได้แค่ไฟล์ static หรือเปล่า

ไม่ใช่ — นอกจากแคชไฟล์ static แล้ว CloudFront ยังเร่งความเร็วเนื้อหา dynamic ได้ด้วย โดยให้ traffic วิ่งผ่านโครงข่ายภายในของ AWS (ซึ่งเร็วและนิ่งกว่า public internet) และรักษา connection ไปยัง origin ไว้ให้

จะป้องกันไม่ให้คนแอบเข้าไฟล์ใน S3 ตรงๆ โดยไม่ผ่าน CloudFront ยังไง

ใช้ Origin Access Control (OAC) — ปิด public access ของ bucket ทั้งหมด แล้วตั้ง bucket policy ให้อนุญาตเฉพาะ CloudFront distribution ของเราเท่านั้น (ชื่อเก่าของฟีเจอร์นี้คือ OAI ซึ่งยังโผล่ในข้อสอบบ้าง)

อัปเดตไฟล์บน origin แล้ว แต่ผู้ใช้ยังเห็นของเก่า แก้ยังไง

เป็นเพราะแคชที่ Edge ยังไม่หมดอายุ (TTL) — แก้เฉพาะหน้าได้ด้วยการสั่ง invalidation แต่วิธีที่ดีกว่าคือตั้งชื่อไฟล์แบบมีเวอร์ชัน เช่น app.v2.js เพราะไฟล์ชื่อใหม่จะไม่ชนแคชเดิมเลย

CloudFront ช่วยเรื่องความปลอดภัยยังไงบ้าง

ได้ AWS Shield Standard ป้องกัน DDoS มาให้ฟรี ต่อกับ AWS WAF เพื่อกรองคำขออันตรายได้ บังคับ HTTPS ได้ และแจกจ่ายคอนเทนต์แบบ private ผ่าน signed URL / signed cookie ได้

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

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

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