文档首页/ 魔坊(ModelArts)模型训推平台/ 最佳实践/ 推理部署(新版)/ 通过专属APIG&WAF&VPC&ELB连接内网访问在线服务
更新时间:2026-03-14 GMT+08:00
分享

通过专属APIG&WAF&VPC&ELB连接内网访问在线服务

方案概述

为了确保外网用户能够安全、高效地访问ModelArts提供的在线服务,并更灵活地整合ModelArts提供的预测服务,

本方案将详细描述如何通过专属API Gateway(APIG)、Web应用防火墙(WAF)、虚拟私有云(VPC)和弹性负载均衡(ELB)连接内网访问ModelArts在线服务。

图1 在线服务访问示意图

流量访问说明如下:

  1. 用户在浏览器输入域名后,客户端会向DNS发送请求,查询域名解析地址。
  2. DNS返回域名解析地址。
  3. DNS返回的域名解析地址为ELB的公网IP地址,客户端通过该公网IP访问ELB。
  4. ELB将流量传给WAF。
  5. 经过WAF检测后,异常请求将被拦截,正常请求会通过WAF独享引擎回源IP转发到在线服务。
图2 网络架构图

约束限制

约束限制

备注

规避方案

域名

提前准备好ICP备案的公网域名,申请、备案等需要三到五天。

域名申请、备案等流程请参考流程指引_快速入门_域名注册服务 Domains-华为云

使用ELB的IP进行访问。

响应超时时间

APIG限制后端服务最大响应超时时间为5分钟。

如果需要更大的超时时间,可以考虑去掉APIG。

资源和成本规划

本示例中的规格只是访问链路搭建使用,QPS低,最终的推理性能受限于各个组件的性能规格,请结合自身业务需要,购买性能匹配的组件。

资源

规格说明(参考)

数量

API网关(APIG)

  • 计费模式按需计费
  • 基础版
  • 单AZ:50Mbit/s
  • 双AZ及以上:100Mbit/s
  • 内网每秒新建连接数:1000

规格购买请参考:

产品规格差异_产品介绍_API网关 APIG-华为云

1

弹性公网IP

  • 按带宽计费
  • 带宽:5M/s

规格购买请参考:

计费说明_产品介绍_弹性公网IP EIP-华为云

节约公网成本_最佳实践_弹性公网IP EIP-华为云

1

弹性负载均衡(ELB)

  • 网络类型:公网
  • 带宽:5M/s

规格购买请参考:

ELB选型和业务规划_最佳实践_弹性负载均衡 ELB-华为云

1

Web应用防火墙(WAF)

  • WI-100
  • 单实例性能建议参考
  • 吞吐量
  • 100Mbps
  • HTTP(s)业务
  • QPS 1,000 极限为 2,000 回源长连接 60,000
  • Websocket
  • 并发连接 1,000

规格购买请参考:

购买和变更规格_华为云

购买WAF时如何选择业务QPS?-华为云

1

VPC终端节点

  • 基础版

规格购买请参考:

节约公网成本_最佳实践_虚拟私有云 VPC-华为云

带宽类_常见问题_虚拟私有云 VPC-华为云

1

权限说明

表1 创建组件所需权限

组件

权限(创建组件所需权限)

官方链接

VPC

VPC FullAcces或者VPC Administrator

权限管理_产品介绍_虚拟私有云 VPC-华为云

EIP

VPC FullAcces或者VPC Administrator

权限管理_产品介绍_弹性公网IP EIP-华为云

APIG

  • 系统角色相关权限:同时拥有“APIG Administrator”和“VPC Administrator”权限才能创建实例
  • 系统策略:拥有“APIG FullAccess”权限即可。

快速开放并调用API_快速入门_API网关 APIG-华为云

ELB

ELBFullAccess或者ELB Administrator

权限管理_产品介绍_弹性负载均衡 ELB-华为云

WAF

WAF Administrator或者WAF FullAccess

WAF控制台的权限依赖_权限管理_用户指南_Web应用防火墙 WAF-华为云

