本文介绍了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网关在生产实例操作您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 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融合类型专享实例时指定的安全组保持一致
迁移后,内网出口地址会变更为目标实例的出口地址,如果您的后端服务有白名单配置,请在迁移前添加,避免迁移后出现访问不通的问题;