ModelArts Standard推理服务访问公网方案
本章节提供了推理服务访问公网的方法。
应用场景
推理服务访问公网地址的场景,如:
- 输入图片,先进行公网OCR服务调用,然后进行NLP处理;
- 进行公网文件下载,然后进行分析;
- 分析结果回调给公网服务终端。
方案设计
从推理服务的算法实例内部,访问公网服务地址的方案。如下图所示:

步骤一:ModelArts专属资源池打通VPC
- 创建好VPC和子网,具体步骤请参考创建虚拟私有云和子网。
- 创建Modelarts专属资源池网络。
- 登录ModelArts管理控制台,在左侧导航栏中选择“资源管理 > 网络管理”。
- 单击“创建网络”,弹出“创建网络”页面。
- 在“创建网络”弹窗中填写网络信息。
- 确认无误后,单击“确定”。
- Modelarts专属资源池网络打通VPC。
- 在控制台左侧导航栏中选择“资源管理 > 网络管理”。
- 选择上一步骤创建的网络,单击操作列的“打通VPC”。
图2 打通VPC
- 在打通VPC弹框中,打开“打通VPC”开关,在下拉框中选择提前创建好的VPC和子网。
需要打通的对端网络不能和当前网段重叠。
- 创建Modelarts专属资源池。
步骤二:使用Docker安装和配置正向代理
- 购买弹性云服务器ECS,详情请见购买ECS。镜像可选择Ubuntu最新版本。虚拟私有云选择提前创建好的VPC。
- 申请弹性公网IP EIP,详情请见申请弹性公网IP。
- 将弹性公网IP绑定到ECS,详情请见将弹性公网IP绑定至实例。
- 登录ECS,执行如下命令进行Docker安装。如已安装,请直接进入下一步。
curl -sSL https://get.daocloud.io/docker | sh
- 执行如下命令安装Squid容器。
docker pull ubuntu/squid
- 创建主机目录。
mkdir –p /etc/squid/
- 打开并配置whitelist.conf文件。
vim whitelist.conf
配置内容为安全控制可访问的地址,支持配置通配符,例如:
.apig.cn-east-3.huaweicloudapis.com
如果地址访问不通,请在浏览器配置访问域名。
- 打开并配置squid.conf文件。
vim squid.conf
配置内容如下。
# An ACL named 'whitelist' acl whitelist dstdomain '/etc/squid/whitelist.conf' # Allow whitelisted URLs through http_access allow whitelist # Block the rest http_access deny all # Default port http_port 3128
- 设置主机目录和配置文件权限如下。
chmod 640 -R /etc/squid
- 执行如下命令启动Squid实例。
docker run -d --name squid -e TZ=UTC -v /etc/squid:/etc/squid -p 3128:3128 ubuntu/squid:latest
- 进入docker刷新Squid。
docker exec –it squid bash root@{container_id}:/# squid -k reconfigure
步骤三:设置DNS代理和调用公网地址
- 在自定义模型镜像时设置代理指向代理服务器私有IP和端口,如下所示。
proxies = { "http": "http://{proxy_server_private_ip}:3128", "https": "http://{proxy_server_private_ip}:3128" }
代理服务器IP即步骤二:使用Docker安装和配置正向代理中创建的ECS私有IP,获取方式请见查看弹性云服务器详细信息。
图4 ECS私有IP - 调用公网地址时,使用服务URL进行业务请求,如:
https://e8a048ce25136addbbac23ce6132a.apig.cn-east-3.huaweicloudapis.com