问题描述
我正在开发一个使用 Firebase (Google Cloud) 作为后端应用程序的应用程序。该项目包含多个 Firebase 函数,用于从仅接受一个经过验证的固定 IP 地址的第三方获取数据(我设法通过 VPC 实现)。
我的生产即将开始,所以我觉得现在是设置两种不同环境的好时机,一种用于开发,一种用于生产,这意味着两个不同的 Google Cloud 项目(我想将数据库和功能分开如果我添加一些新功能)具有相同的 IP 地址。有没有办法在两个不同的 Google Cloud 项目之间共享此设置?
解决方法
这是我的想法,即使我从未测试过。
在您当前的项目中,创建 2 个 Internet network endpoint group (INEG)。
- INEG-prod 使用您的 firebase prod 环境的完全限定网址
- INEG-dev 使用 Firebase 开发环境的完全限定网址
然后在你预留IP地址的项目中创建一个Load balancer;创建 2 个后端:
- 使用INEG-prod 的后端产品
- 使用INEG-dev 的后端开发
然后是网址映射
- 使用您的 /*(例如)将请求路由到后端产品
- 使用 dev-/*(例如)将请求路由到后端开发
在前端,使用您的静态 IP 和 HTTPS 协议。
它应该可以工作(等待大约 5 分钟让 HTTPS 负载均衡器考虑配置)