我们有一个已建立的 GCP Cloud Run 实例,为相当高流量的应用程序运行 API。
我们通过“Cloud Run 域映射”映射了一个域,其中 CNAME 指向
ghs.googlehosted.com.
,并且 Cloud Run 的“入口控制”配置为允许所有:
我们希望升级此系统,将其置于 GCP 全局外部负载均衡器后面同一子域,而无需停机。
Google 管理两者的 SSL 证书。
我不知道如何在不停机的情况下进行此更改。
问题是,一旦我们创建负载均衡器,为其指定域,并告诉 Google 为其创建/使用证书,该证书将永远不会完成安装,直到进行相应的 DNS 记录更改。
我们需要将该子域的
CNAME
记录替换为指向负载均衡器 IP 地址的 A
记录。
但是,一旦我们进行 DNS 更改,证书问题就会出现,直到 GCP 完成验证/设置证书,这可能需要相当长的时间。
我们如何才能在不停机或至少在可预测的最短停机时间内做到这一点?
根据 Google 官方文档将您的自定义域移至由外部应用程序负载均衡器提供服务:
如果您使用 Google 管理的证书,将现有服务迁移到外部 Application Load Balancer 可能会导致一些停机时间,通常不到一个小时。这是因为,在您更新 DNS 记录以指向负载均衡器的 IP 地址之前,不会配置外部应用程序负载均衡器的 SSL 证书。 有关 DNS 传播的更多信息,请参阅更改传播。
您可以通过检查网站dnschecker.org
来检查DNS映射/传播是否完成根据官方 GCP 文档使用全局外部应用程序负载均衡器映射自定义域
配置 SSL 证书以及您的域开始将 HTTPS 流量路由到您的 Cloud Run 服务可能最多需要一个小时。