ไม่ว่าคุณจะเพิ่งเริ่มต้นพัฒนาแอปหรือมีแอปเวอร์ชันที่ใช้งานจริงอย่างเต็มรูปแบบแล้ว คุณก็ควรทำความเข้าใจค่าใช้จ่ายและวิธีหลีกเลี่ยงใบเรียกเก็บเงินที่ไม่คาดคิด
หากยังไม่ได้ทำ โปรดดูแพ็กเกจราคาของ 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แล้วตั้งค่า การแจ้งเตือนงบประมาณ และ ขีดจำกัดการใช้จ่ายงบประมาณ โดยเฉพาะ
งบประมาณ คือจำนวนเงินทั่วไปที่คุณวางแผนจะใช้จ่ายในแต่ละเดือน
การแจ้งเตือนงบประมาณ คือการแจ้งเตือนทางอีเมลที่ส่งถึงทีมของคุณหากโปรเจ็กต์ใช้จ่ายเกินเกณฑ์ที่กำหนด
ขีดจำกัดการใช้จ่ายงบประมาณ จะหยุดบริการที่เกี่ยวข้องชั่วคราวหากโปรเจ็กต์ใช้จ่ายเกินงบประมาณที่ตั้งไว้สำหรับบริการนั้น ปัจจุบันขีดจำกัดการใช้จ่ายมีให้บริการสำหรับบางบริการเท่านั้น
คอนโซล Firebase จะแจ้งให้คุณตั้งค่าการแจ้งเตือนงบประมาณโดยอัตโนมัติเมื่อ คุณอัปเกรดเป็นแพ็กเกจราคา Blaze
โดยค่าเริ่มต้น Firebase และ Google Cloud จะไม่ปิดบริการและการใช้งานตาม งบประมาณและเกณฑ์ที่คุณตั้งไว้ เนื่องจากแม้ว่าแอปของคุณ อาจ มีข้อบกพร่องที่ทำให้ค่าใช้จ่ายเพิ่มขึ้น แต่แอปของคุณก็อาจมีการเติบโตในเชิงบวกอย่างไม่คาดคิดเช่นกัน คุณจึงไม่ต้องการให้แอปปิดตัวลงอย่างไม่คาดคิด ในเวลาที่คุณต้องการให้แอปทำงานมากที่สุด
อย่างไรก็ตาม โปรดทราบว่าหากคุณใช้ผลิตภัณฑ์ที่รองรับ ขีดจำกัดการใช้จ่ายงบประมาณ คุณสามารถตั้งค่าขีดจำกัดการใช้จ่าย ตามงบประมาณด้วยตนเองได้ และ Cloud Billing จะหยุดบริการที่เกี่ยวข้องชั่วคราวหาก โปรเจ็กต์ใช้จ่ายเกินงบประมาณที่ตั้งไว้สำหรับบริการนั้น
ตั้งงบประมาณและการแจ้งเตือนงบประมาณพื้นฐาน
ส่วนนี้จะอธิบายงบประมาณและการแจ้งเตือนงบประมาณในระดับสูงโดยอิงตามบริบทของ Firebase โปรดดูข้อมูลโดยละเอียดในหัวข้อ ตั้งค่าการแจ้งเตือนงบประมาณ ในเอกสารประกอบGoogle Cloud
วิธีตั้งงบประมาณและการแจ้งเตือนงบประมาณพื้นฐานมีดังนี้
ตรวจสอบว่าคุณมีสิทธิ์เข้าถึงที่เหมาะสม หากต้องการตั้งงบประมาณหรือการแจ้งเตือนงบประมาณ คุณต้องเป็นเจ้าของบัญชีที่เชื่อมโยง Cloud Billing
ไปที่การตั้งค่าการแจ้งเตือนงบประมาณโดยทำดังนี้
เข้าถึงโปรเจ็กต์ใน Firebase คอนโซล แล้วไปที่หน้า การใช้งานและการเรียกเก็บเงิน > รายละเอียดและการตั้งค่า
ในส่วนงบประมาณและการแจ้งเตือน ให้คลิกสร้างงบประมาณแรก ระบบจะนำคุณไปยังหน้า งบประมาณและการแจ้งเตือน ใน Cloudคอนโซล
โปรดทราบว่าหากคุณตั้งงบประมาณไว้แล้ว คุณจะเห็นงบประมาณที่ตั้งไว้ที่นี่แทนลิงก์ "สร้างงบประมาณแรก"
ทำตามขั้นตอนต่อไปนี้เพื่อตั้งงบประมาณและการแจ้งเตือนงบประมาณทางอีเมล
เลือกงบประมาณที่มีอยู่หรือสร้างงบประมาณใหม่
ตั้งชื่อที่สื่อความหมายให้กับงบประมาณ
กำหนดขอบเขตสำหรับการแจ้งเตือนงบประมาณ ซึ่งรวมถึงโปรเจ็กต์และบริการที่คุณต้องการให้การแจ้งเตือนงบประมาณมีผล คุณอาจต้องการเลือก บริการทั้งหมด เมื่อเริ่มต้นใช้การแจ้งเตือนงบประมาณ
ตั้งค่า จำนวนเงิน > ประเภทงบประมาณ โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
จำนวนเงินที่กำหนด \- ใช้ตัวเลือกนี้เมื่อคุณเพิ่งเริ่มต้นหรือทดสอบแอป
จำนวนเงินเท่ากับที่โปรเจ็กต์ใช้จ่ายไปเมื่อเดือนที่แล้ว \- ใช้ตัวเลือกนี้เมื่อแอปมีการเติบโตอย่างต่อเนื่องและคุณไม่ต้องการอัปเดตจำนวนเงินงบประมาณทุกเดือน
ตั้งค่าการแจ้งเตือน เปอร์เซ็นต์ของงบประมาณ
สำหรับการทดสอบเบื้องต้น ให้ลองใช้เปอร์เซ็นต์ต่างๆ เช่น 1%, 2%, 5% และ 50% ของ จำนวนเงินที่ใช้จ่ายจริง
สำหรับแอปเวอร์ชันที่ใช้งานจริง ให้ลองใช้เปอร์เซ็นต์สำคัญๆ เช่น 50% และ 100% ของ จำนวนเงินที่ใช้จ่ายจริง รวมถึง 150% ของ จำนวนเงินที่คาดการณ์ไว้
ตั้งค่าผู้ที่ควรได้รับอีเมล
โดยค่าเริ่มต้น ทุกคนที่มีสิทธิ์เข้าถึงการเรียกเก็บเงินที่เหมาะสมจะได้รับอีเมลแจ้งเตือน (โดยค่าเริ่มต้น ผู้ดูแลระบบบัญชีสำหรับการเรียกเก็บเงินและ ผู้ใช้บัญชีสำหรับการเรียกเก็บเงินในบัญชีCloud Billingที่เชื่อมโยง)
นอกจากนี้ คุณยังส่งอีเมลถึงคนอื่นๆ ในทีมได้ด้วย ซึ่งต้องสร้างพื้นที่ทำงาน Cloud Monitoring แล้วเพิ่มช่องทางการแจ้งเตือนทางอีเมลลงในส่วน การแจ้งเตือน ของพื้นที่ทำงาน ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่านี้ได้ที่ หัวข้อตั้งค่าการแจ้งเตือนและการใช้ตรรกะขั้นสูงสำหรับการเรียกเก็บเงิน
หากคุณตั้งค่าการแจ้งเตือนสำหรับ เปอร์เซ็นต์ของงบประมาณ ที่ต่ำ (เช่น 1%) คุณควรได้รับอีเมลภายใน 2-3 ชั่วโมงหรือ 2-3 วันเพื่อแจ้งให้ทราบว่าโปรเจ็กต์ของคุณใช้จ่ายถึงเกณฑ์ดังกล่าวแล้ว
ตั้งค่าขีดจำกัดการใช้จ่ายงบประมาณ
ปัจจุบันขีดจำกัดการใช้จ่ายงบประมาณพร้อมให้ใช้งานกับผลิตภัณฑ์ Firebase ต่อไปนี้
Firebase AI Logic: ตั้งค่าขีดจำกัดการใช้จ่ายสำหรับผู้ให้บริการ Gemini API ที่คุณเลือก: Gemini Developer API หรือ Agent Platform Gemini API (formerly Vertex AI).
Firebase App Hosting: ตั้งค่าขีดจำกัดการใช้จ่ายสำหรับบริการ Cloud Run ที่เกี่ยวข้อง
Cloud Functions for Firebase: ตั้งค่าขีดจำกัดค่าใช้จ่ายสำหรับบริการ Cloud Run functions ที่เกี่ยวข้อง
Firebase Extensions: ตั้งค่าขีดจำกัดค่าใช้จ่ายสำหรับบริการ Cloud Run functions ที่เกี่ยวข้อง
ดูข้อมูลเพิ่มเติมเกี่ยวกับ การจัดการขีดจำกัดค่าใช้จ่าย ในเอกสารประกอบCloud Billing
ขั้นตอนถัดไป
พิจารณาใช้ การแจ้งเตือนงบประมาณเพื่อปิดใช้Cloud Billingในโปรเจ็กต์โดยอัตโนมัติ
ไปที่ หัวข้อตั้งค่าการแจ้งเตือนและการใช้ตรรกะขั้นสูงสำหรับการเรียกเก็บเงิน เพื่อดูวิธีดำเนินการต่อไปนี้
ใช้ Cloud Monitoring เพื่อสร้างการแจ้งเตือนที่ซับซ้อนมากขึ้นสำหรับการเรียกเก็บเงิน และการใช้งาน ซึ่งรวมถึงการแจ้งเตือนที่กำหนดเองซึ่งส่งการแจ้งเตือนไปยังสื่ออื่นๆ เช่น Slack
สร้างตรรกะการเรียกเก็บเงินเพิ่มเติมโดยอิงตาม Google Cloud Pub/Sub