推理服务访问公网

应用场景

ModelArts推理服务访问公网地址的场景,如:

  • 输入图片,先进行公网OCR服务调用,然后进行NLP处理;
  • 进行公网文件下载,然后进行分析;
  • 分析结果回调给公网服务终端。

方案设计

从ModelArts推理服务的算法实例内部,访问公网服务地址的方案。如下图所示:

    操作事项

    • 收起展开
      ModelArts:资源池网络设置收起展开

      专属资源池的作业类型需包含推理部署,选择的网络需打通VPC网络。

    • 收起展开
      用户VPC:代理安装和配置收起展开

      在安装正向代理前,需要先购买一台弹性云服务器ECS(镜像可选择Ubuntu最新版本),并配置好弹性EIP,然后登陆ECS进行正向代理Squid的安装和配置。

    • 收起展开
      算法镜像:DNS设置和公网地址调用收起展开

      在代码中设置代理指向代理服务器私有IP和端口,进行公网地址调用。

    ModelArts:资源池网络设置

    专属资源池的创建作业类型包含推理服务,选择的网络需打通VPC网络。打通VPC可实现ModelArts资源池和用户VPC的网络打通。

        用户VPC:正向代理安装和配置

        ModelArts推理服务访问公网打通网络后,需要设置代理。在安装正向代理前,需要先购买一台弹性云服务器ECS(镜像可选择Ubuntu最新版本),并配置好弹性EIP,然后登陆ECS进行正向代理Squid的安装和配置,步骤如下:

        1、若没有安装Docker,执行以下命令进行Docker安装

        curl -sSL https://get.daocloud.io/docker | sh

        2、拉取Squid镜像

        docker pull ubuntu/squid

        3、创建主机目录,配置whitelist.conf和squid.conf

        · 先创建主机目录:mkdir –p /etc/squid/

        · 添加whitelist.conf配置文件,内容为安全控制可访问的地址,如:.apig.cn-east-3.huaweicloudapis.com

        · 添加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

        4、启动squid实例

        docker run -d --name squid -e TZ=UTC -v /etc/squid:/etc/squid -p 3128:3128 ubuntu/squid:latest

        5、如果whitelist.conf或squid.conf有更新,则进入容器刷新squid

        docker exec –it squid bash
        root@{container_id}:/# squid -k reconfigure

          算法镜像:代理设置和公网地址调用

          ModelArts推理服务访问公网,正向代码安装和配置完成后,开始设置代理。

          1、设置代理

          在代码中设置代理指向代理服务器私有IP和端口,如下所示:

          proxies ={
          "http": "http://{proxy_server_private_ip}:3128",
          "https": "http://{proxy_server_private_ip}:3128"
          }

          服务器私有IP获取如下图所示:

            2、地址调用

            在推理代码中,使用服务URL进行业务请求,如:https://e8a048ce25136addbbac23ce6132a.apig.cn-east-3.huaweicloudapis.com

            将模型导入ModelArts中,部署为服务,对服务进行调用,完成推理服务访问公网的能力。

              常见问题

              常见问题

              • ModelArts网络与VPC介绍

                ModelArts网络是承载ModelArts资源池节点的网络连接,基于华为云的VPC进行封装,对用户仅提供网络名称以及CIDR网段的选择项,为了防止在打通VPC的时候有网段的冲突,因此提供了多个CIDR网段的选项,用户可以根据自己的实际情况进行选择。

                虚拟私有云VPC是一套为实例构建的逻辑隔离的、由用户自主配置和管理的虚拟网络环境。为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户资源的安全性,简化用户的网络部署。

              • 模型推理代码编写说明

                ModelArts导入的模型,在编写推理代码时,用户可以选择重写preprocess和postprocess方法,以实现API输入数据的预处理和推理输出结果的后处理。