什么是API网关

API网关(API Gateway)

1.提供高性能、高可用、高安全的API托管服务。

2.快速将企业服务能力包装成标准API服务,帮助您轻松构建、管理和部署任意规模的API,并上架API云商店进行售卖。

3.可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放及业务能力变现。

4.帮助您变现服务能力的同时,降低企业研发投入,让您专注于企业核心业务,提升运营效率。

产品功能

API生命周期管理

包括API的创建、发布、下线和删除的完整生命周期管理功能。通过API生命周期管理功能,您可以快速、高效的开放成熟的业务能力。


云原生网关

API网关将流量入口和微服务治理能力融合,用一个网关去同时支持了k8s Ingress和Gateway API的功能,不仅大幅提升了性能,还简化了架构,降低了部署和运维成本。


便捷调试工具

API网关提供页面调试工具,您可以使用该工具添加HTTP头部参数与body体参数,对API进行调试,简化API开发,降低API的开发维护成本。


版本管理

API可以发布到不同的环境,如果您需要再次发布此API到之前已发布的环境,那么此次的发布版本将立即覆盖之前的版本。API网关支持查看API发布历史(如版本、发布说明、发布时间和发布环境),并支持回滚到任一API历史版本,以便满足业务灰度发布、版本升级、回滚等需求。


环境变量

环境变量是指在环境上创建可管理的一种变量,该变量固定在环境上。当API发布到不同环境时,发布过程中变量标识会被相应环境的变量值替换,API本身定义不变。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。


流量控制

针对不同的业务等级、用户等级,可实施API的请求频率、用户的请求频率、凭据应用的请求频率和源IP的请求频率的管控,用于保障后端服务的稳定运行。

流量控制的时间单位可以是秒、分钟、小时或天。

允许设置特殊的应用和租户。


监控告警

提供实时、可视化的API监控,包括:API请求次数、API调用延迟和API错误信息,通过监控面板更清晰地了解API的调用情况,识别可能影响业务的潜在风险。


访问控制

访问控制策略是API网关提供的API安全防护组件之一,主要用来控制访问API的IP地址和帐户,您可以通过设置IP地址或帐户的黑白名单来允许/拒绝某个IP地址或帐户访问API。


VPC通道

在API网关中创建VPC通道来访问VPC环境中的资源,并将部署在VPC中的后端服务开放API。同时VPC通道具有负载均衡功能,从而实现后端服务的负载均衡。


签名密钥

签名密钥是由一对Key和Secret组成,签名密钥需要绑定到API才能生效。签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。


模拟响应

API网关支持设置模拟的API后端响应,支持利用Mock响应支持重定向等场景。


开放API流程

作为API提供者,您可以将成熟的业务能力(服务、数据等)作为后端服务,在API网关中开放API,并通过线下或线上方式提供给API调用者使用,实现业务能力变现。


调用API流程

作为API调用者,您可以获取并调用API提供者在API网关开放的API,减少开发时间与成本。

API网关常见问题

API网关常见问题

更多API网关问题请前往 了解更多

更多API网关问题请前往 了解更多

  • API网关是否支持多后端节点方案?

    支持,通过VPC通道(负载通道)支持多后端节点,一个VPC通道中可以添加多个云服务器。

  • 独立域名申请后,还需要做什么

    独立域名完成注册、备案后,对于专享版,您需要将其A记录解析到实例的入口地址。解析成功后,即可使用。域名与API分组为多对一的关系,即一个分组最多能绑定5个独立域名,但一个域名只能解析到1个分组。

  • API调用失败的可能原因有哪些?

    网络问题:同一VPC内调用失败、不同VPC之间调用失败、公网调用失败。

    域名问题:域名是否备案成功,且能正常解析。

    发布问题:修改后的API是否重新发布。

    API控制策略问题:是否超过了流量控制范围。

    更多详情请前往了解更多

  • No backend available,怎么解决?

    检查后端服务是否可以访问,如果不能访问,请修改后端服务。

    检查后端服务对应的ECS安全组配置,查看是否已开放您需要的端口。

    检查VPC网络中的ACL配置,查看是否有相关ACL策略限制了API网关实例与后端服务所在子网的通信。

    若使用VPC通道,检查VPC通道业务端口、健康检查端口、后端服务器添加是否均正常。


  • 是否支持HTTPS的双向认证?

    前端双向认证。在绑定独立域名时,选择带有CA证书的SSL证书,默认开启客户端认证即双向认证。

    后端双向认证。在创建API时,配置双向认证,在API网关和后端服务间启用双向认证。配置请参考创建API中的“TLS双向认证”参数说明。


  • “无认证”方式的API该怎么鉴权与调用?

    “无认证”即API网关对收到的调用请求不做身份认证,您只需要按照API提供者提供的接口说明,封装规范的HTTP请求,发送给API网关即可。

    说明:无认证方式下,API网关把请求内容透传给后端服务。因此,如果您希望在API后端服务进行鉴权,可以使用“无认证”方式,API调用方传递鉴权所需字段给后端服务,由后端服务进行鉴权。

  • 流量控制策略不生效怎么办?

    流控策略的API流量限制或源IP流量限制不生效,检查API是否绑定流控策略。

    若流控策略的用户流量限制不生效,检查API的安全认证方式是否为APP认证或IAM认证。

    若流控策略的凭据流量限制不生效,检查API的安全认证方式是否为APP认证。

  • 怎样给指定的用户开放API?

    可以采用以下两种方式:

    创建API时可选取APP认证方式,APP key和APP Secret分享给指定的用户。

    使用访问控制策略,按照IP地址或者帐号名,只允许符合允许策略的用户调用API。


  • API发布到RELEASE环境可以正常访问,发布到非RELEASE环境无法访问?

    添加x-stage请求消息头后即可访问。

    例如:

    r.Header.Add("x-stage", "RELEASE")

  • API导入失败是什么原因?

    可能原因1:单次导入的API数量超出上限。当前单次最高能导入300个API,如超出此数量,请分批导入,或提交配额修改工单,调整API单次导入上限。

    可能原因2:参数错误,需要检查和修正。建议先在API网关控制台界面创建一个API,将其导出作为API文件的模板。

    可能原因3:YAML文件格式问题,需要检查和修正。

    可能原因4:本地proxy网络限制,更换网络环境。

    可能原因5:定义API请求中,不允许在Header定义“X-Auth-Token”字段

  • 怎样保证API网关调用后端服务器的安全?

    通过以下方法确保API网关调用后端服务器的安全:

    为API绑定签名密钥。在绑定签名密钥后,API网关到后端服务的请求增加签名信息,后端服务收到请求后计算签名信息,验证计算后的签名信息与API网关的签名信息是否一致。

    使用HTTPS对请求进行加密。需要确保已有相应的SSL证书

    使用后端认证。您可以对后端服务开启安全认证,只受理携带正确授权信息的API请求。在创建API的定义后端服务阶段,可以开启后端认证。