用户在使用内网接入功能时,要保证拥有以下权限。

表2 内网接入功能所需权限

权限名

action

使用场景

查询工作空间详情

modelarts:workspace:get

访问工作空间

查询模型服务列表

modelarts:service:list

查询服务列表

查询专属资源池列表

modelarts:pool:list

查询资源池列表

查询虚拟私有云列表

vpc:vpcs:list

内网接入界面和创建内网接入申请使用

查询子网列表或详情

vpc:subnets:get

内网接入界面和创建内网接入申请使用

查询内网访问列表

modelarts:intranetConnection:list

查询内网接入列表

变更内网访问

modelarts:intranetConnection:update

修改内网访问

创建内网访问

modelarts:intranetConnection:create

创建内网访问

删除内网访问

modelarts:intranetConnection:delete

删除内网访问

用户还需赋予ModelArts服务以下委托权限。ModelArts添加授权授权操作请参见快速配置ModelArts委托授权

表3 内网接入功能赋予ModelArts委托权限

权限名

action

使用场景

创建终端节点

vpcep:endpoints:create

创建内网接入、变更内网接入

删除终端节点

vpcep:endpoints:delete

删除内网接入

查询终端节点详情

vpcep:endpoints:get

创建内网接入、变更内网接入

查询终端节点列表

vpcep:endpoints:list

创建内网接入、变更内网接入

操作流程

操作步骤

说明

步骤一:创建VPC

介绍如何创建VPC。

步骤二:创建内网连接

介绍如何创建一个服务的内网连接。

步骤三:购买APIG

介绍如何购买APIG。

步骤四:通过APIG创建API

介绍如何创建API。

步骤五:创建弹性负载均衡

介绍如何创建负载均衡。

步骤六:添加监听器

介绍如何添加监听器,打通负载均衡到WAF的链路。

步骤七:使用WAF对APIG进行安全防护

接入waf,打通waf到APIG的链路。

步骤八:公网访问在线服务

公网访问在线服务。

步骤一:创建VPC

  1. 进入创建虚拟私有云页面,在“创建虚拟私有云”页面,根据界面提示配置VPC和子网的参数。更多参数说明请见创建虚拟私有云和子网
  2. 单击“立即创建”

步骤二:创建内网连接

  1. 登录ModelArts管理控制台,在左侧导航栏中选择“模型推理 > 在线推理”,默认进入“在线推理”列表。
  2. 单击“内网接入管理”,切换至“内网接入管理”页面。
  3. “我的申请”页签下,单击“创建”
  4. “创建申请”弹框中填写参数,单击“确定”
    “我的申请”查看申请状态,待申请状态为“接入成功”,即申请审批通过。
    表4 内网接入申请参数说明

    参数

    说明

    本案例推荐值

    服务ID

    需要内网访问的推理服务ID。

    在推理服务列表单击服务名称,进入服务详情页获取在线服务ID。

    申请场景

    申请打通内网的VPC场景。

    • 用户网络:打通当前用户指定VPC与推理服务的内网连接。
    • 资源池网络:打通已创建的资源池与推理服务的内网连接。

    用户网络。

    VPC

    当申请场景选择“用户网络”时,选择待打通内网连接的VPC。

    选择步骤一:创建VPC创建的VPC。

    子网

    当申请场景选择“用户网络”时,选择待打通内网连接的子网。

    选择步骤一:创建VPC创建的子网。

    资源池

    当申请场景选择“资源池网络”时,选择待打通内网连接的资源池。

    不涉及。

    自定义访问地址

    放通用户域名,允许用户通过公网域名经过负载均衡连接内网访问在线服务。

    用户提供的域名。

步骤三:购买APIG

