我们尝试将前端应用程序从 App Engine 迁移到 Cloud run。
我们做了以下步骤
- 创建了一个 LB,以便我们可以将流量引导到正确的云运行 APP。
- 将 App 引擎的 DNS A 记录更改为指向 LB 的外部 IP。
流量开始流入云运行,但我们开始看到部分流量仍然重定向到应用引擎并得到 404。
我们假设一些 DNS、ISP 和缓存需要几天时间才能刷新 所以我们需要找到一种方法来在同一个域下提供两个版本(AppEngine 和云运行)。
如何为一个负载均衡器设置两个不同的后端?
答案1
回答您的问题 - 可以配置一个 GCP 负载均衡器多个后端例如:
- 实例组
- 单个虚拟机
- GAE 应用程序
- Cloud Run 功能
- 网络端点组(由外部主机组成)
- 储物桶
例如,假设您有一个带有 dwo 后端的负载均衡器:
- GAE 应用程序
- Cloud Run 功能
其中一个将在下方可用yourdomain.com
,而另一个必须可用yourdomain.com/somepath/
- 由您决定哪一个将是“主要”的。
还可以向 LB 添加其他后端 - 所有后端都必须在不同的路径下可用。
如您所见,您可以为 GAE 和 Cloud Run 设置一个前端和相同的端口 - 唯一的区别是路径。
但是,这并不能解决您的问题 - 如果某些您无法控制的 DNS 仍然重定向到旧 IP - 您唯一的“武器”就是将 DNS 服务中的 TTL 从几个小时更改为 1 分钟左右,并希望更改能够足够快地传播。