ไม่ว่าคุณจะเพิ่งเริ่มพัฒนาแอปหรือมีแอปเวอร์ชันที่ใช้งานจริงเต็มรูปแบบ คุณก็ควรทำความเข้าใจค่าใช้จ่ายและวิธีหลีกเลี่ยงการเรียกเก็บเงินที่ไม่คาดคิด
หากยังไม่ได้ดู โปรดดูแพ็กเกจราคาของ Firebase เพื่อทำความเข้าใจวิธีการเรียกเก็บเงินของ Firebase
หน้านี้จะแนะนำคุณเกี่ยวกับแง่มุมที่สำคัญในการทำความเข้าใจและตรวจสอบระดับการใช้งานและการใช้จ่าย ซึ่งรวมถึงสิ่งต่อไปนี้
ทดสอบโค้ด
การทดสอบโค้ดก่อนทำให้ใช้งานจริงเป็นแนวคิดที่ดีด้วยเหตุผลหลายประการ เช่น การตรวจจับข้อผิดพลาดที่อาจทำให้คุณเสียเงินเป็นจำนวนมาก ขณะสร้างโครงสร้างพื้นฐานสำหรับแอป เราขอแนะนำอย่างยิ่งให้ทดสอบในเครื่องก่อนโดยใช้ Firebase Local Emulator Suite
Local Emulator Suite ช่วยให้คุณเรียกใช้อินสแตนซ์ของ Cloud Functions, Cloud Firestore, Realtime Database และอื่นๆ ได้ทั้งหมดในเครื่องเดสก์ท็อปของคุณ ซึ่งไม่เพียงช่วยให้คุณทำซ้ำฟังก์ชันใหม่ๆ ได้ง่ายขึ้นอย่างรวดเร็ว โดยเฉพาะ Cloud Functions แต่ยังช่วยให้มั่นใจได้ว่าคุณจะไม่ต้องเสียค่าใช้จ่าย Firebase ที่อาจเกิดจากการทดสอบกับบริการในเวอร์ชันที่ใช้งานจริง
ขณะทดสอบ ให้ตรวจสอบสาเหตุที่พบบ่อยต่อไปนี้ซึ่งทำให้การใช้งานและการใช้จ่ายเกินกว่าที่คาดไว้
ลืมเพิ่มขีดจำกัดในการค้นหาฐานข้อมูลที่มีผลลัพธ์หลายล้านรายการ
การรวม Cloud Functions ที่ทำให้เกิดภาระงานแบบ Fan-out มากเกินไปหรือแม้แต่ลูปที่ไม่มีที่สิ้นสุด
ดูระดับการใช้งานและการใช้จ่าย
คุณต้องทราบว่ารูปแบบการใช้งานปกติของแอปเป็นอย่างไร และตรวจสอบว่าคุณอยู่ภายในเกณฑ์ที่สำคัญสำหรับคุณ
ดูการใช้งานผลิตภัณฑ์แต่ละรายการ
คุณสามารถดูการใช้งานผลิตภัณฑ์แต่ละรายการได้ในแท็บ "การใช้งาน" สำหรับผลิตภัณฑ์หลายรายการในคอนโซล Firebase
คุณดูช่วงวันที่ที่เฉพาะเจาะจงในแดชบอร์ดเหล่านี้ได้
แดชบอร์ดระดับสินค้าพร้อมใช้งานสำหรับ Authentication และผลิตภัณฑ์โครงสร้างพื้นฐานทั้งหมด ได้แก่ Realtime Database, Cloud Firestore, Cloud Storage, Cloud Functions และ Hosting
ดูการใช้งานโปรเจ็กต์โดยรวม
คุณดูการใช้งานโดยรวมของโปรเจ็กต์ได้ในแดชบอร์ด
คุณสามารถดูการใช้งานรายเดือนและระดับการใช้งานที่วัดเทียบกับโควต้าการใช้งานที่ไม่มีค่าใช้จ่ายที่จัดสรรไว้
คลิกผลิตภัณฑ์ใดก็ได้เพื่อดูสรุปการใช้งานรายวันและเปรียบเทียบกับโควต้าการใช้งานที่ไม่มีค่าใช้จ่ายที่จัดสรรไว้
โปรดทราบว่าผลิตภัณฑ์แต่ละรายการมีโควต้าการใช้งานที่แตกต่างกัน จึงมีไทม์ไลน์ที่แตกต่างกันด้วย เช่น
ระบบจะคำนวณการใช้งาน Cloud Firestore และ Cloud Storage เป็นรายวัน
ระบบจะคำนวณการใช้งาน Cloud Functions เป็นรายเดือน
ตั้งงบประมาณ
คุณสามารถควบคุมค่าใช้จ่ายและหลีกเลี่ยงค่าใช้จ่ายที่ไม่คาดคิดในการเรียกเก็บเงินได้โดยการสร้างงบประมาณสำหรับ Google Cloud Billing งบประมาณคือจำนวนเงินทั่วไปที่คุณวางแผนจะใช้จ่ายในแต่ละเดือน โดยอาจเป็นงบประมาณที่แจ้งเตือนเท่านั้นหรืองบประมาณที่กำหนดวงเงินใช้จ่ายก็ได้
งบประมาณที่แจ้งเตือนเท่านั้น
หากการใช้จ่ายถึงเกณฑ์ที่กำหนดไว้สำหรับงบประมาณ Cloud Billing จะส่งการแจ้งเตือนทางอีเมล
โปรดทราบดังต่อไปนี้
การแจ้งเตือนงบประมาณไม่ได้หยุดบริการชั่วคราว โดยมีจุดประสงค์เพื่อช่วยคุณตรวจสอบค่าใช้จ่ายและแจ้งเตือนคุณเพื่อให้คุณดำเนินการได้หากจำเป็น เช่น คุณอาจพิจารณาใช้การแจ้งเตือนงบประมาณเพื่อปิดใช้การเรียกเก็บเงินในโปรเจ็กต์
เมื่ออัปเกรดเป็นแพ็กเกจราคา Blaze ในคอนโซล Firebase ระบบจะแจ้งให้คุณตั้งค่างบประมาณที่แจ้งเตือนเท่านั้นโดยอัตโนมัติ นอกจากนี้ คุณยังตั้งค่างบประมาณที่แจ้งเตือนเท่านั้นด้วยตนเองในคอนโซล Google Cloud ได้ด้วย
งบประมาณที่กำหนดวงเงินใช้จ่าย
หากการใช้จ่ายถึงเกณฑ์ที่กำหนดไว้สำหรับงบประมาณของบริการที่เฉพาะเจาะจง Cloud Billing จะส่งการแจ้งเตือนทางอีเมล
หากการใช้จ่ายถึง 100% ของงบประมาณสำหรับบริการนั้น Cloud Billing จะหยุดบริการนั้นชั่วคราวในช่วงที่เหลือของเดือน
โปรดทราบดังต่อไปนี้
งบประมาณวงเงินใช้จ่ายใช้ได้กับบริการ Firebase ต่อไปนี้เท่านั้น Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase และ Firebase Extensions
คุณสามารถตั้งค่างบประมาณที่กำหนดวงเงินใช้จ่ายด้วยตนเองได้ในคอนโซล Firebase หรือคอนโซล Google Cloud
ขั้นตอนถัดไป
ตั้งค่าการแจ้งเตือนงบประมาณและ (หากมี) ขีดจำกัดการใช้จ่าย
ลองใช้การแจ้งเตือนงบประมาณเพื่อปิดใช้ Cloud Billing ในโปรเจ็กต์โดยใช้โปรแกรม
ไปที่ตั้งค่าการแจ้งเตือนการเรียกเก็บเงินขั้นสูงและตรรกะเพื่อดูวิธีดำเนินการต่อไปนี้
ใช้ Cloud Monitoring เพื่อสร้างการแจ้งเตือนที่ซับซ้อนมากขึ้นสำหรับการเรียกเก็บเงินและการใช้งาน รวมถึงการแจ้งเตือนที่กำหนดเองซึ่งจะส่งการแจ้งเตือนไปยังสื่ออื่นๆ เช่น Slack
สร้างตรรกะการเรียกเก็บเงินเพิ่มเติมตาม Google Cloud Pub/Sub