为了管理在线服务,您需要购买专享版实例,创建API并绑定域名。

  1. 进入购买实例页面,配置实例信息。更多参数说明请见创建APIG实例

    请结合业务需求,按需购买不同的实例,最终价格以页面显示的为准。

    本案例中以“实例规格”“基础版”为例,“公网入口”“公网出口”暂可不选,“VPC和子网”选择步骤一:创建VPC创建的VPC和子网,“安全组”入口方向放开80、443端口。更多参数说明请见创建APIG实例

  2. 单击“立即购买”,进入实例规格确认页面。
  3. 规格确认无误后,勾选服务协议,支付费用后,开始创建实例,界面显示创建进度。

步骤四:通过APIG创建API

  1. 获取内网连接访问地址。
    1. 登录ModelArts管理控制台,在左侧导航栏中选择“模型推理 > 在线推理”,默认进入“在线推理”列表。
    2. 单击“内网接入管理”,切换至“内网接入管理”页面。
    3. 单击“我的申请”,找到步骤二:创建内网连接创建的内网连接,拷贝访问地址列的值,以“https://1xx.xxx.xxx.xxx/v2/infer/xxx-xxxx-xxxxxxx”为例,创建API接口。
      图3 内网连接访问地址

  2. 创建API的负载通道。
    1. 登录APIG控制台,左上角下拉列表选择步骤三:购买APIG创建好的APIG实例,在左侧导航栏中选择“API管理>API策略”
    2. 单击“负载通道”,进入到负载通道列表页面。
    3. 单击“创建负载通道”,配置基本信息。表5为部分参数说明。
      更多参数说明请见创建API的负载通道
      表5 创建负载通道参数说明

      参数

      说明

      本案例推荐值

      通道名称

      根据自身业务需要,选择APIG服务计费方式。

      VPC_xxxx

      端口

      根据内网连接地址填写:

      HTTP填80

      HTTPS填443

      443

      分发算法

      通过分发算法确定请求被发送到哪台主机。

      分发算法包含如下几种:

      • 加权轮询:结合弹性服务器权重值,将请求轮流转发到每一台服务器。
      • 加权最少:结合弹性服务器权重值,将请求转发到具有最少活跃连接数的那台服务器。
      • 源地址哈希:由请求的来源IP地址决定请求被转发到哪一台云服务器,相同源地址的请求始终会转发到同一台服务器,除非该云服务器不可用。
      • URI哈希:由请求的路径决定请求被转发到哪一台云服务器,相同路径的请求始终会转发到同一台服务器,除非该云服务器不可用。

      加权轮询

      通道类型

      • 选择服务器类型,API的请求将被分发到通道中的弹性云服务器或指定的服务器IP。
      • 选择微服务类型,API的请求将被分发到通道中的微服务IP。
      • 选择引用负载通道,可以引用其他已有的负载通道。

      服务器

      服务器添加方式

      选择通道类型为服务器时,配置通道内服务器。

      指定服务器地址

    4. 单击“创建服务器分组”,在弹窗中填写服务器分组信息,单击“确定”。更多参数说明请见创建API的负载通道
    5. 单击“添加后端服务器地址”,根据下表中部分参数说明,在列表中填写后端服务器地址。

      参数

      说明

      配置值

      后端服务器地址

      内网连接地址的IP部分,如访问连接https://192.xxx.xxx.122

      /v2/infer/xxx-xxxx-xxxxxxx,则填写192.xxx.xxx.122

      192.xxx.xxx.122

      端口

      根据内网连接地址请求协议填写:

      HTTP填80

      HTTPS填443

      443

    6. 单击“完成”,完成负载通道的创建。
  3. 创建API。
    1. 在APIG控制台左上角下拉列表选择步骤三:购买APIG创建好的APIG实例,在左侧导航栏中选择“API管理>API列表”
    2. 单击“创建API”,根据下表配置信息,表6为部分参数说明。更多参数说明请见通过APIG创建REST API
      表6 API参数说明

      参数

      说明

      配置值

      API名称

      支持中文、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、中文或数字开头,3-255个字符。

      API_xxxx

      所属分组

      下拉选择或者新建API分组

      DEFAULT

      URL

      示例链接https://192.xxx.xxx.122

      /v2/infer/xxx-xxxx-xxxxxxx提供了POST /v1/sse接口

      请求方法:选择与接口匹配的方法

      请求协议:选择与接口匹配的协议

      路径:请求path可以包含请求参数,请求参数使用{}标识,例如/a/{b},绝对匹配模式可以通过配置'+'号做前缀匹配,例如:/a/{b+}

      POST

      HTTPS

      /v2/infer/xxxxx/v1/sse

      网关响应

      default

      default

      类型

      公开类型,且在RELEASE环境上发布的API可以上架售卖。

      私有类型API不会被上架售卖。

      公开

      安全认证

      APP认证:使用AppKey & AppSecret认证

      IAM认证:只允许用户能访问

      自定义认证:使用自定义认证来控制API的访问

      无认证:所有用户均可访问,不推荐使用。

      注意事项:若请求链接中已包含有效的认证信息,可选择“无认证”选项,以避免API网关与后端服务重复验证,从而提升接口响应效率。

      无认证

    3. 单击“下一步”按钮,进入接口后端配置。

      根据下表配置信息,表7为部分参数说明。更多参数说明请见通过APIG创建REST API

      表7 后端配置参数说明

      参数

      说明

      配置值

      后端服务类型

      选择API后端服务类型。

      HTTP&HTTPS

      负载模式

      单模后端

      DEFAULT

      URL

      示例链接https://192.xxx.xxx.122/v2/infer/xxx-xxxx-xxxxxxx提供了POST /v1/sse接口

      请求方法:选择与接口匹配的方法

      请求协议:选择与接口匹配的协议

      负载通道:选择之前创建好的通道

      路径:请求path可以包含请求参数,请求参数使用{}标识,例如/a/{b},绝对匹配模式可以通过配置'+'号做前缀匹配,例如:/a/{b+}

      POST

      HTTPS

      VPC_xxxx

      /v2/infer/xxxxxx/v1/sse

      后端超时 (ms)

      APIG限制了最大响应时间为5分钟,如果业务需要更大的响应时间,需要避开APIG链路,请求不走APIG。单位:毫秒。

      5000

    4. 单击“完成”,等待页面跳转到API调试页面。
  4. 在API调试页面,单击右上角的“调试”,使用APIG提供的默认域名,接口响应200则表示API配置成功了。
    图4 API调试
  5. 接口调试成功后,单击右上角的“发布最新版本”按钮,在发布API对话框中选择发布环境,单击“确定”
    本案例“发布环境”选择“RELEASE”
    图5 发布新版本
    图6 发布API

