文档中心>API 网关>操作指南>创建 API>创建后端对接 VPC 内资源的 API

创建后端对接 VPC 内资源的 API

最近更新时间:2024-06-14 18:23:21

我的收藏

操作场景

该任务指导您通过 API 网关控制台创建后端对接 VPC 内资源的 API。

前提条件

已完成 服务创建

操作步骤

步骤1:新建 API

1. 登录 API 网关控制台 ,在左侧导航栏单击服务
2. 在服务列表中,单击目标服务的服务名,查看该服务。
3. 在服务信息中,单击管理 API 标签页。
4. 单击新建,进行后续配置。

步骤2:前端配置

API 的前端配置指提供给外界访问的相关配置,包括 API 名称、前端类型、请求协议、HTTP 方法、URL 路径和入参的定义。

前端基础信息配置

API 名称:您创建的 API 的名称,在当前服务内具有唯一性,支持最长60个字符。
API 类型:可选择通用API、微服务API。根据支持的后端类型判断,此处应选择通用API。
前端类型:可支持 HTTP&HTTPS、WS&WSS 两种前端类型。
路径:您可以按需求写入合法 URL 路径。如需要在路径中配置动态参数,请使用{}符号,并在其中填入参数名,例如/user/{userid}路径,申明了路径中的 userid 参数,此参数同时需要在入参中作为 Path 类型参数进行定义。Query 参数不是必须在 URL 路径中定义的。 路径支持正则表达式方式匹配,路径输入内容以/user为例:
=/user:代表精确匹配,当存在多个 API 接口都有/user时,优先匹配含有=/user的配置的 API 接口。
/user/{id}:代表路径上存在动态参数,当存在多个 API 接口都有/user时,优先级第三匹配含有动态参数的配置的 API 接口。
/user:表示完全匹配或前缀匹配的方式访问,访问时/user/usertest/user/test/a都可以访问到/user路径的 API 接口。
请求方法:可选择 GET、POST、PUT、DELETE、HEAD 、ANY方法。
鉴权类型:支持 免认证应用认证OAuth 2.0EIAM认证密钥对认证 鉴权类型。
支持 CORS:用于配置跨域资源共享(CORS),开启后将默认在响应头中添加 Access-Control-Allow-Origin : *

前端参数配置

入参:入参包含了来源于 Header、Query、Path 的参数。其中 Path 参数对应于在 URL 路径中定义的动态参数。任一参数,均需要指定参数名,参数类型和参数数据类型;同时可以指明是否必填、默认值、示例数据和描述说明。利用这些配置,API 网关可以协助您完成入参的文档化和初步校验。


说明:
请求协议为 HTTPS 时,需要请求中携带 SNI 标识,为了保障请求安全,API 网关会拒绝不携带 SNI 标识的请求。
SNI(Server Name Indication)是 TLS 的一个扩展协议,用于解决一个服务器拥有多个域名的情况,在 TLSv1.2 开始得到协议的支持。之前的 SSL 握手信息中没有携带客户端要访问的目标地址,如果一台服务器有多个虚拟主机,且每个主机的域名不一样,使用了不一样的证书,此时会无法判断返回哪一个证书给客户端,SNI 通过在 Client Hello 中补上 Host 信息解决该问题。

步骤3:后端配置对接 VPC 内资源

API 的后端配置,是指的实际提供真实服务的配置。API 网关会将前端请求,依据后端配置进行转换后,转发调用到实际的服务上。 当您的业务采用主机、容器实现在 VPC 内,希望通过 API 网关 + 内网 CLB 将服务能力开放出来时,后端选用对接 VPC 内资源。
1. 需要选择您的后端类型为 VPC 内资源。
2. 在后端配置中需要先选择所需对接的 VPC。
2.1 历史版本中API网关支持通过内网 CLB 或后端通道对接 VPC 内资源。已创建的 API 也可继续使用该方式。



2.2 自2024年6月12日开始,针对共享型服务创建 API、编辑 API 时,出于安全合规考虑,对接方式不再支持通过内网 CLB。如需使用,第一个途径是在专享实例中创建服务和 API,第二种途径是使用云原生网关。但存量已经选择该方式的 API 不受影响。对应提示如下图。

3. 选择对接方式,此处示例选择通过内网 CLB 。 如您选择 HTTP 或 HTTPS 监听器,请确保后端 CVM 开通了公网带宽,否则可能会出现网络请求不通的问题(此策略产生的流量不计入公网出流量)。
4. 在后端域名处填写 http://vip+porthttps://vip+port, 这里根据您填写的不同我们发往 CLB 的请求会分别为 HTTP 请求或 HTTPS 请求。此处的 VIP 是 CLB 的 VIP,您可在应用型内网 CLB 的基本信息中查询到(参考步骤1截图)。
5. 填写后端路径。
如果您选择的是 HTTP/HTTPS 的 CLB 监听类型,在后端路径配置中,需要将后端路径配置为用户在 CLB 中监听器中配置的路径。
CLB 中监听器配置的域名及路径:

API 网关中的后端路径,需要和 CLB 中的路径一致。
此外,还需要在常量参数处配置一个名为 host 的参数,放在 header 中,参数值为 CLB 监听器中配置的域名。



如果您选择的是 TCP/UDP 的 CLB 监听类型,在后端配置中,需要将后端路径配置为 CLB 后端挂载 CVM 中业务所需的路径。
如果您在 CVM 中配置了 host 校验,则如同使用七层监听器一样,需要在常量参数中配置名为 host 的参数,根据您自身的业务选择所需放置的地址。后续的配置与其他的 API 配置相同。
6. 当后端对接 CLB 时,需要将后端挂载的 CVM 上的安全组放通100.64.0.0/10、9.0.0.0/8 网段。
说明:
后端对接 VPC 内资源的完整配置流程请参见 实践教程 > 后端对接 VPC 内 CLB 资源

步骤4:响应配置

API 响应配置:包括 API 响应数据配置和 API 错误码配置。
API 响应数据配置:用于指明返回数据类型,包括成功调用的数据示例和失败调用的数据示例。
API 的错误码定义:用于指明额外的错误码、错误信息和描述。
说明:
目前 API 网关对于响应结果不做处理,直接透传给请求者。在生成 SDK 文档时,填写的响应示例也会一并展示在文档中,它将会更好的帮助使用者理解接口含义。