无停机更换Gcloud LoadBalancer的Google托管证书方案咨询
解决GCP LoadBalancer切换到Google托管证书时服务不可用的问题
可行方案1:双证书共存过渡(推荐,操作最简单)
这是最直接的无停机切换方式:
- 先在「Load balancing components」的「CERTIFICATES」标签创建Google托管证书,此时不要修改任何前端配置。
- 进入LoadBalancer的HTTPS前端配置页面,添加新创建的托管证书到证书列表中,保留原有的Let's Encrypt自定义证书(不要替换)。
- 保存配置后,GCP会自动开始验证并颁发托管证书,这个过程中原证书依然会被用于处理HTTPS请求,服务完全不受影响。
- 等待托管证书的状态变为
ACTIVE(可在证书列表中查看),此时再回到前端配置页面,删除原Let's Encrypt证书即可完成切换。
可行方案2:临时新增HTTPS前端
如果不想在同一前端保留多个证书,可以用临时端口过渡:
- 给当前LoadBalancer的静态IP新增一个HTTPS前端,选择一个非443的端口(比如8443),并绑定新创建的Google托管证书。
- GCP会针对这个临时前端启动证书颁发流程,原443端口的服务正常运行。
- 当托管证书状态变为
ACTIVE后,编辑原443端口的前端配置,将证书替换为该托管证书。 - 确认服务正常后,删除临时的8443端口前端。
可行方案3:蓝绿切换(适合对服务可用性要求极高的场景)
通过备用LoadBalancer实现零停机切换:
- 部署一个与现有配置完全一致的备用LoadBalancer,后端服务指向同一组实例,在备用LB的HTTPS前端绑定新创建的Google托管证书。
- 等待备用LB的托管证书状态变为
ACTIVE,此时备用LB已具备处理HTTPS流量的能力。 - 修改域名的DNS记录,将解析目标从原LB的IP切换到备用LB的IP(如果使用相同静态IP,可直接切换前端配置)。
- 观察流量切换完成且服务正常后,再删除原LoadBalancer。
这些方案都能避免证书颁发期间的服务中断,你可以根据自身操作复杂度和业务需求选择合适的方式。
内容的提问来源于stack exchange,提问作者Mauricio
相关产品推荐
相关产品推荐

