App Hosting จะจัดการชุดงานเบื้องหลังที่ซับซ้อนเพื่อลดความซับซ้อนในการ ติดตั้งใช้งานแอป หน้าเว็บนี้อธิบายส่วนสำคัญของโฟลว์งานดังกล่าว โดยให้ข้อมูลเกี่ยวกับจุดที่คุณอาจต้องการปรับแต่งโฟลว์ ตามความต้องการของแอป
คำและคำจำกัดความที่สำคัญ
หากต้องการทำความเข้าใจรายละเอียดของโฟลว์ App Hosting คุณควรกำหนด คำศัพท์บางคำให้มีความเฉพาะเจาะจง คำสำคัญพื้นฐานมีดังนี้
- แบ็กเอนด์: ชุดทรัพยากรที่มีการจัดการซึ่ง App Hostingสร้างขึ้นเพื่อสร้างและเรียกใช้เว็บแอป
- บิวด์: การแก้ไขแอปเวอร์ชันหนึ่งๆ ซึ่งโดยปกติจะลิงก์กับการคอมมิต Git กระบวนการสร้างบิวด์มี กระบวนการย่อยมากมาย โดยเฉพาะอย่างยิ่ง การสร้าง แอปใน Cloud Build และ การติดตั้งใช้งาน การแก้ไข (เริ่มแสดงผล 0% ของการเข้าชมจนกว่า จะเปิดตัว) ใน Cloud Run
- การเปิดตัว: กระบวนการตั้งค่าบิวด์ให้แสดงผลการเข้าชมอย่างจริงจัง เมื่อมีการคอมมิต Git ที่ทริกเกอร์โดยอัตโนมัติ App Hosting ก่อนสร้างบิลด์โดยใช้ Branch ที่ใช้งานจริง จากนั้นจึงสร้างการเปิดตัวเพื่อเปลี่ยนเส้นทางการจราจรแบบเรียลไทม์ไปยังบิลด์ดังกล่าว
- สาขาที่ใช้งานจริง: สาขาของที่เก็บ GitHub ที่มีการติดตั้งใช้งานไปยัง URL ที่เผยแพร่อยู่ โดยมักจะเป็นสาขาที่รวมสาขาฟีเจอร์หรือสาขาการพัฒนา
สถาปัตยกรรมของ Google Cloud และ App Hosting
App Hosting จะจัดระเบียบชุดผลิตภัณฑ์ของ Google Cloud เพื่อให้คุณ ติดตั้งใช้งาน แสดงผล และตรวจสอบเว็บแอปได้ โดยแอปจะสร้างขึ้นด้วย Cloud Build, แสดงผลใน Cloud Run และแคชใน Cloud CDN บริการที่ผสานรวม เช่น Cloud Secret Manager จะช่วยให้คีย์ API ของคุณปลอดภัย
- เมื่อมีการพุชการคอมมิตไปยังสาขาที่ใช้งานจริง Google Cloud Developer Connect จะส่งเหตุการณ์ไปยัง Firebase App Hosting
- เพื่อตอบสนองต่อเหตุการณ์นี้ Firebase App Hosting จะสร้างบิวด์ใหม่สำหรับ
แบ็กเอนด์ที่เชื่อมต่อกับที่เก็บ
- ขั้นแรก Firebase App Hosting จะสร้างบิวด์ Cloud Build ใหม่สำหรับ การคอมมิต ในงานนี้ Google Cloud buildpacks จะกำหนดเฟรมเวิร์กที่ใช้ ในแอปพลิเคชันเพื่อสร้างคอนเทนเนอร์และการกำหนดค่า (รวมถึง ตัวแปรสภาพแวดล้อม ข้อมูลลับ อินสแตนซ์ขั้นต่ำหรือสูงสุด การเกิดขึ้นพร้อมกัน หน่วยความจำ CPU และการกำหนดค่า VPC) ที่เหมาะกับแอปพลิเคชัน ดูข้อมูลเพิ่มเติมได้ที่กระบวนการบิลด์App Hosting For
- เมื่องาน Cloud Build เสร็จสมบูรณ์ ระบบจะจัดเก็บคอนเทนเนอร์ไว้ในที่เก็บ Artifact Registry ที่สร้างขึ้นสำหรับ Firebase App Hosting Firebase App Hosting จากนั้นจะเพิ่มการแก้ไข Cloud Run ใหม่ลงในบริการ Cloud Run โดยใช้รูปภาพและการกำหนดค่า
- เมื่อการแก้ไข Cloud Run เสร็จสมบูรณ์และได้รับการยืนยันว่าทำงานได้ตามปกติ Firebase App Hosting จะแก้ไขการกำหนดค่าการเข้าชมเพื่อเปลี่ยนเส้นทางคำขอใหม่ทั้งหมดไปยังการแก้ไข Cloud Run ใหม่ เมื่อถึงจุดนี้ การเปิดตัวจะเสร็จสมบูรณ์
- เมื่อมีการส่งคำขอไปยังเว็บไซต์ที่โฮสต์ใน Firebase App Hosting ตัวจัดสรรภาระงานของ Google Cloud จะแสดงผล คำขอโดยเปิดใช้ Cloud CDN ระบบจะส่งคำขอที่ไม่ได้แคชไปยังบริการ Cloud Run ดูคำแนะนำเกี่ยวกับวิธีเพิ่มประสิทธิภาพด้วย Cloud CDN ได้ที่ แคชเนื้อหาแอป
การผสานรวมเฟรมเวิร์ก
App Hosting มีการรองรับการสร้างและติดตั้งใช้งานที่กำหนดค่าไว้ล่วงหน้าสำหรับเว็บแอป ที่พัฒนาในเฟรมเวิร์กต่อไปนี้
- Next.js 13.5.x ขึ้นไป
- Angular 18.2.x ขึ้นไป
ดูรายละเอียดเกี่ยวกับเวอร์ชันและระดับการสนับสนุนที่เฉพาะเจาะจงได้ที่ กำหนดการสนับสนุนสำหรับ
นอกจาก Next.js และ Angular แล้ว App Hosting ยังรองรับเฟรมเวิร์กเว็บ ใดก็ตามที่สามารถให้เอาต์พุตบิวด์ที่ตรงกับข้อกำหนดของบันเดิลเอาต์พุต ดูข้อมูลเพิ่มเติมเกี่ยวกับเฟรมเวิร์ก อะแดปเตอร์เฟรมเวิร์ก และเครื่องมือที่เกี่ยวข้องซึ่ง App Hostingรองรับได้ที่เฟรมเวิร์กและเครื่องมือสำหรับ App Hosting
วิธีผสานรวมที่เก็บ App Hosting
Developer Connect ซึ่งเป็นแพลตฟอร์มการเชื่อมต่อของ Google Cloud สำหรับเครื่องมือ DevOps ภายนอก จะจัดการการเชื่อมต่อที่สำคัญระหว่างที่เก็บ GitHub กับApp Hosting แบ็กเอนด์ ซึ่งจัดการโดย Developer Connect, แพลตฟอร์มการเชื่อมต่อของ Google Cloud สำหรับเครื่องมือ DevOps ภายนอก เมื่อคุณตั้งค่าการเชื่อมต่อนี้ (โดยปกติจะเกิดขึ้นระหว่าง การสร้างแบ็กเอนด์ App Hosting) เวิร์กโฟลว์ UI ของ Developer Connect จะแนะนำคุณตลอดการติดตั้งแอป Firebase GitHub ขั้นตอนสำคัญในกระบวนการนี้มีดังนี้
- คุณให้บทบาท ผู้ดูแลระบบ Secret Manager แก่ Developer Connect ซึ่งจะช่วยให้ระบบจัดเก็บข้อมูลเข้าสู่ระบบได้อย่างปลอดภัยเป็น "ข้อมูลลับ" ใน Cloud Secret Manager
- คุณให้สิทธิ์แอป Firebase GitHub ในการเข้าถึงที่เก็บ GitHub คุณอาจต้องได้รับสิทธิ์ GitHub เพิ่มเติมเพื่อเข้าถึงที่เก็บที่ถูกต้อง
- Developer Connect จะจัดเก็บโทเค็นการให้สิทธิ์ GitHub ที่เฉพาะเจาะจงไว้ในที่เก็บ Secret Manager ของโปรเจ็กต์ โปรดอย่าแก้ไขหรือลบโทเค็นนี้
นอกจากนี้ App Hosting ยังผสานรวมกับ GitHub Checks API เพื่อให้การ ตรวจสอบการเปิดตัว การตรวจสอบนี้ช่วยให้คุณดูสถานะการเปิดตัวใน GitHub และแก้ไขข้อบกพร่องในกระบวนการติดตั้งใช้งานในกรณีที่เกิดข้อผิดพลาด
การผสานรวมกับ Firebase และบริการอื่นๆ ของ Google
App Hosting จะตั้งค่าทั้งสภาพแวดล้อมการสร้างและรันไทม์เพื่อให้คุณ เริ่มต้นใช้งาน Firebase Admin SDK ด้วย ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google วิธีนี้จะช่วยให้แบ็กเอนด์สื่อสารกับผลิตภัณฑ์อื่นๆ ของ Firebase ได้ทั้งในระหว่างการสร้างและรันไทม์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งานแอปและหัวข้ออื่นๆ ที่เกี่ยวข้องกับ Firebase SDK ได้ที่ผสานรวม Firebase SDK ในเว็บแอป
App Hosting ตำแหน่ง
App Hosting จะสร้างทรัพยากรแบ็กเอนด์ในสถานที่ตั้งที่เฉพาะเจาะจง ซึ่งเรียกว่า ภูมิภาคหลัก แม้ว่า App Hosting จะผสานรวมกับ CDN ทั่วโลกเพื่อการแสดงผลที่รวดเร็ว แต่ระบบจะแสดงผลเนื้อหาที่ไม่ได้แคชจากภูมิภาคหลักของแอป ความยืดหยุ่นในสถานที่ตั้งของเว็บแอปมีข้อดีที่สำคัญดังนี้
- ประสิทธิภาพที่ดีขึ้นและความหน่วงที่ลดลงด้วยการนำข้อมูลเข้าใกล้ผู้ใช้ในเชิงภูมิศาสตร์
- ความล้มเหลวร้ายแรงของ App Hosting ในภูมิภาคหนึ่งจะไม่ส่งผลต่อ เว็บแอปที่ติดตั้งใช้งานในภูมิภาคอื่นๆ
คุณเลือกภูมิภาคใดก็ได้ต่อไปนี้เมื่อสร้างแบ็กเอนด์ App Hosting จากคอนโซล Firebase หรือ Firebase CLI:
us-central1(ไอโอวา)us-east4(น. เวอร์จิเนีย)us-east5(โคลัมบัส)asia-east1(ไต้หวัน)asia-southeast1(สิงคโปร์)europe-west4(เนเธอร์แลนด์)
บัญชีบริการแบ็กเอนด์ของ App Hosting
ในระหว่างการสร้างและรันไทม์ แบ็กเอนด์ของ App Hosting จะตรวจสอบสิทธิ์กับบริการอื่นๆ ของ Google ด้วยบัญชีบริการ ระบบจะสร้างบัญชีบริการเริ่มต้นสำหรับ วัตถุประสงค์เหล่านี้ในครั้งแรกที่คุณเปิดใช้ App Hosting ใน โปรเจ็กต์ Firebase
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
บัญชีบริการนี้ใช้กับแบ็กเอนด์ทั้งหมดโดยค่าเริ่มต้น และมีสิทธิ์ขั้นต่ำเพื่อให้คุณสร้าง เรียกใช้ และตรวจสอบแอปได้ นอกจากนี้ยังมีสิทธิ์ในการตรวจสอบสิทธิ์ Admin SDK ด้วยข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันสำหรับการดำเนินการต่างๆ เช่น การโหลดข้อมูลจาก Cloud Firestore ดู บทบาท App Hosting Firebase
หากแอปต้องโต้ตอบกับบริการอื่นๆ ของ Google ไม่ว่าจะในระหว่างการสร้างหรือจากแบ็กเอนด์ที่ทำงานอยู่ คุณสามารถปรับแต่งบัญชีบริการเริ่มต้นได้โดยการเพิ่มบทบาท ตัวอย่างเช่น หากแอปต้องได้รับสิทธิ์สำหรับ Vertex AI คุณ
อาจต้องเพิ่ม
roles/aiplatform.user
หรือบทบาทที่เกี่ยวข้อง