แสดงความคิดเห็นด้านล่างสำหรับทั้ง 4 ตัวเลือกที่คุณกล่าวถึง
- เรามี nginx ที่ทำงานบน Compute VM อยู่แล้ว ดังนั้นการตั้งค่า
พร็อกซีย้อนกลับสำหรับ https://www.myapp.com/v2 ดูเหมือนจะเป็นความคิดที่ดีที่
ก่อน แต่ดูเหมือนว่าตอนนี้ยังไม่มีวิธีเข้าถึง Cloud
เรียกใช้จาก Compute ผ่าน IP ส่วนตัว ดังนั้นคำขอจะต้องออกไป
ทางอินเทอร์เน็ตทำให้สิ่งต่าง ๆ ช้าลง (ไม่แน่ใจว่าย้อนกลับหรือไม่
พร็อกซีไปยัง URL ภายนอกจะทำให้เกิดปัญหากับการรับรองความถูกต้อง
ฯลฯ?)
สิ่งนี้ถูกต้องในทางเทคนิค คุณสามารถตั้งค่าบริการ Cloud Run ให้ยอมรับการรับส่งข้อมูลจาก VPC เท่านั้น (เรียกว่าตัวเลือก Ingress คุณสามารถอ่านเกี่ยวกับบริการดังกล่าวได้ในเอกสารที่นี่ [1]) และเมื่อคุณทำเช่นนั้น บริการ Cloud Run ของคุณจะยังคงแสดงต่อสิ่งที่ดูเหมือนจะเป็น URL สาธารณะ (อันที่สร้างขึ้นเมื่อคุณปรับใช้บริการ)แต่ URL นั้นสามารถเข้าถึงได้จาก VPC เท่านั้น และแม้ว่าจะดูเหมือนว่าไคลเอนต์จะทำการโทรไปยังบริการอินเทอร์เน็ต ทราฟฟิกนั้นยังคงอยู่ในเครือข่ายของเราและไม่เคยออกจากแกนหลักของเรา ดังนั้นในทางเทคนิคแล้ว สิ่งนี้ไม่ควรเพิ่มเวลาแฝง
- กับ https://v2.myapp.com/books ตัวเลือกดูเหมือนว่าการทำแผนที่
โดเมนที่กำหนดเองสำหรับ Cloud Run ยังอยู่ในรุ่นตัวอย่าง ดังนั้นฉันจึง
ลังเลว่าจะใช้มันในระบบการผลิตหรือไม่ เราก็ยังต้องการ
ชอบใช้ใบรับรอง SSL ของเราเอง ซึ่งดูเหมือนจะไม่ใช่
ได้รับการสนับสนุน.
ฉันจะไม่แนะนำให้ใช้คุณลักษณะการแสดงตัวอย่างในการผลิต เนื่องจากมีความเสี่ยงที่คุณลักษณะจะเปลี่ยนไปในทางที่เข้ากันไม่ได้แบบย้อนกลับ ในหัวข้อการใช้ใบรับรอง SSL ของคุณเอง คุณสามารถปรับใช้ HTTP LoadBalancer ต่อหน้าบริการ Cloud Run ของคุณ (ซึ่งตั้งค่าเป็นส่วนตัว) และปรับแต่ง LoadBalancer ให้เหมาะกับความต้องการของคุณ
- ตัวเลือกการโฮสต์ Firebase ดูเหมือนว่าจะค่อนข้างซับซ้อน
และยังมีระยะหมดเวลาของคำขอที่ 60 ซึ่งสั้นเกินไปสำหรับบางคน
การอัปโหลดวิดีโอ ฯลฯ ที่เราได้รับ
ฉันไม่ค่อยคุ้นเคยกับ Firebase
- ตัวโหลดบาลานเซอร์ไปยัง NEG จะเพิ่มความซับซ้อน/ค่าใช้จ่ายอีกเล็กน้อย แต่นั่นก็เป็นเช่นนั้น
น่าจะเป็นอีกทางเลือกหนึ่ง ดูเหมือนว่า NEG แบบไร้เซิร์ฟเวอร์ไม่สามารถทำได้
เชื่อมต่อกับ Compute และ Managed VM NEG จึงไม่สามารถเชื่อมต่อกับ Cloud Run ได้
ฉันต้องการอย่างใดอย่างหนึ่งในกรณีนั้นหรือไม่
ตัวเลือก LoadBalancer ดูซับซ้อน แต่จริงๆแล้วไม่ คุณสามารถใช้บางอย่างเช่น Terraform เพื่อจัดเตรียม LoadBalancer ได้ คุณต้องทำเพียงครั้งเดียว
หวังว่าสิ่งนี้จะช่วยให้แสงสว่างแก่ตัวเลือกของคุณ
[1] https://cloud.google.com/run/docs/securing/ingress