App Hosting ได้รับการออกแบบมาให้ใช้งานง่ายและมีการบำรุงรักษาต่ำ โดยมีการตั้งค่าเริ่มต้นที่เพิ่มประสิทธิภาพสำหรับกรณีการใช้งานส่วนใหญ่ ในขณะเดียวกัน App Hosting ยังมีเครื่องมือให้คุณจัดการและกำหนดค่าแบ็กเอนด์ สำหรับความต้องการเฉพาะของคุณด้วย คู่มือนี้จะอธิบายเครื่องมือและกระบวนการเหล่านั้น
ตั้งค่าและอัปเดตตัวแปรสภาพแวดล้อม
บางครั้งคุณอาจต้องกำหนดค่าเพิ่มเติมสำหรับกระบวนการบิลด์
App Hosting มีการกำหนดค่าสภาพแวดล้อม
เพื่อจัดเก็บและเรียกข้อมูลประเภทนี้
สำหรับโปรเจ็กต์ของคุณผ่านคอนโซล Firebase และใน apphosting.yaml
การตั้งค่าตัวแปรสภาพแวดล้อมในคอนโซล Firebase เป็นวิธีที่เร็วที่สุดในการ
เริ่มต้นใช้งาน ใช้ apphosting.yaml หากคุณต้องการ
จัดเก็บและเข้าถึงพารามิเตอร์ลับ
ตั้งค่าตัวแปรที่ใช้ได้เฉพาะในเวลาบิลด์หรือรันไทม์ หรือแชร์ตัวแปรสภาพแวดล้อม
ในหลายสภาพแวดล้อม ทั้งในคอนโซลและ
apphosting.<env>.yaml คุณสามารถ
ตั้งค่าที่แตกต่างกันสำหรับสภาพแวดล้อมที่แตกต่างกัน
Firebase คอนโซล

