华为云AI开发平台ModelArts访问在线服务(VPC高速访问通道)_云淘科技
背景说明
访问在线服务的实际业务中,用户可能会存在如下需求:
高吞吐量、低时延
TCP或者RPC请求
因此,ModelArts提供了VPC直连的高速访问通道功能以满足用户的需求。
使用VPC直连的高速访问通道,用户的业务请求不需要经过推理平台,而是直接经VPC对等连接发送到实例处理,访问速度更快。
由于请求不经过推理平台,所以会丢失以下功能:
认证鉴权
流量按配置分发
负载均衡
告警、监控和统计
图1 VPC直连的高速访问通道示意图
准备工作
使用专属资源池部署在线服务,服务状态为“运行中”。
需使用新版专属资源池部署服务,详情请参见ModelArts资源池管理功能全面升级。
只有专属资源池部署的服务才支持VPC直连的高速访问通道。
VPC直连的高速访问通道,目前只支持访问在线服务。
因流量限控,每个主帐号租户调用次数不超过2000次/分钟,每个子帐号租户不超过20次/分钟。
目前仅支持自定义镜像导入模型,部署的服务支持高速访问通道。
操作步骤
使用VPC直连的高速访问通道访问在线服务,基本操作步骤如下:
将专属资源池的网络打通VPC
VPC下创建弹性云服务器
获取在线服务的IP和端口号
通过IP和端口号直连应用
将专属资源池的网络打通VPC
登录ModelArts控制台,进入“专属资源池 > 弹性集群”找到服务部署使用的专属资源池,单击“名称/ID”,进入资源池详情页面,查看网络配置信息。返回专属资源池列表,选择“网络”页签,找到专属资源池关联的网络,打通VPC。打通VPC网络后,网络列表和资源池详情页面将显示VPC名称,单击后可以跳转至VPC详情页面。
图2 查找专属资源池
图3 查看网络配置
图4 打通VPC
VPC下创建弹性云服务器
登录弹性云服务器ECS控制台,单击右上角“购买弹性云服务器”,进入购买弹性云服务器页面,完成基本配置后单击“下一步:网络配置”,进入网络配置页面,选择1中打通的VPC,完成其他参数配置,完成高级配置并确认配置,下发购买弹性云服务器的任务。等待服务器的状态变为“运行中”时,弹性云服务器创建成功。单击“名称/ID”,进入服务器详情页面,查看虚拟私有云配置信息。
图5 购买弹性云服务器时选择VPC
获取在线服务的IP和端口号
可以通过使用图形界面的软件(以Postman为例)获取服务的IP和端口号,也可以登录弹性云服务器(ECS),创建Python环境运行代码,获取服务IP和端口号。
API接口:
GET /v1/{project_id}/services/{service_id}/predict/endpoints?type=host_endpoints
方式一:图形界面的软件获取服务的IP和端口号
图6 接口返回示例
方式二:Python语言获取IP和端口号
Python代码如下,下述代码中以下参数需要手动修改:
project_id:用户项目ID,获取方法请参见获取项目ID和名称。
service_id:服务ID,在服务详情页可查看。
REGION_ENDPOINT:服务的终端节点,查询请参见终端节点。
def get_app_info(project_id, service_id): list_host_endpoints_url = "{}/v1/{}/services/{}/predict/endpoints?type=host_endpoints" url = list_host_endpoints_url.format(REGION_ENDPOINT, project_id, service_id) headers = {'X-Auth-Token': X_Auth_Token} response = requests.get(url, headers=headers) print(response.content)
通过IP和端口号直连应用
登录弹性云服务器(ECS),可以通过Linux命令行访问在线服务,也可以创建Python环境运行Python代码访问在线服务。schema、 ip、port参数值从从3获取。
执行命令示例如下,直接访问在线服务。
curl --location --request POST 'http://192.168.205.58:31997' \ --header 'Content-Type: application/json' \ --data-raw '{"a":"a"}'
图7 访问在线服务
创建Python环境,运行Python代码访问在线服务。
def vpc_infer(schema, ip, port, body): infer_url = "{}://{}:{}" url = infer_url.format(schema, ip, port) response = requests.post(url, data=body) print(response.content)
由于高速通道特性会缺失负载均衡的能力,因此在多实例时需要自主制定负载均衡策略。
父主题: 访问方式
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家