VPC融合专享实例

本文介绍了API网关新推出的VPC融合专享实例、使用场景以及购买注意。

适用场景

VPC融合类型专享实例是阿里云API网关推出的新版本专享实例,重点对API网关和您的VPC之间的网络架构进行了优化,适用场景:

  • API网关需要访问同一VPC内的多个资源(如ECS、SLB),即托管在网关上的API,其后端服务是同一VPC下的多个资源,典型场景如微服务场景、服务发现场景(如Nacos);

  • 混合云网络互通,网关实例在向后端服务转发API请求时,后端服务希望网关实例的IP为VPC内的私网IP地址,详见 场景三 API网关内网访问部署在IDC机房的后端服务

    image.png

与传统方式的专享实例区别

优势和局限性总结如下表:

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的后端服务

购买说明

如图所示为API网关专享实例的购买页面,在实例类型选择VPC融合专享实例后,可以为将要创建的VPC融合类型专享实例进行配置。

image..png

创建VPC融合类型专享实例需要指定以下配置:

  1. 用户VPC ID:指定和API网关进行连接的用户VPC,创建以后不可进行更改;

  2. API网关实例所在网段:指定API网关实例所在的网段,我们会检测网关的资源是否与您指定的交换机对应的网段有冲突,如存在冲突,实例将无法生产;

  3. 可用区和安全组:API网关将会在您指定的可用区的交换机和安全组下,创建弹性网卡资源,并将其绑定到将要创建的API网关实例上;请确保您VPC内的资源在指定的交换机对应的网段和同一安全组下,安全组的出方向需放行目标IP段,避免API网关实例无法请求到您的服务;

  4. 服务关联角色:API网关在生产实例操作您VPC下的弹性网卡资源时,需要使用服务关联角色,关于角色详情可以参考文档API网关-连接用户VPC服务关联角色

说明

关于API网关在用户VPC下创建的弹性网卡(ENI)的说明

  1. ENI实例在用户VPC中,受用户VPC自身的安全规则和网络配置(安全组等)控制。

    1. 当后端是和ENI在同一安全组下的ECS,并且安全组开启了组内互通时,无需单独配置出方向的安全组。

    2. 当后端是CLB时,无论是否相同交换机,都需确保安全组中的出方向放行了目标IP段。

  2. API网关在用户VPC下创建的ENI本身不会产生额外费用。

使用说明

添加用户VPC可被访问网段

新创建的VPC融合实例,默认情况下只能请求创建时指定的交换机对应网段中的服务,默认可访问网段可以在API网关控制台实例详情中查看VPC网络接入中对应的内容;如果您的其他服务在其他网段中,需要被API网关访问,可以手动添加。步骤如下:

  1. 登录API网关控制台,左侧导航栏选择实例,进入实例列表;

  2. 找到要操作的VPC融合类型专享实例,单击VPC可被访问网段新增

  3. 添加网段支持两种方式:按列表选择手动填写

    说明

    手动填写时,请确保您填写的网段在您创建实例时指定的VPC内,或者和您指定的VPC是相连通的。

对VPC授权数据的兼容

使用VPC授权作为后端服务

VPC融合类型专享实例支持使用VPC授权作为后端服务,实例将使用创建时在用户VPC下创建的弹性网卡直接请求VPC授权中定义的服务。

VPC融合类型专享实例下的API或者插件,在配置VPC授权前请确保

  1. VPC授权定义中的VPC ID和实例连通的用户VPC ID相同;

  2. VPC授权中的服务对应的内网地址在VPC融合类型专享实例的可被访问网段中。

    说明

    当发布API或者修改插件内容时,API网关报错形如“instance cannot connect the backend xxx.xxx.xxx.xxx.”,请检查该报错内容中提到的内网地址是否在实例的可被访问网段中。

变更分组实例

为了方便用户将业务迁移到VPC融合类型专享实例,共享实例/Serverless实例或传统类型专享实例下的API分组支持直接变更为VPC融合类型专享实例。

  1. 登录API网关控制台,左侧导航栏选择分组管理

  2. 找到要操作的分组,单击分组名称,进入分组详情页面;

  3. 单击变更分组实例,选择创建的VPC融合类型专享实例;

  4. API网关会对原分组下的API,关联的插件所使用的VPC授权进行校验,校验通过,变更成功;校验失败,本次变更失败,同时会显示变更失败的原因。

    重要
    1. 迁移前对VPC类型的服务(API,插件)会校验以下内容:

      1. VPC授权定义中的VPC ID和实例连通的用户VPC ID相同;

      2. VPC授权中的服务对应的内网地址在VPC融合类型专享实例的可被访问网段中。

    2. 迁移前,如果您的API分组下使用了VPC授权,请确保VPC授权中对应的ECS/SLB服务所在的安全组和创建VPC融合类型专享实例时指定的安全组保持一致

    3. 迁移后,内网出口地址会变更为目标实例的出口地址,如果您的后端服务有白名单配置,请在迁移前添加,避免迁移后出现访问不通的问题;