一、操作场景
注意:说明:
注意:目前云原生 API 网关仅对微服务场景(对接 TSE Nacos,TSE 北极星,TSF)支持开通白名单新购,其余场景不支持新接入。若有新购需求,请 提交工单处理。
这篇会指导你如何将 API 网关 的服务迁移至腾讯云微服务引擎的 云原生 API 网关。
二、初步了解
API 网关和云原生 API 网关,2个产品存在一部分相似功能,但并非完全一致。功能叫法、界面入口均存在差异,建议用户逐步适应。
为方便用户快速了解,如下是核心操作的概要示意图。下图仅以后端类型为公网域名或 IP 为例,其他后端类型同理。
注意:在 API 网关中如果有一个服务包含3个 API,其中2个后端是公网(假设是 api1、api2),1个后端是云函数(假设是 api3)。
注意:那么在云原生网关中需要创建2个服务,第1个服务是公网,在其中需要创建2个路由(分别对应 api1、api2),第二个服务是云函数,需创建1个路由(对应 api3)。
三、前提条件
1. 已有一个 API 网关的服务;
2. 已有一个云原生 API 网关的实例,详细参见 新建云原生网关实例。
这篇示例如下:
·迁移前:广州地域,API 网关的服务,迁移一个服务的 API,先以后端类型为公网URL/IP,然后再迁移其他后端类型。
·迁移后:中国大陆地域,云原生 API 网关;
四、步骤1:选出待迁移 API
1. 登录 API 网关控制台在左侧导航栏,单击服务,进入服务列表页。找到 需要迁移的服务。
2. 单击服务名称进入详情页,找到 API。这篇示例的待迁移 API 假设配置如下:
2.1 其中 API 名称为获取用户信息。
2.2 其中前端路径为/QianYiTest1,请求方法为 GET,前端方法为 HTTP。
2.3 其中后端路径为/QianYiTest2,后端协议为 HTTP,后端地址 test.com,后端方法为 GET。
五、步骤2:新建迁移后的服务和路由
注意:说明:
注意:因这篇仅作为示例,只说明核心步骤。你也可自行查看云原生 API 网关的页面文档,常用如下:
六、新建服务
1. 登录 云原生 API 网关控制台在左侧导航栏,单击路由管理,进入列表。
2. 依次选择一个网关实例(此处是提前在实例列表新建好的1个实例),单击服务 > 新建。
3. 在新建服务窗口中,需要下图中的操作。
3.1 输入服务名称,此处取名为 QianYiTestName。建议为多个待迁移 API(这些 API 后端类型均为域名 / IP)定义同一个名称。
3.2 选择服务类型为域名 / IP,因为待迁移 API 后端类型是域名。
3.3 输入服务地址和端口,因为待迁移 API 的后端服务域名是 test.com、端口是80。
3.4 选择服务协议为HTTP,因为待迁移 API 的后端域名协议是 HTTP。
3.5 输入服务路径,因为待迁移 API 的后端路径是 /QianYiTest2。
4. 返回服务列表,单击对应服务的 ID/名称 进入详情页。
七、新建路由
1. 在路由管理页签下,单击新建。也即在该服务中新建一个转发路由,配置如下。
1.1 输入路由名称,此处和待迁移 API 保持一致,因此输入 “获取用户信息”。
1.2 选择请求协议,此处和待迁移 API 的前端方法保持一致,因此选择 HTTP&HTTPS。
1.3 输入匹配规则,此处和待迁移 API 的请求方法保持一致,因此选择 GET。
1.4 输入请求路径,此处和待迁移 API 的前端路径保持一致,因此输入 /QianYiTest1。
八、步骤3:验证访问
1. 在服务详情页,单击路由管理,可在基本信息 > 访问地址中查看到该路由的具体 IP。
2. 可通过访问该地址来测试是否联通、是否返回正常。更多详细指引可参见 云原生网关的验证请求转发。
九、步骤4:迁移更多 API
注意:说明:
注意:因云原生网关创建服务时的类型和API网关不一致,下文仅针对API网关涉及的6种后端类型,在云原生网关中如何选择进行说明。其他步骤仍然参见上文的 步骤2 和 步骤3。
注意:同时,以下仅作为简要说明,详细操作需在云原生网关控制台操作,如有疑问请在云原生网关中发起工单咨询。
十、情况1:后端类型为云函数
对于待迁移 API 的后端类型为SCF云函数时,在云原生网关中需新建一个服务,服务类型选择云函数。
但需注意,如果是Web函数,需要提前在云函数侧开启URL,位置是函数服务-函数详情-函数URL-创建函数URL。否则将会提示“function must have function url first”。
十一、情况2:后端类型为 TSF
对于待迁移 API 的后端类型为TSF微服务框架时,在云原生网关中需2个步骤。
步骤1:在服务来源中单击新建,来源类型选择注册中心,来源产品选择TSF注册中心,单击确定后会创建一个新的服务来源。
步骤2:在服务中单击新建,服务类型选择注册中心。服务来源选择步骤1中创建的来源。
十二、情况3:后端类型为后端通道-VPC 通道
对于待迁移 API 的后端类型是VPC 通道时,在云原生网关中需要新建一个服务。
·在服务中单击新建,服务类型选择 IP 列表,地址列表需要填写在 API 网关的后端通道 VPC 中填写的节点列表。
十三、情况4:后端类型为后端通道-容器通道
对于待迁移 API 的后端类型是通过 VPC 关联了容器通道时,在云原生网关中需2个步骤;
步骤1:在服务来源中单击新建,来源类型选择容器服务。
步骤2:在服务中单击新建,服务类型选择 K8S 服务,服务来源需选择在步骤1中创建的服务来源。
十四、情况5:后端类型为对象存储COS
对于待迁移 API 的后端类型是对象存储COS 桶资源时,在云原生网关中需新建一个服务;
步骤:在服务中单击新建,服务类型选择 域名/IP 列表,在服务地址、端口需要填写COS桶的访问域名。但需注意该服务类型属于COS桶公网访问方式,请注意在桶中开启公网访问权限。
十五、情况6:后端类型为Mock
对于待迁移 API 的后端类型是Mock内容时,在云原生网关中需新建一个自定义插件,再将插件绑定到服务和路由。
步骤:
1. 先参考云原生网关插件管理指引,查看自定义插件的开发规范。
2. 完成自定义插件开发,在插件中按规范自行写入需要Mock的内容。
3. 参考云原生网关插件管理指引中的“部署自定义插件”章节,在云原生网关插件管理中单击自定义插件、单击上传插件,上传后单击使用此版本。插件安装完成后,可绑定到服务和路由上。
十六、其他常见场景
在 API 网关中,还存在 API 插件、限流、自定义域名等常见场景,对应到云原生 API 网关中的名称及操作指引,汇总如下:
| API 网关现有名称 | 云原生网关的名称 | 云原生网关文档 |
| 系统插件、自定义插件(仅可绑定到 API 级) | 插件管理1. 区分了13款系统插件、34款原生插件、自定义插件。2. 插件支持实例级、服务级、路由级的不同粒度的绑定。3. 自定义插件可直接界面添加。但系统插件、原生插件都需要前往 Konga 控制台添加,具体入口:依次单击实例列表 > 实例 ID > Konga 控制台 > 公网访问地址,打开新的控制台后可在 SERVICES 和 PLUGINS 菜单中添加。 | 插件管理 |
| 服务日志 | 可观测性-默认日志/日志投递 | 查看日志 |
| 监控信息、数据统计 | 可观测性-请求监控/系统监控/业务监控等 | |
| 自定义域名 | 新建路由 > 匹配规则中输入 Host注意:如果该 Host 是 https:// 域名,则需绑定证书,控制台入口是 证书管理 | 新建路由证书管理 |
| 服务限流、API限流 | 服务限流、路由限流 | 配置限流策略 |