Egress Fee คือค่าบริการที่ผู้ให้บริการ Cloud คิดเมื่อข้อมูลถูกส่งออกจากเครือข่ายของตน เช่น ส่งไปยังผู้ใช้บนอินเทอร์เน็ต ส่งข้าม Region หรือส่งกลับไปยัง Data Center ขององค์กร ส่วนข้อมูลขาเข้า (Ingress) ผู้ให้บริการส่วนใหญ่ไม่คิดค่าบริการ Egress Fee มักคิดตามปริมาณ GB แบบขั้นบันได และเป็นค่าใช้จ่ายที่ประมาณการยากที่สุด เพราะขึ้นกับพฤติกรรมของผู้ใช้และการออกแบบระบบ ไม่ใช่สเปกของเครื่อง
บทความนี้อธิบายโครงสร้างค่าใช้จ่าย วิธีวัดปริมาณข้อมูลจากระบบเดิม และสูตรประมาณการที่ใช้ได้กับผู้ให้บริการทุกราย แนวคิดเรื่องการบริหารต้นทุน Cloud ดูเพิ่มเติมได้ที่ FinOps Foundation
ประเภทของค่า Data Transfer ที่ต้องรู้
| เส้นทางข้อมูล | ตัวอย่าง | มักมีค่าใช้จ่ายไหม |
|---|---|---|
| อินเทอร์เน็ตเข้า Cloud | ผู้ใช้อัปโหลดไฟล์ | ส่วนใหญ่ไม่คิด |
| Cloud ออกสู่อินเทอร์เน็ต | ผู้ใช้ดาวน์โหลดไฟล์ เปิดเว็บไซต์ เรียก API | คิด เป็น Egress Fee หลัก |
| ข้าม Region | Replicate Database ไป Region อื่น | มักคิด |
| ข้าม Availability Zone | Application อยู่คนละ Zone กับ Database | ผู้ให้บริการหลายรายคิด |
| ผ่าน NAT Gateway | เครื่องใน Private Subnet ดาวน์โหลด Update | มักคิดค่าประมวลผลข้อมูลเพิ่ม |
| Cloud ไปยัง Data Center ขององค์กร | Backup กลับมาเก็บที่สำนักงาน | คิดตามเส้นทางที่ใช้ |
ราคาและเงื่อนไขต่างกันตามผู้ให้บริการ Region และปริมาณการใช้ ต้องตรวจจากหน้า Pricing ทางการของผู้ให้บริการที่พิจารณาอยู่ ณ วันที่ประเมิน [ตรวจสอบ: ใส่ลิงก์หน้า Pricing และวันที่ตรวจ ถ้าจะยกตัวเลขตัวอย่าง]
ทำไม Egress Fee ประมาณการยาก
- ขึ้นกับผู้ใช้: แคมเปญการตลาดหรือไฟล์ที่ถูกแชร์ออกไป อาจทำให้ปริมาณดาวน์โหลดเพิ่มหลายเท่าในวันเดียว
- ซ่อนอยู่ในสถาปัตยกรรม: Traffic ระหว่าง Zone หรือผ่าน NAT Gateway มักไม่มีใครนับตอนออกแบบ
- ระบบเดิมไม่เคยวัด: Data Center ภายในองค์กรส่วนใหญ่จ่ายค่าวงจรเป็นรายเดือนตาม Bandwidth ไม่ได้คิดตามปริมาณ จึงไม่มีตัวเลข GB ต่อเดือนให้ใช้
ขั้นตอนที่ 1: วัดปริมาณข้อมูลขาออกจากระบบเดิม
เก็บข้อมูลย้อนหลังอย่างน้อย 1–3 เดือน เพื่อให้เห็นทั้งค่าเฉลี่ยและช่วง Peak
- Firewall หรือ Router: ดูปริมาณ Traffic ขาออกตาม Interface หรือตาม Server
- Web Server Log: รวมขนาด Response จาก Access Log ของ Nginx หรือ Apache
- Monitoring: ใช้ข้อมูลจาก SNMP หรือ NetFlow ถ้ามีอยู่แล้ว
ตัวอย่างการรวมขนาด Response จาก Access Log ของ Nginx แบบ Combined Format
awk '{sum += $10} END {printf "%.2f GB\n", sum/1000000000}' /var/log/nginx/access.log
ขั้นตอนที่ 2: แยกปริมาณตามเส้นทาง
แบ่งปริมาณที่วัดได้ตามเส้นทางในตาราง เช่น ส่งถึงผู้ใช้บนอินเทอร์เน็ต ส่งไป Backup นอกสถานที่ และส่งระหว่างระบบภายใน จากนั้นวาดสถาปัตยกรรมบน Cloud ที่วางแผนไว้ แล้วดูว่า Traffic ภายในที่ปัจจุบันไม่มีค่าใช้จ่าย จะกลายเป็น Traffic ข้าม Zone หรือข้าม Region หรือไม่
ขั้นตอนที่ 3: คำนวณ Egress Fee รายเดือน
ค่า Data Transfer ต่อเดือน = Σ (ปริมาณ GB ของแต่ละเส้นทาง × ราคาต่อ GB ของเส้นทางนั้นตามขั้นบันได)
ตัวอย่างการคิด ถ้าเว็บไซต์ส่งข้อมูลถึงผู้ใช้ 3,000 GB ต่อเดือน และราคาขั้นแรกคือ [ราคาต่อ GB ขั้นที่ 1] สำหรับ 1,000 GB แรก และ [ราคาต่อ GB ขั้นที่ 2] สำหรับส่วนที่เกิน
- 1,000 GB × [ราคาต่อ GB ขั้นที่ 1]
- 2,000 GB × [ราคาต่อ GB ขั้นที่ 2]
- ค่า Egress Fee รวม = ผลรวมทั้งสองบรรทัด
ขั้นบันไดและปริมาณที่ได้ฟรีต่อเดือนต่างกันตามผู้ให้บริการ ให้ใช้ตัวเลขจากหน้า Pricing ทางการเท่านั้น และคำนวณเพิ่มอีกกรณีสำหรับเดือนที่ Traffic สูงสุด เช่น ช่วงแคมเปญ 11.11 และ 12.12