apphosting.yaml
env:
- variable: STORAGE_BUCKET
value: mybucket.firebasestorage.app
อัปเดตตัวแปร
คุณเพิ่ม แก้ไข หรือลบตัวแปรสภาพแวดล้อมได้ในคอนโซล Firebase หรือ
ใช้ apphosting.yaml ดังนี้
Firebase คอนโซล
ในFirebaseคอนโซล ให้ไปที่การโฮสต์และแบบไม่มีเซิร์ฟเวอร์ > App Hosting
ไปที่ดูแบ็กเอนด์ > การตั้งค่า > สภาพแวดล้อม
เพิ่ม แก้ไข หรือลบตัวแปรสภาพแวดล้อม
apphosting.yaml:ดูวิธีสร้างและแก้ไขไฟล์ด้วยตนเอง
การเปลี่ยนแปลงจะมีผลกับการเปิดตัวครั้งถัดไปเท่านั้น และจะไม่ส่งผลต่อการเปิดตัวปัจจุบัน คุณจะบันทึกและสร้างการเปิดตัวใหม่ หรือบันทึกตัวแปรและ นําไปใช้ในภายหลังก็ได้
ตั้งค่าความพร้อมใช้งานของตัวแปร
ตัวแปรสภาพแวดล้อมที่สร้างในFirebaseคอนโซลจะใช้ได้ทั้งใน
เวลาบิลด์และรันไทม์ นอกจากนี้ยังเป็นเงื่อนไขเริ่มต้นสำหรับตัวแปรที่กำหนดไว้ใน apphosting.yaml ด้วย เว้นแต่คุณจะจำกัดขอบเขตนั้นโดยใช้พร็อพเพอร์ตี้ availability ใน apphosting.yaml (แต่ไม่ใช่ในคอนโซล) คุณสามารถจำกัดตัวแปรสภาพแวดล้อมให้ ใช้ได้เฉพาะสภาพแวดล้อมของบิลด์ หรือใช้ได้เฉพาะสภาพแวดล้อม รันไทม์
env:
- variable: STORAGE_BUCKET
value: mybucket.firebasestorage.app
availability:
- BUILD
- RUNTIME
สำหรับแอป Next.js คุณยังใช้คำนำหน้า NEXT_PUBLIC_ ในลักษณะเดียวกับที่ใช้ในไฟล์ dotenv เพื่อให้ตัวแปรเข้าถึงได้ในเบราว์เซอร์
env:
- variable: NEXT_PUBLIC_STORAGE_BUCKET
value: mybucket.firebasestorage.app
availability:
- BUILD
- RUNTIME
dotenv ไฟล์สำหรับ Next.js
สำหรับแอป Next.js ไฟล์ dotenv ที่มีตัวแปรสภาพแวดล้อม
จะใช้ได้กับ App Hosting
เมื่อสร้างหรืออัปเดตแบ็กเอนด์ คุณจะโอนตัวแปรสภาพแวดล้อมจากไฟล์ dotenv ไปยังคอนโซล Firebase ได้โดยการคัดลอกและวางเนื้อหาทั้งหมดของไฟล์ dotenv ลงในช่อง "คีย์" ช่องแรกในแบบฟอร์ม "เพิ่มใหม่" ในการตั้งค่าตัวแปรสภาพแวดล้อม
ตัวแปรสภาพแวดล้อมทั้งหมดที่คัดลอกด้วยวิธีนี้ควรจัดรูปแบบอย่างเรียบร้อยใน แบบฟอร์มโดยไม่ต้องป้อนแต่ละตัวแยกกัน ตราบใดที่อินพุต มีรูปแบบดังต่อไปนี้
KEY1=value1
KEY2=value2
KEY3=value3
สําหรับการควบคุมตัวแปรสภาพแวดล้อมที่ซับซ้อนหรือแบบละเอียดด้วยเฟรมเวิร์กใดก็ตาม เราขอแนะนําให้ใช้ apphosting.yaml
ตัวแปรสภาพแวดล้อมที่สร้างขึ้นโดยอัตโนมัติ
มีตัวแปรสภาพแวดล้อมที่App Hostingจะสร้างขึ้นโดยอัตโนมัติ
ซึ่งรวมถึงตัวแปรที่Google Cloudสร้างขึ้น
รวมถึงตัวแปรสภาพแวดล้อมเฉพาะของ Firebase เมื่อตั้งค่า appId
ในแบ็กเอนด์ระหว่างการตั้งค่า
FIREBASE_CONFIG: (พร้อมใช้งานในสภาพแวดล้อมบิลด์และรันไทม์) ให้ข้อมูลการกำหนดค่าโปรเจ็กต์ Firebase ต่อไปนี้{ "databaseURL": 'https://DATABASE_NAME.firebaseio.com', "storageBucket": '', "projectId": 'PROJECT_ID' } firebasestorage.appPROJECT_ID.ระบบจะใช้การกำหนดค่านี้โดยอัตโนมัติเมื่อคุณเริ่มต้น Firebase Admin SDK โดยไม่มีอาร์กิวเมนต์
FIREBASE_WEBAPP_CONFIG: (ใช้ได้ในสภาพแวดล้อมของบิลด์เท่านั้น) ให้ข้อมูลการกำหนดค่าโปรเจ็กต์ Firebase ต่อไปนี้{ "apiKey": 'API_KEY', "appId": 'APP_ID', "authDomain": 'AUTH_DOMAIN.firebaseapp.com', "databaseURL": 'https://DATABASE_NAME.firebaseio.com', "messagingSenderId": 'PROJECT_NUMBER', "projectId": 'PROJECT_ID', "storageBucket": '', } firebasestorage.appPROJECT_ID.Firebase JS SDK จะตรวจสอบ
FIREBASE_WEBAPP_CONFIGตัวแปรสภาพแวดล้อมนี้โดยอัตโนมัติในสคริปต์ postinstall ระหว่างการบิลด์ ซึ่งจะช่วยให้คุณเริ่มต้น SDK ของไคลเอ็นต์ได้โดยไม่ต้องมีอาร์กิวเมนต์
ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ตัวแปรสภาพแวดล้อมเหล่านี้เพื่อเริ่มต้น SDK ได้ที่เริ่มต้น Firebase Admin SDK และ Web SDK โดยอัตโนมัติ
โปรดทราบว่าค่าในการกำหนดค่า Firebase จริงจะสอดคล้องกับทรัพยากรเฉพาะที่คุณจัดสรรไว้ในโปรเจ็กต์
ลำดับชั้นของตัวแปร
Firebase App Hosting จะใช้ตัวแปรตามลำดับความสำคัญตามแหล่งที่มา เช่น ค่าที่ตั้งไว้ใน Firebase Console จะลบล้างหรือมีความสำคัญเหนือกว่าค่าที่ตั้งไว้ในไฟล์ apphosting.yaml และ dotenv เสมอ
ลำดับความสำคัญทั้งหมดมีดังนี้
- Firebase คอนโซล → ตัวแปรที่ตั้งค่าในคอนโซล
apphosting.<env>.yaml→ ตัวแปรที่ระบุในไฟล์ YAML เฉพาะสภาพแวดล้อม เช่นapphosting.staging.yaml(ดูการทำให้ใช้งานได้หลายสภาพแวดล้อม)apphosting.yaml→ ตัวแปรที่ระบุในไฟล์apphosting.yaml- ระบบ Firebase → ตัวแปรที่ Firebase ตั้งค่าซึ่งมีค่าสำหรับ
firebase_config jsonหรือfirebase_webapp_configรวมถึงตัวแปรสภาพแวดล้อม ที่ตั้งค่าชื่อโฮสต์และพอร์ตสำหรับแอป SSR (ตั้งค่าโดย App Hosting Adapters ในbundle.yaml)
ชื่อที่สงวนไว้และข้อจำกัด
ตัวแปรสภาพแวดล้อมที่กำหนดไว้ใน Cloud Run สัญญาเวลาเรียกใช้คอนเทนเนอร์ จะสงวนไว้และตั้งค่าไม่ได้
ตัวแปรสภาพแวดล้อมที่สภาพแวดล้อมระบุไว้นอกเหนือจากตัวแปรที่ตั้งค่าโดยอัตโนมัติอาจมีการเปลี่ยนแปลงในรันไทม์เวอร์ชันในอนาคต แนวทางปฏิบัติแนะนำคืออย่าพึ่งพาหรือแก้ไขตัวแปรสภาพแวดล้อมใดๆ ที่คุณไม่ได้ตั้งค่าอย่างชัดเจน และพิจารณาใส่คำนำหน้าตัวแปรสภาพแวดล้อมด้วยคีย์ที่ไม่ซ้ำกันเพื่อหลีกเลี่ยงความขัดแย้ง
คีย์ตัวแปรสภาพแวดล้อมบางรายการสงวนไว้สำหรับการใช้งานภายใน อย่าใช้คีย์ต่อไปนี้ในไฟล์การกำหนดค่า
- สตริงว่าง ("")
- คีย์ที่มี "="
- คีย์ที่ขึ้นต้นด้วย
X_FIREBASE_,X_GOOGLE_หรือCLOUD_RUN_ PORTK_SERVICEK_REVISIONK_CONFIGURATION- คีย์ซ้ำกัน
สร้างและแก้ไข apphosting.yaml
สำหรับการกำหนดค่าขั้นสูง เช่น ข้อมูลลับ หรือการตั้งค่ารันไทม์ เช่น การเกิดขึ้นพร้อมกัน, CPU และหน่วยความจำ คุณจะต้องสร้างและแก้ไขไฟล์ apphosting.yaml ในไดเรกทอรีรากของแอป ไฟล์นี้รองรับการอ้างอิงถึงข้อมูลลับที่จัดการด้วย Secret Manager ของ Cloud จึงทำให้เช็คอินเข้าสู่การควบคุมแหล่งที่มาได้อย่างปลอดภัย
หากต้องการสร้าง apphosting.yaml ให้เรียกใช้คำสั่งต่อไปนี้
firebase init apphosting
ซึ่งจะสร้างไฟล์ apphosting.yaml เริ่มต้นพื้นฐานพร้อมตัวอย่างการกำหนดค่า (ที่แสดงความคิดเห็น)
หลังจากแก้ไขแล้ว ไฟล์ apphosting.yaml ทั่วไปอาจมีลักษณะดังนี้ โดยมีการตั้งค่าสำหรับบริการ Cloud Run ของแบ็กเอนด์ ตัวแปรสภาพแวดล้อมบางรายการ และการอ้างอิงถึงข้อมูลลับบางรายการที่จัดการโดย Cloud Secret Manager
# Settings for Cloud Run
runConfig:
minInstances: 2
maxInstances: 100
concurrency: 100
cpu: 2
memoryMiB: 1024
# Environment variables and secrets
env:
- variable: STORAGE_BUCKET
value: mybucket.firebasestorage.app
availability:
- BUILD
- RUNTIME
- variable: API_KEY
secret: myApiKeySecret
# Same as API_KEY above but with a pinned version.
- variable: PINNED_API_KEY
secret: myApiKeySecret@5
# Same as API_KEY above but with the long form secret reference as defined by Cloud Secret Manager.
- variable: VERBOSE_API_KEY
secret: projects/test-project/secrets/secretID
# Same as API_KEY above but with the long form secret reference with pinned version.
- variable: PINNED_VERBOSE_API_KEY
secret: projects/test-project/secrets/secretID/versions/5
ส่วนที่เหลือของคู่มือนี้จะให้ข้อมูลและบริบทเพิ่มเติมเกี่ยวกับตัวอย่างการตั้งค่าเหล่านี้
กำหนดCloud Runการตั้งค่าบริการ
การตั้งค่า apphosting.yaml ช่วยให้คุณกำหนดค่าวิธีจัดสรรบริการ Cloud Run ได้ การตั้งค่าที่ใช้ได้สำหรับบริการ
Cloud Run จะอยู่ในออบเจ็กต์ runConfig
cpu- จำนวน CPU ที่ใช้สำหรับอินสแตนซ์การแสดงผลแต่ละรายการ (ค่าเริ่มต้นคือ 0)memoryMiB- ปริมาณหน่วยความจำที่จัดสรรสำหรับอินสแตนซ์การแสดงผลแต่ละรายการใน MiB (ค่าเริ่มต้นคือ 512)maxInstances- จำนวนคอนเทนเนอร์สูงสุดที่เคยเรียกใช้พร้อมกัน (ค่าเริ่มต้นคือ 100 และจัดการโดยโควต้า)minInstances– จำนวนคอนเทนเนอร์ที่จะเปิดไว้เสมอ (ค่าเริ่มต้นคือ 0)concurrency- จำนวนคำขอสูงสุดที่อินสแตนซ์การแสดงโฆษณาแต่ละรายการรับได้ (ค่าเริ่มต้นคือ 80)
โปรดทราบความสัมพันธ์ที่สำคัญระหว่าง cpu กับ memoryMiB คุณตั้งค่าหน่วยความจำเป็นค่าจำนวนเต็มใดก็ได้ระหว่าง 128 ถึง 32768 แต่การเพิ่มขีดจำกัดหน่วยความจำอาจต้องเพิ่มขีดจำกัด CPU ด้วย
- หากมี RAM มากกว่า 4 GiB จะต้องมี CPU อย่างน้อย 2 ตัว
- หากมี RAM มากกว่า 8 GiB จะต้องมี CPU อย่างน้อย 4 ตัว
- หากมี RAM มากกว่า 16 GiB จะต้องมี CPU อย่างน้อย 6 ตัว
- หากมี RAM มากกว่า 24 GiB จะต้องมี CPU อย่างน้อย 8 ตัว
ในทำนองเดียวกัน ค่าของ cpu จะส่งผลต่อการตั้งค่าการทำงานพร้อมกัน หากตั้งค่า CPU น้อยกว่า 1 คุณต้องตั้งค่าการทำงานพร้อมกันเป็น 1 และระบบจะจัดสรร CPU เฉพาะในระหว่างการประมวลผลคำขอเท่านั้น
ลบล้างสคริปต์การสร้างและเรียกใช้
App Hosting อนุมานคำสั่งบิลด์และคำสั่งเริ่มต้นของแอปตามเฟรมเวิร์กที่ตรวจพบ
หากต้องการใช้คำสั่งบิลด์หรือคำสั่งเริ่มต้นที่กำหนดเอง คุณสามารถลบล้างค่าเริ่มต้นของ App Hosting ใน apphosting.yaml ได้
scripts:
buildCommand: next build --no-lint
runCommand: node dist/index.js
การลบล้างคำสั่งบิลด์จะมีลำดับความสำคัญเหนือกว่าคำสั่งบิลด์อื่นๆ และ
จะเลือกไม่ใช้ตัวดัดแปลงเฟรมเวิร์กในแอป รวมถึงปิดใช้การเพิ่มประสิทธิภาพเฉพาะเฟรมเวิร์กที่ App Hosting มีให้ โดยจะใช้ได้ดีที่สุดเมื่ออะแดปเตอร์ไม่รองรับฟีเจอร์ของแอป
หากต้องการเปลี่ยนคำสั่งบิลด์
แต่ยังคงใช้อะแดปเตอร์ที่เราให้ไว้ ให้ตั้งค่าสคริปต์บิลด์ใน package.json
แทนตามที่อธิบายไว้ในApp Hosting Framework Adapters
ใช้การลบล้างคำสั่งเรียกใช้เมื่อมีคำสั่งเฉพาะที่คุณต้องการใช้เพื่อเริ่มแอปซึ่งแตกต่างจากApp Hostingคำสั่งที่อนุมาน
กำหนดค่าเอาต์พุตบิลด์
App Hosting จะเพิ่มประสิทธิภาพการติดตั้งใช้งานแอปโดยค่าเริ่มต้นด้วยการลบไฟล์เอาต์พุตที่ไม่ได้ใช้
ตามที่เฟรมเวิร์กระบุ หากต้องการเพิ่มประสิทธิภาพขนาดการติดตั้งใช้งานแอปหรือละเว้นการเพิ่มประสิทธิภาพเริ่มต้น คุณสามารถลบล้างการตั้งค่านี้ได้ใน
apphosting.yaml
outputFiles:
serverApp:
include: [dist, server.js]
พารามิเตอร์ include จะรับรายการไดเรกทอรีและไฟล์ที่เกี่ยวข้องกับ
ไดเรกทอรีรากของแอปซึ่งจำเป็นต่อการติดตั้งใช้งานแอป หากต้องการตรวจสอบว่า
ระบบเก็บไฟล์ทั้งหมดไว้ ให้ตั้งค่า include เป็น [.] แล้วระบบจะติดตั้งใช้งานไฟล์ทั้งหมด
จัดเก็บและเข้าถึงพารามิเตอร์ลับ
ควรจัดเก็บข้อมูลที่ละเอียดอ่อน เช่น คีย์ API เป็นข้อมูลลับ คุณสามารถ
อ้างอิงข้อมูลลับใน apphosting.yaml เพื่อหลีกเลี่ยงการตรวจสอบข้อมูลที่ละเอียดอ่อน
ในการควบคุมแหล่งที่มา
พารามิเตอร์ประเภท secret แสดงพารามิเตอร์สตริงที่มีค่า
จัดเก็บไว้ใน Cloud Secret Manager
พารามิเตอร์ข้อมูลลับจะตรวจสอบการมีอยู่ของข้อมูลลับใน Secret Manager ของ Cloud และโหลดค่าระหว่างการเปิดตัวแทนที่จะ
ดึงค่าโดยตรง
- variable: API_KEY
secret: myApiKeySecret
ข้อมูลลับใน Secret Manager ของ Cloud อาจมีหลายเวอร์ชัน โดยค่าเริ่มต้น ระบบจะปักหมุด ค่าของพารามิเตอร์ลับที่แบ็กเอนด์แบบสดของคุณใช้ได้ไว้กับ เวอร์ชันล่าสุดของข้อมูลลับที่พร้อมใช้งาน ณ เวลาที่สร้างแบ็กเอนด์ หากมีข้อกำหนดสำหรับการควบคุมเวอร์ชันและการจัดการวงจรของพารามิเตอร์ คุณสามารถปักหมุดเวอร์ชันที่เฉพาะเจาะจงด้วย Cloud Secret Manager ได้ เช่น หากต้องการปักหมุดเป็น เวอร์ชัน 5 ให้ทำดังนี้
- variable: PINNED_API_KEY
secret: myApiKeySecret@5
คุณสร้างข้อมูลลับได้ด้วยFirebaseคำสั่ง CLI
firebase apphosting:secrets:set และระบบจะแจ้งให้คุณเพิ่มสิทธิ์ที่จำเป็น
ขั้นตอนการทำงานนี้จะให้ตัวเลือกในการเพิ่มข้อมูลลับ
อ้างอิงไปยัง apphosting.yaml โดยอัตโนมัติ
หากต้องการใช้ฟังก์ชันการทำงานทั้งหมดของ Cloud Secret Manager คุณสามารถใช้คอนโซล Cloud Secret Manager แทนได้ หากทำเช่นนี้ คุณจะต้องให้สิทธิ์แก่App Hostingแบ็กเอนด์ด้วยคำสั่ง FirebaseCLI
firebase apphosting:secrets:grantaccess
กำหนดค่าการเข้าถึง VPC
App Hostingแบ็กเอนด์สามารถเชื่อมต่อกับเครือข่าย Virtual Private Cloud (VPC) ได้ ดูข้อมูลเพิ่มเติมและ ตัวอย่างได้ที่เชื่อมต่อ Firebase App Hosting กับเครือข่าย VPC
ใช้vpcAccessการแมปในไฟล์ apphosting.yaml เพื่อกำหนดค่าการเข้าถึง
ใช้ชื่อเครือข่าย/ตัวเชื่อมต่อที่สมบูรณ์ในตัวเองหรือใช้รหัส การใช้รหัสช่วยให้สามารถ
ย้ายข้อมูลระหว่างสภาพแวดล้อมการจัดเตรียมและการใช้งานจริงที่มี
ตัวเชื่อมต่อ/เครือข่ายต่างกันได้
การกำหนดค่าขาออก VPC โดยตรง (apphosting.yaml):
runConfig:
vpcAccess:
egress: PRIVATE_RANGES_ONLY # Default value
networkInterfaces:
# Specify at least one of network and/or subnetwork
- network: my-network-id
subnetwork: my-subnetwork-id
การกำหนดค่าเครื่องมือเชื่อมต่อแบบ Serverless (apphosting.yaml):
runConfig:
vpcAccess:
egress: ALL_TRAFFIC
connector: connector-id
จัดการแบ็กเอนด์
คำสั่งสำหรับการจัดการขั้นพื้นฐานของApp Hostingแบ็กเอนด์มีให้ในคอนโซล Firebase และ Firebase CLI ส่วนนี้จะอธิบายงานการจัดการที่พบบ่อยบางอย่าง รวมถึงการสร้างและการลบแบ็กเอนด์
สร้างแบ็กเอนด์
App Hostingแบ็กเอนด์คือชุดของทรัพยากรที่มีการจัดการซึ่งApp Hostingสร้างขึ้นเพื่อสร้างและเรียกใช้เว็บแอป
Firebase คอนโซล: ไปที่ Hosting และ Serverless > App Hosting จากนั้นคลิกสร้างแบ็กเอนด์ (หากนี่เป็นแบ็กเอนด์แรกในโปรเจ็กต์ Firebase ให้คลิกเริ่มต้นใช้งาน)
Firebase CLI: (v13.15.4 ขึ้นไป) หากต้องการสร้างแบ็กเอนด์ ให้เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่อง โดยระบุรหัสโปรเจ็กต์เป็นอาร์กิวเมนต์
firebase apphosting:backends:create --project PROJECT_ID
สำหรับทั้งคอนโซลหรือ CLI ให้ทำตามข้อความแจ้งเพื่อเลือกภูมิภาค สร้างการเชื่อมต่อ GitHub และกำหนดค่าการตั้งค่าการติดตั้งใช้งานพื้นฐานต่อไปนี้
ตั้งค่าไดเรกทอรีรากของแอป (ค่าเริ่มต้นคือ
/)โดยปกติแล้ว
package.jsonจะอยู่ในโฟลเดอร์นี้
ตั้งค่าสาขาที่ใช้งานจริง
นี่คือ Branch ของที่เก็บ GitHub ที่จะได้รับการติดตั้งใช้งานไปยัง URL ที่เผยแพร่อยู่ โดยมักจะเป็นกิ่งก้านที่ใช้ผสานฟีเจอร์หรือกิ่งก้านสำหรับการพัฒนา
ยอมรับหรือปฏิเสธการเปิดตัวอัตโนมัติ
ระบบจะเปิดใช้การเปิดตัวอัตโนมัติโดยค่าเริ่มต้น เมื่อสร้างแบ็กเอนด์เสร็จสมบูรณ์ คุณสามารถเลือกให้แอปของคุณได้รับการติดตั้งใช้งานใน App Hosting ได้ทันที
ตั้งชื่อแบ็กเอนด์
ลบแบ็กเอนด์
หากต้องการนำแบ็กเอนด์ออกทั้งหมด ให้ใช้Firebase คอนโซลหรือFirebase CLI เพื่อลบแบ็กเอนด์ก่อน จากนั้นให้นำชิ้นงานที่เกี่ยวข้องออกด้วยตนเอง โดยFirebaseระมัดระวังเป็นพิเศษไม่ให้ลบทรัพยากรที่แบ็กเอนด์อื่นๆ หรือส่วนอื่นๆ ของโปรเจ็กต์ Firebase อาจใช้
Firebase คอนโซล: จากเมนูการตั้งค่า ให้เลือกลบแบ็กเอนด์
Firebase CLI: (v13.15.4 ขึ้นไป)
เรียกใช้คำสั่งต่อไปนี้เพื่อลบแบ็กเอนด์ App Hosting การดำเนินการนี้จะปิดใช้โดเมนทั้งหมดสำหรับแบ็กเอนด์และลบบริการ Cloud Run ที่เชื่อมโยงออก
firebase apphosting:backends:delete BACKEND_ID --project PROJECT_ID(ไม่บังคับ) ใน แท็บคอนโซล Google Cloudสำหรับ Artifact Registry ให้ลบรูปภาพสำหรับแบ็กเอนด์ใน "firebaseapphosting-images"
ใน Cloud Secret Manager ให้ลบข้อมูลลับที่มี "apphosting" ในชื่อข้อมูลลับ โดยระมัดระวังเป็นพิเศษ เพื่อให้แน่ใจว่าไม่มีแบ็กเอนด์อื่นหรือ ส่วนอื่นๆ ของโปรเจ็กต์ Firebase ใช้ข้อมูลลับเหล่านี้