步骤五:创建弹性负载均衡

  1. 登录弹性负载均衡控制台,单击“购买弹性负载均衡”
  2. 在“购买弹性负载均衡”页面,根据界面提示配置参数,需要配置的参数详情请参见表8,其他配置按需进行配置,更多参数说明请见购买负载均衡
    表8 ELB部分参数说明

    参数

    配置值

    网络类型

    IPv4私网。

    所属VPC

    配置为步骤一:创建VPC创建的VPC。

    前端子网

    配置为步骤一:创建VPC创建的子网。

    IPv4地址

    自动分配IP地址。

    后端子网

    与前端子网保持一致。

    IP类型后端

    打开。

步骤六:添加监听器

  1. 进入“负载均衡实例”详情页面,在“负载均衡实例”详情页面,单击“监听器”页签,单击“添加监听器”按钮。
  2. 在添加监听器对话框中配置参数,需要配置的参数请参见表9,其他配置按需进行配置,更多参数说明请见添加HTTPS监听器
    表9 添加监听器参数说明

    参数

    配置值

    前端协议

    对应在线服务的“服务调用接口”的协议进行配置。

    例如:在线服务的“服务调用接口”是“HTTP://{host}:8080”,配置为“HTTP”。

    监听端口

    “前端协议”是“HTTP”,配置为“80”;

    “前端协议”是“HTTPS”,配置为“443”。

  3. 单击“下一步:配置后端分配策略”,配置“配置后端分配策略”参数,需要配置的参数详情请参见表10。更多参数说明请见创建后端服务器组
    表10 配置后端分配策略参数说明

    参数

    说明

    配置值

    后端服务器组

    参考创建后端服务器组创建。

    新创建

    名称

    待创建的后端服务器组的名称。

    server_group-best-0829

    服务器组类型

    指定后端服务器组的类型。

    • 混合类型:既支持按照弹性云服务器和辅助弹性网卡实例添加后端服务器,也支持开启IP类型后端功能后按照IP地址添加后端服务器。

      混合类型一定需要指定虚拟私有云,且后端服务器组绑定的是该虚拟私有云下的负载均衡。

    • IP类型:按照IP地址添加后端服务器。

      IP类型必须开启IP类型后端功能才能添加后端服务器。

    混合类型

    后端协议

    根据步骤二:创建内网连接中的内网连接决定:

    例如:内网连接是https://1xx.xxx.xx.xxx:443/v2/infer/xxxx,则选择HTTPS

    HTTPS

  4. 单击右下角的“下一步:添加后端服务器”,本案例在此页面可不做任何操作。
  5. 单击“下一步:确认配置”,确认配置无误后,单击“提交”。

    创建成功之后,返回到监听器页面。

