迁移执行完成后,需要先发布目标 HTTP API 并完成业务验证,再按入口条件选择复用 SLB 或 DNS 方式灰度切流。本文介绍发布验证、切流方式、回滚和收尾操作。
前提条件
发布并验证目标路由
发布配置
登录云原生 API 网关控制台,进入目标网关,找到迁移生成的 HTTP API。
检查迁移后的路由、后端服务、域名、消费者、策略和插件配置等。
将目标 API 发布至目标网关。
确认发布成功并进行联调验证。
验证路由
进入灰度切流前,请先发布目标 HTTP API,并完成所有迁移接口的功能回归。确认业务响应、路由匹配及策略行为符合预期后,再开始切流。 验证期间保持生产域名解析不变,可采用以下方式。
方式一:直连目标网关验证
在测试机器上,通过修改hosts、测试 DNS 或 curl 指定目标网关入口,使用原业务域名发起请求,验证域名路由和 HTTPS 证书。
以下为一些调用命令示例,可按目标入口形态选择对应命令,将命令中的示例地址、业务域名和请求路径替换为实际值。
目标入口为 IPv4 地址(192.0.2.10 作为示例地址):
curl --resolve 'api.example.com:443:192.0.2.10' \ 'https://api.example.com/health'目标入口为 IPv6 地址时,使用中括号包裹地址:
curl --resolve 'api.example.com:443:[2001:db8::10]' \ 'https://api.example.com/health'目标入口为域名时,可以使用
curl --connect-to:curl --connect-to 'api.example.com:443:target.example.net:443' \ 'https://api.example.com/health'
验证时请注意:
确保测试机器能够访问目标入口,目标 API 已绑定业务域名并配置有效证书。不要跳过证书校验以验证。
如使用独立测试域名,需在目标端配置对应的域名绑定和证书;切流前仍需使用原业务域名验证。
业务同时支持 IPv4 和 IPv6 时,应分别验证两种网络的可达性。
/health仅为请求示例,不能替代业务回归。请覆盖实际接口的正常请求、异常请求、鉴权及相关策略。
方式二:流量镜像验证(可选)
对高风险核心路由,可在源网关侧配置流量复制,将小比例生产请求复制到目标网关,辅助验证真实流量下的业务表现。具体配置请参见配置流量复制策略。
使用前,请确认复制目标能够到达目标网关,并正确匹配目标域名和路由。开启两侧日志和监控,观察响应码、延迟、错误率及相关策略执行情况。
镜像请求会实际执行业务逻辑。 优先选择只读接口;涉及写入、扣费或消息发送等操作时,必须先落实幂等控制或测试隔离,确保不会对业务触发任务副作用,并评估额外流量对网关和后端的容量影响。流量镜像用于补充验证,不能替代全量功能回归;验证结束后,请关闭临时流量复制配置。
验证清单
请至少验证以下内容,并对本次切流入口覆盖的全部接口完成回归,记录源、目标两端的结果差异。
验证项 | 验证要点 |
域名与协议 | 检查 HTTP/HTTPS、证书、TLS、HTTP/2,以及业务使用的 mTLS;双栈入口分别验证 IPv4、IPv6 |
路由与后端 | 请求路径、方法、Query、Header、Body 、优先级、参数映射、服务版本、服务负载均衡配置、各后端服务的连通性及实际响应 |
认证与访问控制 | 测试有效凭证、无效凭证、未授权消费者、允许及拒绝的客户端地址 |
策略与插件 | 验证限流、超时、重试、降级、重写、Header修改、跨域、流量复制及实际使用的官方和自定义插件 |
业务与可观测 | 检查返回状态码、响应内容、业务数据、延迟、日志、追踪和告警;覆盖正常请求、异常请求、大请求、长耗时请求和流式响应等实际场景 |
选择切流方式
迁移工具提供两种切流方式,按源网关版本选择。具体限制请参见对应章节的适用条件。
对比项 | 方式一:复用 SLB | 方式二:DNS |
适用场景 | 源网关为普通实例标准版,SLB 为网关代购或自行绑定 | 源网关为普通实例专业版,或作为通用兜底方案 |
切流方式 | 复用现有 SLB,通过调整源、目标网关的后端权重分配流量 | 将业务域名的解析逐步切换至目标网关入口 |
切流粒度 | 对选定负载均衡及服务器组覆盖的流量生效 | 按域名及 DNS 解析规则生效;渐进切流需 DNS 服务支持权重解析 |
操作入口 | 在迁移任务中调整切流权重 | 自行在 DNS 服务中调整解析,迁移工具不操作 DNS |
回滚方式 | 在迁移任务中将目标权重调为 0,并恢复源网关承接流量 | 使用权重解析时,将目标权重调为 0,并恢复源入口权重;受 DNS TTL、客户端缓存和已有连接影响,不保证所有请求立即切换 |
切流前,请完成目标网关的全量接口回归,并保留源网关配置、容量和回滚条件。
使用 DNS 切流时,建议提前降低 TTL,并预留原 TTL 的缓存过期时间。
本工具面向 HTTP/HTTPS 业务,UDP 监听不纳入自动迁移。存在混合入口时,请单独规划 UDP 流量的处理方式,并逐项核对监听和服务器组的迁移范围。使用复用 SLB方式时,如需启用 HTTP/3,建议在流量完全切换至目标网关并验证稳定后,再开启
EnableHTTP3。
方式一:复用 SLB 切流
适用条件
源网关为普通实例标准版,SLB 为网关代购或自行绑定时,可使用复用SLB的方式切流
复用方式的切流粒度是选定的负载均衡和服务器组,针对其覆盖的业务流量整体生效,不支持按单个路由配置迁移权重。只有在目标网关具备该入口全部业务能力时才能放量。
源网关存在多个负载均衡入口时,请分别完成各入口的迁移任务和流量验证。后续任务复用同一目标网关时,可在确认所需资源已完整迁移、配置符合预期后,跳过重复导入。
切流选择
在切流选择阶段,操作步骤如下:
在迁移任务的切换选择阶段选择复用原集群 SLB的切换方式。
选择源网关关联的 SLB 服务。
核对 SLB 实例、服务器组、端口和协议,确认覆盖本次迁移入口。
核对无误后,点击下一步进入流量切换阶段。
流量切换
在流量切换阶段,按以下步骤操作:
在 STEP1 单击变更 SLB,将 SLB 监听的调度算法调整为加权轮询。
在 STEP2 单击去开启,开启目标云原生 API 网关的可观测监控。
在 STEP2 单击预检查,完成负载均衡关联等准备工作,等待目标网关接入状态就绪。
在 STEP3 填写目标网关的流量权重,单击生效。确认配置生效且业务指标正常后,逐步提高权重,直至达到 100。
完成全量流量下的业务验证,并持续观察。达到迁移前约定的观察时长且业务稳定后,在 STEP3 单击完成流量验证。
目标权重取值为 0~100,单次增加不能超过 50 个百分点。可参考以下计划逐步放量,各阶段的观察时长和异常判定阈值以迁移前约定为准。
阶段 | 目标网关权重 | 源网关权重 | 验证重点 |
准备完成 | 0 | 100 | 确认接入状态、监控及切流前业务回归结果 |
小流量验证 | 1 | 99 | 验证真实业务请求和监控链路 |
扩大验证 | 10 | 90 | 检查 API 和调用方的兼容性 |
半量验证 | 50 | 50 | 对比两侧成功率、延迟、错误分布及容量 |
继续扩大 | 75 | 25 | 确认目标网关及后端在较高流量下的稳定性 |
全量验证 | 100 | 0 | 验证全量流量下的业务表现,持续观察源网关剩余流量 |
逐档观察:每次调整后,确认配置生效,并观察两侧请求量、成功率、延迟及后端业务指标。达到约定观察时长且未触发异常后再提高权重,避免连续快速调整。
异常及时回退:触发异常阈值后,立即暂停放量,按下文步骤回滚。
统一调整入口:切流期间,请仅通过迁移任务调整权重,避免同时在负载均衡控制台修改,导致配置冲突或状态不一致。
谨慎完成验证:单击完成流量验证后,将无法再通过迁移任务调整权重。请在全量切流、业务验证和观察期均完成后再操作。
保留回滚条件:观察期内保留源网关配置和容量。目标权重达到 100 不代表源网关已无流量,确认剩余连接及请求结束后再按计划下线,请勿删除仍在复用的 SLB。
异常回滚
尚未单击完成流量验证时,可按以下步骤回滚:
在 STEP3 将目标网关权重调为 0,单击生效。
等待配置生效,确认源网关恢复承接全部流量,并持续检查业务指标。
保留故障日志和受影响的请求信息。修复问题并重新验证后,从小流量开始恢复切流。
权重回退不保证已建立的连接立即切回,请以实际流量和业务恢复情况判断回滚结果。单击完成流量验证后,如需回退,应另行评估入口调整方案,必要时联系技术支持。
完成任务
目标权重达到 100、全量业务验证及观察期均完成后,完成迁移任务。系统会校验实际权重和源网关相关配置;校验未通过时,请根据提示等待配置生效或排查问题。
完成任务后不能继续通过该迁移任务调整权重。请在完成前结束回滚观察,并确认各入口均已处理。完成之后如需回退,应另行评估入口调整方案,必要时联系技术支持。
完成工具内的迁移任务后,继续执行观察与资源下线。
方式二:通过 DNS 切流
适用条件
源网关为普通实例专业版,或希望通过业务域名调整入口时,可使用 DNS 方式切流。使用前,请确认:
具备业务域名的 DNS 解析管理权限。
源、目标网关均已配置业务域名及所需证书,能够承接该域名的请求。
目标网关已完成全量接口回归。如需按权重逐步放量,DNS 服务须支持相应权重解析能力。
迁移工具不操作 DNS。解析配置、切流和回滚均需您在 DNS 服务中执行。
切流准备
在迁移任务的切换选择阶段,选择 DNS 解析到云原生网关,记录源、目标网关的实际入口地址,并保存当前 DNS 解析配置,以便回滚。
确认两端均已配置相同的业务域名及所需证书,目标网关已通过直连验证和全量接口回归。
开启两侧日志和监控,记录切流前的请求量、成功率、错误率和延迟基线,并约定各阶段的观察时长和回滚条件。
保留源入口及其解析配置,按 DNS 服务支持的规则准备目标入口记录。支持零权重时,将目标初始权重设为 0;否则暂不启用目标记录。
将相关 A、AAAA、CNAME 记录、解析线路及内外网解析纳入统一切流计划。业务同时支持 IPv4 和 IPv6 时,分别验证两类流量。
如需降低 TTL,请提前调整,并预留至少一个原 TTL 周期。涉及多条记录时,以其中最长的原 TTL 为准。
流量切换
按 DNS 服务支持的解析规则,将少量流量引向目标网关。使用权重解析时,逐步提高目标入口权重。
每次调整后,检查解析结果并观察业务指标。可将两个当前 TTL 周期作为观察参考,同时满足预设观察时长;若实际流量尚未稳定,应延长观察。
确认以下条件均满足后,再继续放量:
解析结果及两侧实际请求量符合预期;双栈场景下,IPv4 和 IPv6 均已验证。
成功率、4xx/5xx 错误率、业务错误率及超时率符合预设阈值。
平均延迟、P95/P99 延迟符合预设阈值。
认证失败、限流、访问控制及后端连接错误相较基线无异常变化。
核心业务指标正常,数据一致性检查通过。
完成全部计划内解析的切换后,进行全量流量下的业务验证,并持续观察。触发回滚条件时,立即暂停放量并执行回滚。
DNS 解析权重不等于 HTTP 请求比例。缓存和已有连接可能延迟流量切换,经过指定 TTL 周期也不代表所有客户端均已更新。请以实际业务流量确认进度,避免连续快速调整。
异常回滚
触发预设回滚条件后,按以下步骤操作:
恢复本次切流涉及的源入口解析,并停止向目标入口分配新的解析流量。支持零权重时,可将目标权重设为 0,并恢复源入口权重;其他场景按 DNS 服务支持的方式恢复原解析配置。
核对所有相关记录和解析线路,避免遗漏 A、AAAA 记录或内外网解析。
持续观察两侧实际流量和业务指标,确认源网关恢复承接流量、业务恢复正常。
保留故障日志及受影响的请求信息,排查目标端配置、容量、网络或后端问题。
修复问题并完成相关回归验证后,再从小流量阶段重新开始。
DNS 回滚不能强制客户端立即刷新解析,也不会立即中断已有连接。切流及回滚观察期内,请保留源网关配置和容量。
完成任务
选择 DNS 方式并完成工具内流程后,迁移任务可显示完成。任务完成仅表示工具内流程结束,不代表 DNS 切流或业务验证已完成。
确认以下条件全部满足后,再结束切流观察:
本次迁移涉及的全部记录和解析线路均已切换至目标入口。
目标网关实际流量符合预期;双栈场景下,IPv4 和 IPv6 均已完成验证。
已达到预设的全量观察时长,业务指标稳定,且未触发回滚条件。
确认无需继续灰度调整后,可将临时降低的 TTL 恢复为业务正常值。源网关不再承接流量且无需保留回滚能力后,再按计划下线源实例;释放资源前,请确认相关负载均衡及其他资源不再被业务使用。
完成工具内的迁移任务后,继续执行观察与资源下线。
观察与资源下线
无论采用哪种切流方式,完成迁移任务后,均需完成稳定性观察并确认源端流量清零,再安排资源下线。任务完成不代表源实例可以立即释放。
核对全部入口:确认本次迁移涉及的负载均衡、DNS 记录、固定 IP 调用及长连接均已完成切换或妥善处置,无遗漏入口。
完成稳定性观察:持续观察目标网关,确认日志、链路追踪、告警及业务指标正常,并达到约定的观察时长。
确认源端流量清零:确认源网关不再承接业务流量、剩余连接已结束,且无需保留原有回滚路径。
核查复用资源:采用复用 SLB 方式时,在负载均衡控制台确认相关服务器组中源网关节点的权重为 0,并结合实际请求量确认流量已全部切至目标网关。保留仍在使用的 SLB、监听及服务器组。
下线源实例:完成上述检查后,按计划释放源网关实例。释放时,务必确认不会同时删除目标网关仍在复用的 SLB,以免造成业务中断。验证、切流或观察过程中出现异常时,应立刻暂停资源下线,按回滚方案处理。问题与排查参见常见问题与故障处理。