15 วิธีลดค่าใช้จ่าย DigitalOcean: ประหยัดโดยไม่ทำให้เว็บช้าหรือพัง
เทคนิคลดค่าใช้จ่าย DigitalOcean 15 ข้อ เลือกขนาด Droplet ให้พอดี ลบของที่ลืม จัดการ snapshot backup Load Balancer Spaces Database ตั้ง Billing Alert และวิธีตรวจบิล พร้อมตัวอย่างคำนวณ
หลักคิด: จ่ายเท่าที่ใช้ และไม่ลืมของที่ใช้อยู่
ค่าใช้จ่ายบนคลาวด์ส่วนใหญ่ที่เกินคาดไม่ได้มาจากเซิร์ฟเวอร์หลัก แต่มาจากสิ่งที่ "ลืม" และการเลือกขนาดใหญ่เกินจำเป็น บทความนี้รวม 15 วิธีที่ใช้ได้จริง เรียงตามผลต่อบิลจากมากไปน้อยโดยประมาณ ราคาอ้างอิงจากหน้าทางการ ณ 3 พ.ย. 2569 ดูตารางเต็มที่ ราคา DigitalOcean ทุกบริการ
1. เลือกขนาด Droplet ให้พอดี (Right-sizing)
ดูกราฟ CPU/Memory/Disk ใน Control Panel อย่างน้อย 1-2 สัปดาห์ ถ้า CPU เฉลี่ยต่ำกว่า 20% และ RAM เหลือเกิน 50% ตลอดเวลา ลดขนาดได้
ตัวอย่าง: เว็บ WordPress ที่ทราฟฟิกปานกลางอยู่บน Droplet $24 (4 GiB) แต่ใช้ RAM จริง 1.2 GiB ลองลดเป็น $12 (2 GiB) ประหยัด $12/เดือน ($144/ปี)
หมายเหตุ: การลดขนาด CPU/RAM แบบ "ไม่รวมดิสก์" ทำได้ แต่ดิสก์ลดไม่ได้ เพราะฉะนั้นถ้าอยากลดดิสก์ต้องสร้างเครื่องใหม่แล้วย้ายข้อมูล
2. ลบ (Destroy) เครื่องที่ไม่ใช้ ไม่ใช่แค่ปิด
Droplet ที่ปิดเครื่องอยู่ยังจองทรัพยากร จึงยังคิดค่าบริการ ถ้าไม่ใช้แล้ว ให้ถ่าย snapshot (ถ้าต้องการเก็บไว้) แล้วลบเครื่อง
3. เก็บกวาด Snapshot เก่า
Snapshot คิดตามขนาดข้อมูลต่อเดือน ถ้าเก็บทุกเดือนโดยไม่ลบ จะสะสมเป็นเงินก้อน ตั้งนโยบาย เช่น เก็บล่าสุด 3 ชุด
doctl compute snapshot list
doctl compute snapshot delete SNAPSHOT_ID
4. ตรวจ Volume และ Reserved IP ที่ไม่ได้ผูก
Volume ที่ไม่ได้ต่อกับเครื่อง และ Reserved IP ที่ไม่ได้ผูกกับ Droplet อาจยังถูกคิดค่าบริการ ตรวจที่เมนู Volumes และ Networking → Reserved IPs
5. ตรวจ Load Balancer ที่ค้าง
Load Balancer เริ่ม $12/เดือน ต่อตัว ถ้าคุณลบ Droplet แล้วแต่ลืมลบ Load Balancer หรือเลิกใช้ Kubernetes Service แล้ว Load Balancer ยังค้าง จะเสียเงินทุกเดือน ดู คู่มือ Kubernetes (DOKS)
6. ใช้ Backup ให้เหมาะกับเครื่อง
Backup รายวันคิด 30% ของราคา Droplet รายสัปดาห์ 20% ไม่ต้องเปิดทุกเครื่อง เปิดเฉพาะเครื่องที่มีข้อมูลสำคัญ และสำหรับเครื่องที่สร้างซ้ำได้จากโค้ด (stateless) ใช้ snapshot ครั้งเดียวหรือไม่ต้องสำรองระดับเครื่อง
ตัวอย่าง: Droplet $48 เปิดรายวัน = $62.40/เดือน (เพิ่ม $14.40) เปลี่ยนเป็นรายสัปดาห์ = $57.60 (เพิ่ม $9.60) ประหยัด $4.80/เดือน
ถ้าข้อมูลสำคัญอยู่ในฐานข้อมูล การ dump ส่งไป Spaces วันละครั้ง (คู่มือ Spaces Object Storage) อาจถูกกว่าและกู้คืนเฉพาะข้อมูลได้ละเอียดกว่า
7. ย้ายไฟล์มีเดียไป Spaces + CDN
ถ้า Droplet ต้องมีดิสก์ใหญ่เพราะเก็บรูป/วิดีโอ ลองย้ายไป Spaces ($5 ได้ 250 GiB + 1 TiB transfer) แล้วลดขนาด Droplet ลง ผลพลอยได้คือเว็บเร็วขึ้นจาก CDN
8. ใช้ฟรีให้เต็มที่
- App Platform Static Site: ฟรี 3 เว็บ ดู คู่มือ App Platform
- Functions: ฟรี 90,000 GiB-seconds ต่อเดือน
- Monitoring และ Cloud Firewall: ไม่คิดค่าบริการเพิ่มตามที่ผู้ให้บริการระบุ
- Control plane ของ Kubernetes: ไม่คิดค่าบริการ
- Backup ของ Managed Database: รวมในราคา
9. ตั้ง Billing Alert
ตั้งแจ้งเตือนเมื่อค่าใช้จ่ายเกินระดับที่กำหนด (เช่น $20, $50) จะได้รู้ก่อนสิ้นเดือน ที่เมนู Billing → Settings → Billing Alerts
10. ใช้ tag และ Project แยกค่าใช้จ่าย
ติด tag ให้ทรัพยากรตามโปรเจกต์/ลูกค้า (client-a, staging) ช่วยดูได้ว่าเงินไปอยู่ที่ใด และลบทั้งกลุ่มได้ง่ายเมื่อโปรเจกต์จบ
11. ปิดสภาพแวดล้อม dev/staging นอกเวลาทำงาน
ถ้า staging ใช้ไม่กี่ชั่วโมงต่อวัน ให้ทำ snapshot แล้ว destroy ตอนเลิกงาน และสร้างใหม่จาก snapshot ตอนเช้า เหมาะกับเครื่องใหญ่ ๆ ที่ใช้ไม่ตลอด ใช้ doctl หรือ Terraform ทำเป็นสคริปต์ ข้อควรระวัง: IP อาจเปลี่ยน ใช้ Reserved IP หรืออัปเดต DNS และอย่าลืมว่า snapshot ก็มีค่าเก็บ จึงคุ้มก็ต่อเมื่อเครื่องไม่ได้ใช้นานพอ
12. รวมหลายเว็บไว้เครื่องเดียวอย่างระมัดระวัง
เว็บเล็กหลายเว็บอยู่ Droplet $24 หนึ่งเครื่อง ถูกกว่าแยกเครื่อง $6 ห้าเครื่อง ($30) แต่ต้องคำนึงถึงความเสี่ยงที่เว็บหนึ่งถูกแฮกจะลามไปอีกเว็บ และ RAM ที่ต้องพอ ใช้ผู้ใช้/PHP-FPM pool แยกต่อเว็บ
13. ลดค่า Transfer
- เปิดแคชและ CDN เพื่อลดการส่งข้อมูลซ้ำ
- บีบอัด (gzip/brotli) และปรับรูปเป็น WebP
- ตรวจ hotlinking: บล็อกเว็บอื่นไม่ให้ดึงรูปของคุณตรง ๆ ผ่าน
Referercheck - ตรวจบอตที่ดูดข้อมูลเยอะ แล้วใช้ Cloudflare/rate limit
14. ใช้ Managed Database อย่างเหมาะสม
Managed Database เริ่ม $15 ถ้าเป็นโปรเจกต์ทดลองหรือเว็บเล็ก ฐานข้อมูลบน Droplet เดียวกันก็เพียงพอและถูกกว่า ใช้ Managed เฉพาะระบบที่ข้อมูลสำคัญ ไม่เปิด standby ในสภาพแวดล้อมทดสอบ ดู คู่มือ Managed Databases
15. ตรวจบิลทุกเดือนแบบมีระบบ
ตั้งเตือนตัวเองวันที่ 1 ของเดือนให้เปิดหน้า Billing → Usage ตรวจรายการ ดูว่ามีรายการที่ไม่รู้จักหรือไม่ และเทียบกับเดือนก่อน ถ้าบิลเพิ่มโดยไม่ทราบสาเหตุ ให้เปิด ticket สอบถาม
ตัวอย่างการประหยัดรวม
สมมติเอเจนซี่เล็ก ๆ ดูแลเว็บลูกค้า 5 เว็บ
| รายการ | ก่อนปรับ | หลังปรับ |
|---|---|---|
| Droplet 5 เครื่อง × $12 | $60 | รวมเป็น 2 เครื่อง × $24 = $48 |
| Backup รายวันทุกเครื่อง (+30%) | $18 | รายสัปดาห์ 2 เครื่อง (+20%) = $9.60 |
| Snapshot เก่าที่ลืมลบ | ~$8 | $0 |
| Load Balancer ที่ลืมลบ | $12 | $0 |
| Spaces สำหรับ backup | - | $5 |
| รวม/เดือน | ~$98 | ~$62.60 |
ประหยัดประมาณ $35/เดือน หรือกว่า $420 ต่อปี ตัวเลขนี้เป็นสมมติฐานเพื่อให้เห็นแนวทางเท่านั้น ผลจริงขึ้นกับการใช้งานของคุณ
สิ่งที่ไม่ควรประหยัด
- ความปลอดภัยและ backup ของข้อมูลสำคัญ ดู คู่มือความปลอดภัยเซิร์ฟเวอร์
- RAM ขั้นต่ำ เมื่อเครื่องเริ่ม swap หนักหรือ OOM การอัปเกรดคุ้มกว่าเสียลูกค้า
- เวลาของคุณ ถ้าต้องแลกชั่วโมงทำงานหลายชั่วโมงกับเงิน $5
เริ่มประหยัดตั้งแต่วันแรก
ผู้ใช้ใหม่รับเครดิตทดลองผ่านขั้นตอนใน วิธีรับเครดิตฟรี $200 DigitalOcean ใช้ทดลองหลายสเปกเพื่อหาขนาดที่ใช่ก่อนจ่ายจริง และอย่าลืมทำเช็กลิสต์การเริ่มต้นใน สอนสร้าง Droplet แรก
คำถามที่พบบ่อย
อัปเกรดแล้วลดกลับได้ไหม
การเพิ่ม CPU/RAM แล้วลดกลับทำได้ถ้าไม่ได้ขยายดิสก์ แต่ถ้าขยายดิสก์ จะลดกลับไม่ได้ ต้องสร้างเครื่องใหม่ จึงควรเลือกอัปเกรดแบบ CPU/RAM only ถ้าต้องการยืดหยุ่น
มีส่วนลดเมื่อจ่ายรายปีไหม
Droplet คิดตามการใช้งานจริงพร้อมเพดานรายเดือน ตามหน้าราคาที่เราตรวจสอบไม่พบส่วนลดจ่ายรายปีสำหรับ Droplet ทั่วไป ตรวจสอบสัญญาพิเศษ (เช่น GPU) ในหน้าราคา
ค่าใช้จ่ายจะเกินเพดานไหมถ้าเปิดเครื่องทั้งเดือน
สำหรับ Droplet แบบ Bundled Plan ไม่เกินราคาแพ็กเกจรายเดือน แต่ค่าบริการเสริม เช่น Backup, Load Balancer, Volume, transfer ส่วนเกิน คิดแยก