如何在不同的 Google Cloud 项目中使用相同的 IP 地址

问题描述

我正在开发一个使用 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 负载均衡器考虑配置)