App Engine接入Google Cloud Load Balancer避免1小时downtime相关问题咨询
解决方案
零停机迁移操作步骤
前置优化
- 迁移前至少24小时将域名的DNS TTL值修改为5分钟,等待原有TTL过期后全球DNS缓存就会遵循短时效配置,后续切换解析时的生效速度会大幅提升。
方案一:提前完成LB证书置备再切解析(无额外成本)
- 先完成LB的所有后端配置,确保LB可以正常将请求转发到App Engine,你可以通过本地修改hosts文件将域名指向LB IP,手动验证访问正常。
- 为LB创建谷歌托管SSL证书后,添加一条临时的DNS A记录(比如用
test.yourdomain.com或者直接给主域名加一条备用A记录指向LB IP),让谷歌可以完成域名所有权校验,证书状态会从PROVISIONING变为ACTIVE。 - 确认LB的证书状态正常后,再将主域名的DNS解析全部切换到LB IP,切换后不会有任何SSL报错,全程无停机。
方案二:使用自上传证书实现即时生效
- 提前在任意证书机构申请对应域名的有效SSL证书(比如Let's Encrypt免费证书),将证书公钥和私钥上传到Google Cloud证书管理服务。
- 创建LB时直接绑定该自上传证书,配置完成后LB即可直接处理SSL请求,不需要等待托管证书置备。
- 切换DNS解析到LB后即可正常访问,后续可以等LB的托管证书置备完成后再替换自上传证书即可。
常见问题解答
- 能否调整操作顺序,提前将DNS指向LB再创建证书?
不建议直接这么操作,只要LB没有提前配置好有效的SSL证书,DNS切过去之后用户访问就会返回SSL错误。 - 能否直接复用App Engine的谷歌托管证书到LB?
不行,App Engine的托管证书是产品专属资源,不支持跨服务复用,必须为LB单独配置证书。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

