全部产品
Search
文档中心

API 网关:环境管理

更新时间:Feb 28, 2024

本文档介绍如何在API网关上进行环境管理。

1. 什么是环境管理

当前每个分组内的API支持设置三个环境:测试(TEST)、预发(PRE)和线上(RELEASE)。目的是能够满足不同您的不同研发场景下的API 调用需求,如API测试环境,后端服务对应到您的测试环境资源,从而可以保证在同一套API配置的情况下,供您的测试人员进行测试使用。

在API网关上进行环境管理的时候,您需要做两部分工作:

  • API的后端服务环境:通过设置后端服务 ,为后端服务的测试、预发、线上环境分别定义不同值,从而当调用API时,API网关可以调用到不同的后端地址。

  • API的前端调用:需要client端显式的说明需要调用哪个环境。目前API网关支持两种方式,一种是为API分组的不同环境绑定不同的域名,另一种方式是在 Header 中增加入参 X-Ca-Stage 的信息。

本文将会分别介绍在API网关两种不同的后端服务类型( VPC 、 HTTP )情况下,如何结合两种不同的前端调用方式( X-Ca-Stage域名 ),从而实现环境管理。

2. VPC后端+X-Ca-Stage

2.1 前期准备

在本例中,首先在ECS中创建了两个不同的VPC,每个VPC中各创建了一个ECS实例,各代表线上环境和测试环境的后端服务器,

每个ECS实例都开放了TCP 80端口,并且安装了nginx作为HTTP的web server,使用HTTP访问时,分别会返回{"env":"test env"}和{"env":"relese env"}。

说明

本示例仅用于介绍如何使用API网关进行环境管理,因此并未考虑高可用、可扩展性、安全性等重要因素,故本示例的后端服务架构请勿作为您正式使用时的架构参考。

2.2 API后端配置

步骤1:由于本例中的API后端服务类型是VPC,因此需要分别创建两个VPC授权 backend-vpc-release 和 backend-vpc-test ,分别对应线上环境和测试环境,如何使用VPC作为API的后端服务的配置过程可详见创建后端服务为VPC内资源的API

步骤2:在API网关控制台中创建VPC类型的后端服务。

  • 登录API网关控制台,在左侧导航栏API管理下,选择后端服务,进入后端服务列表页面;

  • 在界面右上角单击创建后端服务,类型选择VPC。

步骤3:创建好后端服务后,在后端服务后的操作栏选择配置及关联的API,进入后端服务定义页面,测试环境和线上环境分别定义步骤1中创建的两个VPC授权。

说明

后端服务定义界面上的四个选项卡中,‘草稿’可以查看使用了该后端服务的API,‘测试,预发,线上’可以定义具体的后端服务地址,并且可以查看使用了该后端服务并进行了发布的API。

更多关于后端服务的详情可以参考使用后端服务提高管理效率

步骤5:创建API,创建完成后注意需要发布到线上环境和测试环境中,更多详情参考使用VPC内资源作为API的后端服务

重要

在创建API的第三步,定义后端服务页中后端配置选择使用已有的后端服务后端服务选择步骤2中创建的后端服务。

2.3 使用X-Ca-Stage访问

  • 线上环境调用。直接发起 API 调用,即调用线上环境。

  • 预发环境调用。调用预发环境的API,则在调用API时,在 Header 中增加入参 X-Ca-Stage: PRE, 即可访问预发环境的 API。

  • 测试环境调用。调用测试环境的API,则在调用API时,在 Header 中增加入参 X-Ca-Stage: TEST, 即可访问测试环境的 API。

3. Http后端+域名

3.1 前期准备

复用上一章节中的两个ECS,把这两个ECS实例作为API的HTTP后端。每个ECS实例都开放了TCP 80端口,安装了nginx作为HTTP的web server,使用HTTP访问时,分别会返回{"env":"test env"}和{"env":"relese env"}。

说明

本示例仅用于介绍如何使用API网关进行环境管理,因此并未考虑高可用、可扩展性、安全性等重要因素,故本示例的后端服务架构请勿作为您正式使用时的架构参考。

3.2 API后端服务配置

步骤1:在API网关控制台中创建HTTP类型的后端服务。

  • 登录API网关控制台,在左侧导航栏API管理下,选择后端服务,进入后端服务列表页面。

  • 在界面右上角单击创建后端服务,类型选择HTTP(海外region及中国香港不支持创建HTTP类型的后端服务)。

步骤2:在后端服务后的操作栏选择配置及关联的API,进入后端服务定义页面,分别为测试环境和线上环境定义不同的后端服务地址。

步骤3:创建API,创建完成后注意需要发布到线上环境和测试环境中,更多详情参考使用后端服务提高管理效率

重要

在创建API的第三步,定义后端服务页中后端配置选择使用已有的后端服务后端服务选择步骤2中创建的后端服务。

步骤5:为API的环境绑定域名。在分组详情页中,找到独立域名,单击右侧绑定域名

步骤6:为测试环境和线上环境分别绑定两个域名,如下图所示。

image.png

3.3 使用域名访问

  • 线上环境调用。使用绑定好的线上域名进行调用,如下图所示:

  • 预发环境调用。使用绑定好的预发域名进行调用。

  • 测试环境调用。使用绑定好的测试域名进行调用,如下图所示:

注意:绑定环境的域名优先级大于 X-Ca-Stage,即在调用绑定环境的域名中,仍然在header中添加 X-Ca-Stage 信息,API网关会以域名的环境配置为准,如下图所示: