本文介绍了API网关新推出的VPC融合专享实例、使用场景以及购买注意事项。
适用场景
VPC融合类型专享实例是阿里云API网关推出的新版本专享实例,重点对API网关和您的VPC之间的网络架构进行了优化,适用场景:
API网关需要访问同一VPC内的多个资源(如ECS、SLB),即托管在网关上的API,其后端服务是同一VPC下的多个资源,典型场景如微服务场景、服务发现场景(如Nacos)。
混合云网络互通,网关实例在向后端服务转发API请求时,后端服务希望网关实例的IP为VPC内的私网IP地址,详见 场景三 API网关内网访问部署在IDC机房的后端服务。
与传统方式的专享实例区别
优势和局限性总结如下表:
VPC融合专享实例 | 传统方式专享实例 | |
网关实例的出口IP* | IP为VPC内私网IP(即创建专享实例时选择接入的VPC) | IP为100.*.*.* |
一个网关实例需要向的同一VPC内多个资源上转发API请求 | 适合。如服务注册和发现 | 支持。但需要为每个后端资源配置VPC授权,不支持动态配置。 |
一个网关实例需要向多个VPC内的资源转发API请求 | 不支持。需要您自行将VPC之间的网络打通。 | 适合。可配置多个VPC授权。 |
配置过程 | 实例购买创建时,指定网关接入的VPC,配置API过程中无需额外配置。 | 需要配置VPC授权。 |
网关实例的出口IP,即API网关在向后端服务转发API请求时,后端服务获取到的TCP源IP地址。
VPC授权,传统方式下,需要先新增VPC授权后,才可使用该授权访问VPC内资源,详见 使用VPC内资源作为API的后端服务。
在与DataWorks数据服务集成时,由于网络架构限制,暂时仅可使用传统专享实例,VPC融合实例暂不支持。
购买说明
如图所示为API网关专享实例的购买页面,在实例类型选择VPC融合专享实例后,可以为将要创建的VPC融合类型专享实例进行配置。
创建VPC融合类型专享实例需要指定以下配置:
用户VPC ID:指定和API网关进行连接的用户VPC,创建以后不可进行更改。
API网关实例所在网段:指定API网关实例所在的网段,我们会检测网关的资源是否与您指定的交换机对应的网段有冲突,如存在冲突,实例将无法生产。
可用区和安全组:API网关将会在您指定的可用区的交换机和安全组下,创建弹性网卡资源,并将其绑定到将要创建的API网关实例上;请确保您VPC内的资源在指定的交换机对应的网段和同一安全组下,安全组的出方向需放行目标IP段,避免API网关实例无法请求到您的服务。
重要API网关会存在一个内部资源网段,指定的交换机需保证与API网关内部资源网段无重合。API网关内部资源使用的网段可参考VPC融合实例各Region占用网段。
服务关联角色:API网关在生产实例操作您VPC下的弹性网卡资源时,需要使用服务关联角色,关于角色详情可以参考文档API网关-连接用户VPC服务关联角色。
关于API网关在用户VPC下创建的弹性网卡(ENI)的说明:
ENI实例在用户VPC中,受用户VPC自身的安全规则和网络配置(安全组等)控制。
当后端是和ENI在同一安全组下的ECS,并且安全组开启了组内互通时,无需单独配置出方向的安全组。
当后端是CLB时,无论是否相同交换机,都需确保安全组中的出方向放行了目标IP段。
API网关在用户VPC下创建的ENI本身不会产生额外费用。
使用说明
添加用户VPC可被访问网段
新创建的VPC融合实例,默认情况下只能请求创建时指定的交换机对应网段中的服务,默认可访问网段可以在API网关控制台实例详情中查看VPC网络接入中对应的内容;如果您的其他服务在其他网段中,需要被API网关访问,可以手动添加。步骤如下:
登录API网关控制台,左侧导航栏选择实例,进入实例列表。
找到要操作的VPC融合类型专享实例,单击VPC可被访问网段的新增。
添加网段支持两种方式:按列表选择和手动填写。
说明手动填写时,请确保您填写的网段在您创建实例时指定的VPC内,或者和您指定的VPC是相连通的。
对VPC授权数据的兼容
使用VPC授权作为后端服务
VPC融合类型专享实例支持使用VPC授权作为后端服务,实例将使用创建时在用户VPC下创建的弹性网卡直接请求VPC授权中定义的服务。
VPC融合类型专享实例下的API或者插件,在配置VPC授权前请确保:
VPC授权定义中的VPC ID和实例连通的用户VPC ID相同。
VPC授权中的服务对应的内网地址在VPC融合类型专享实例的可被访问网段中。
说明当发布API或者修改插件内容时,API网关报错形如“instance cannot connect to the backend xxx.xxx.xxx.xxx.”,请检查该报错内容中提到的内网地址是否在实例的可被访问网段中。
变更分组实例
为了方便用户将业务迁移到VPC融合类型专享实例,共享实例/Serverless实例或传统类型专享实例下的API分组支持直接变更为VPC融合类型专享实例。
登录API网关控制台,在左侧导航栏选择分组管理。
找到要操作的分组,单击分组名称,进入分组详情页面。
单击变更分组实例,选择创建的VPC融合类型专享实例。
API网关会对原分组下的API及其关联的插件所使用的VPC授权进行校验,校验通过则变更成功;校验失败则本次变更失败,同时会显示变更失败的原因。
重要迁移前对VPC类型的服务(API,插件)会校验以下内容:
VPC授权定义中的VPC ID和实例连通的用户VPC ID相同。
VPC授权中的服务对应的内网地址在VPC融合类型专享实例的可被访问网段中。
迁移前,如果您的API分组下使用了VPC授权,请确保VPC授权中对应的ECS/SLB服务所在的安全组和创建VPC融合类型专享实例时指定的安全组保持一致。
迁移后,内网出口地址会变更为目标实例的出口地址,如果您的后端服务有白名单配置,请在迁移前添加,避免迁移后出现访问不通的问题。
VPC融合实例各Region占用网段
杭州
可用区 | 占用网段 |
cn-hangzhou-b | 192.168.0.0/20、172.19.0.0/20 |
cn-hangzhou-d | 192.168.16.0/20、172.19.16.0/20 |
cn-hangzhou-e | 192.168.32.0/20、172.19.32.0/20 |
cn-hangzhou-f | 192.168.48.0/20、172.19.48.0/20 |
cn-hangzhou-g | 192.168.64.0/20、172.19.64.0/20 |
cn-hangzhou-h | 192.168.80.0/20、172.19.80.0/20 |
cn-hangzhou-i | 192.168.96.0/20、172.19.96.0/20 |
cn-hangzhou-j | 192.168.112.0/20、172.19.112.0/20 |
cn-hangzhou-k | 192.168.128.0/20、172.19.128.0/20 |
172.20.0.0/16 |
上海
可用区 | 占用网段 |
cn-shanghai-a | 192.168.0.0/20、172.19.0.0/20 |
cn-shanghai-b | 192.168.16.0/20、172.19.16.0/20 |
cn-shanghai-c | 192.168.32.0/20、172.19.32.0/20 |
cn-shanghai-d | 192.168.48.0/20、172.19.48.0/20 |
cn-shanghai-e | 192.168.64.0/20、172.19.64.0/20 |
cn-shanghai-f | 192.168.80.0/20、172.19.80.0/20 |
cn-shanghai-g | 192.168.96.0/20、172.19.96.0/20 |
cn-shanghai-k | 192.168.112.0/20、172.19.112.0/20 |
cn-shanghai-l | 192.168.128.0/20、172.19.128.0/20 |
cn-shanghai-m | 192.168.144.0/20、172.19.144.0/20 |
cn-shanghai-n | 192.168.160.0/20、172.19.160.0/20 |
172.20.0.0/16 |
上海金融云
可用区 | 占用网段 |
cn-shanghai-finance-1a | 192.168.0.0/20、172.19.0.0/20 |
cn-shanghai-finance-1b | 192.168.16.0/20、172.19.16.0/20 |
cn-shanghai-finance-1f | 192.168.32.0/20、172.19.32.0/20 |
cn-shanghai-finance-1g | 192.168.48.0/20、172.19.48.0/20 |
cn-shanghai-finance-1k | 192.168.64.0/20、172.19.64.0/20 |
cn-shanghai-finance-1z | 192.168.80.0/20、172.19.80.0/20 |
172.21.0.0/16 |
北京
可用区 | 占用网段 |
cn-beijing-a | 192.168.0.0/20、172.19.0.0/20 |
cn-beijing-b | 192.168.16.0/20、172.19.16.0/20 |
cn-beijing-c | 192.168.32.0/20、172.19.32.0/20 |
cn-beijing-d | 192.168.48.0/20、172.19.48.0/20 |
cn-beijing-e | 192.168.64.0/20、172.19.64.0/20 |
cn-beijing-f | 192.168.80.0/20、172.19.80.0/20 |
cn-beijing-g | 192.168.96.0/20、172.19.96.0/20 |
cn-beijing-h | 192.168.112.0/20、172.19.112.0/20 |
cn-beijing-i | 192.168.128.0/20、172.19.128.0/20 |
cn-beijing-j | 192.168.144.0/20、172.19.144.0/20 |
cn-beijing-k | 192.168.160.0/20、172.19.160.0/20 |
cn-beijing-l | 192.168.176.0/20、172.19.176.0/20 |
172.22.0.0/16 |
北京金融云
可用区 | 占用网段 |
cn-beijing-finance-1k | 192.168.0.0/20、172.19.0.0/20 |
cn-beijing-finance-1l | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
深圳
可用区 | 占用网段 |
cn-shenzhen-a | 192.168.0.0/20、172.19.0.0/20 |
cn-shenzhen-b | 192.168.16.0/20、172.19.16.0/20 |
cn-shenzhen-c | 192.168.32.0/20、172.19.32.0/20 |
cn-shenzhen-d | 192.168.48.0/20、172.19.48.0/20 |
cn-shenzhen-e | 192.168.64.0/20、172.19.64.0/20 |
cn-shenzhen-f | 192.168.80.0/20、172.19.80.0/20 |
172.23.0.0/16 |
深圳金融云
可用区 | 占用网段 |
cn-shenzhen-finance-1a | 192.168.0.0/20、172.19.0.0/20 |
cn-shenzhen-finance-1b | 192.168.16.0/20、172.19.16.0/20 |
cn-shenzhen-finance-1d | 192.168.32.0/20、172.19.32.0/20 |
cn-shenzhen-finance-1e | 192.168.48.0/20、172.19.48.0/20 |
172.20.0.0/16 |
河源专属云汽车合规
可用区 | 占用网段 |
cn-heyuan-acdr-1a | 192.168.0.0/20、172.19.0.0/20 |
cn-heyuan-acdr-1b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
张家口
可用区 | 占用网段 |
cn-zhangjiakou-a | 192.168.0.0/20、172.19.0.0/20 |
cn-zhangjiakou-b | 192.168.16.0/20、172.19.16.0/20 |
cn-zhangjiakou-c | 192.168.32.0/20、172.19.32.0/20 |
172.20.0.0/16 |
成都
可用区 | 占用网段 |
cn-chengdu-a | 192.168.0.0/20、172.19.0.0/20 |
cn-chengdu-b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
青岛
可用区 | 占用网段 |
cn-qingdao-b | 192.168.0.0/20、172.19.0.0/20 |
cn-qingdao-c | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
香港
可用区 | 占用网段 |
cn-hongkong-b | 192.168.0.0/20、172.19.0.0/20 |
cn-hongkong-c | 192.168.16.0/20、172.19.16.0/20 |
cn-hongkong-d | 192.168.32.0/20、172.19.32.0/20 |
172.21.0.0/16 |
新加坡
可用区 | 占用网段 |
ap-southeast-1a | 192.168.0.0/20、172.19.0.0/20 |
ap-southeast-1b | 192.168.16.0/20、172.19.16.0/20 |
ap-southeast-1c | 192.168.32.0/20、172.19.32.0/20 |
172.21.0.0/16 |
印度尼西亚(雅加达)
可用区 | 占用网段 |
ap-southeast-5a | 192.168.0.0/20、172.19.0.0/20 |
ap-southeast-5b | 192.168.16.0/20、172.19.16.0/20 |
ap-southeast-5c | 192.168.32.0/20、172.19.32.0/20 |
172.20.0.0/16 |
马来西亚(吉隆坡)
可用区 | 占用网段 |
ap-southeast-3a | 192.168.0.0/20、172.19.0.0/20 |
ap-southeast-3b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
日本(东京)
可用区 | 占用网段 |
ap-northeast-1a | 192.168.0.0/20、172.19.0.0/20 |
ap-northeast-1b | 192.168.16.0/20、172.19.16.0/20 |
ap-northeast-1c | 192.168.32.0/20、172.19.32.0/20 |
172.21.0.0/16 |
韩国(首尔)
可用区 | 占用网段 |
ap-northeast-2a | 192.168.0.0/20、172.19.0.0/20 |
172.20.0.0/16 |
德国(法兰克福)
可用区 | 占用网段 |
eu-central-1a | 192.168.0.0/20、172.19.0.0/20 |
eu-central-1b | 192.168.16.0/20、172.19.16.0/20 |
eu-central-1c | 192.168.32.0/20、172.19.32.0/20 |
172.20.0.0/16 |
英国(伦敦)
可用区 | 占用网段 |
eu-west-1a | 192.168.0.0/20、172.19.0.0/20 |
eu-west-1b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
美国(硅谷)
可用区 | 占用网段 |
us-west-1a | 192.168.0.0/20、172.19.0.0/20 |
us-west-1b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
美国(弗吉尼亚)
可用区 | 占用网段 |
us-east-1a | 192.168.0.0/20、172.19.0.0/20 |
us-east-1b | 192.168.16.0/20、172.19.16.0/20 |
172.20.0.0/16 |
阿联酋(迪拜)
可用区 | 占用网段 |
me-east-1a | 192.168.0.0/20、172.19.0.0/20 |
172.20.0.0/16 |
沙特(利雅得)
可用区 | 占用网段 |
me-central-1a | 192.168.0.0/20、172.19.0.0/20 |
me-central-1b | 192.168.16.0/20、172.19.16.0/20 |
172.16.20.0/24 |