如何在GCP App Engine中将现有域名绑定到旧版应用
结论
完全可以实现将已绑定的自定义域名映射到旧版本应用,不需要调整DNS解析记录,直接在App Engine侧修改配置即可,操作不会影响已签发的SSL证书有效性。
操作前提
- 待切流的旧版本未被从App Engine版本列表中删除,处于正常运行状态
- 操作账号持有
App Engine Admin角色权限,可修改服务路由配置
可选实现方案
根据你的实际场景选择对应操作即可:
方案1:全量切换全局流量到旧版本(适用于需要完全下线故障新版本的场景)
该方案会将所有访问当前服务的请求全部切到旧版本,不需要单独修改域名配置:
- 打开GCP控制台,进入对应项目的App Engine「版本」页面
- 在版本列表中找到可用的旧稳定版本,勾选版本前的复选框
- 点击页面顶部的迁移流量按钮
- 在弹出的配置窗口中,将目标旧版本的流量占比设置为100%,确认后提交
- 等待1~2分钟配置生效即可
注意:标准环境下流量切换无感知不会中断服务,灵活环境会有最多1分钟的连接转发过渡期。
你也可以通过gcloud命令行完成操作,对应命令为:gcloud app services set-traffic [你的服务名] --splits [旧版本ID]=1
方案2:单独绑定指定域名到旧版本(适用于不修改全局流量分配的场景)
如果你不需要调整全局流量,只是要将当前绑定的域名单独指向旧版本,可通过自定义域名路由规则配置:
- 进入App Engine「设置」-「自定义域名」页面
- 找到你已经绑定的目标域名,点击右侧的编辑路由按钮
- 在路由配置下拉框中选择对应的服务和目标旧版本,保存配置
- 等待2分钟左右配置生效,该域名的所有访问请求会直接路由到旧版本,不受全局流量分配规则影响
注意事项
如果你之前通过dispatch.yaml配置过自定义路由规则,需要确认规则优先级不会覆盖你本次配置的版本路由,dispatch.yaml的规则优先级高于默认的域名路由和流量分配规则。
验证方式
配置生效后直接访问绑定的自定义域名,确认返回内容为旧版本即可,也可以在App Engine「版本」页面的流量占比列确认流量分配是否符合预期。
内容的提问来源于stack exchange,提问作者Debjyoti Banerjee
相关产品推荐
相关产品推荐