步骤七:使用WAF对APIG进行安全防护

  1. 登录Web应用防火墙控制台,在页面右上角,单击“购买WAF实例”。
  2. 在“购买Web应用防火墙”界面,“WAF模式”选择“独享模式”。
  3. 在“购买Web应用防火墙”页面,按需配置参数。

    本案例中,网络配置的“虚拟私有云”“子网”“安全组”要选择步骤一:创建VPC创建的VPC、子网和安全组,更多参数说明请见购买WAF

  4. 确认参数配置无误后,在页面右下角单击“立即购买”。
  5. 在“确认配置”页面,确认订单详情无误后,仔细阅读并勾选“我已经阅读并同意《Web应用防火墙免责声明》”、“我同意WAF(Web应用防火墙)获取访问我的云资源权限”,单击“去支付”。
  6. 在WAF应用防火墙控制台左侧导航栏中,选择“网站设置”,进入“网站设置”页面。
  7. 在网站列表左上角,单击“添加防护网站”,选择“独享模式接入”,单击“开始配置”
  8. 在添加防护网站对话框中,本案例中需要配置的参数详情请参见表11,其余参数请按需配置参数,更多参数说明请见添加防护网站
    表11 添加防护网站

    参数

    说明

    配置值

    防护对象

    防护的域名或IP,域名支持单域名和泛域名

    填写准备好的域名即可。

    www.xxxx.com

    服务器配置

    端口、协议根据内网连接地址填写:

    HTTP填80。

    HTTPS填443。

    VPC为步骤一:创建VPC创建的VPC。

    内网IP地址:apig的IP地址。跳转到APIG页面,单击之前创建的APIG,进入到详细页面,找到“虚拟私有云访问地址”,如图7所示。

    HTTPS

    HTTPS

    vpc-xxxx

    443

    192.xxx.xxx.xxx(APIG的内网地址)

    已使用七层代理

    七层代理:使用了DDoS高防(七层代理)、CDN、云加速等Web代理产品。注:设置七层代理后,WAF将从Header头中的相关字段获取用户真实访问IP。

    图7 虚拟私有云访问地址
  9. 单击“确定”后返回到列表页面。单击上一步骤“防护对象”参数添加的域名,进入到详细配置页面。
  10. 验证WAF是否正常,详情请见验证WAF独享引擎实例转发正常

步骤八:公网访问在线服务

浏览器或者PostMan工具访问在线服务,如果API接口配置了安全认证,请求时需要加上相应的安全认证。本案例以无认证为例。

图8 公网访问在线服务
表12 访问地址说明

地址

说明

www.地址.com

步骤七:使用WAF对APIG进行安全防护中添加的防护域名。

/v2/infer/xxx-xxxx-xxxxxxx

步骤四:通过APIG创建API中创建的API接口。

相关文档