开启VPC高速直连后,您可以将EAS服务挂载至在阿里云上创建的网络负载均衡(NLB)实例。这样不仅能够通过NLB统一管理和调度您的EAS服务,还能充分利用其强大的访问控制功能,尤其适合需要负载均衡能力的高流量服务。本文为您介绍如何挂载NLB实例。
前提条件
已创建NLB实例。具体操作,请参见创建和管理NLB实例。
已创建专有网络VPC、交换机和安全组,用来开通VPC高速直连。确保安全组未被其他云产品使用,并保证交换机可用IP数量与实例数相匹配。具体操作,请参见创建和管理专有网络和管理安全组。
计费说明
使用NLB会产生一定的费用,详细的计费说明,请参见NLB计费规则。
调用原理
原理介绍:
在您指定的专有网络VPC和交换机下,创建NLB实例。确保该网络环境与开启VPC高速直连使用的专有网络和交换机相同。
部署或更新服务时开启VPC高速直连并挂载NLB实例和监听端口,EAS会将交换机下的ENI挂载到EAS的Pod上,同时在NLB实例添加TCP监听,从而实现通过
NLB域名:监听端口
访问EAS服务。
挂载NLB
您可以在部署服务或更新服务时,通过在JSON配置文件中添加以下关键参数来挂载NLB实例。关于如何部署和更新EAS服务,请参见服务部署:控制台和命令使用说明。
"cloud": {
"networking": {
"vpc_id": "vpc-bp15jr4ggze4rvow39****",
"vswitch_id": "vsw-bp11dobkizy0jjsgn****",
"security_group_id": "sg-bp1dz9lad9s0615r****"
}
},
"networking": {
"nlb": [
{
"id": "nlb-5q4sp7u6oorkha****",
"listener_port": 9090
}
]
}
如上述代码所示,挂载NLB实例的配置(networking)与cloud位于同一层级。
参数 | 描述 | ||
cloud | networking | vpc_id | 通过配置VPC、交换机和安全组来启用VPC高速直连。 重要
|
vswitch_id | |||
security_group_id | |||
networking | nlb | id | 表示已创建的NLB实例ID。 |
listener_port | 自定义端口,部署服务时,EAS会自动将其创建为NLB实例的监听端口。服务部署成功后,您可以通过 说明
|
验证网络连通性
服务部署成功后,验证NLB域名:监听端口
的网络连通性:
您可以登录网络型负载均衡NLB控制台,在目标NLB实例DNS名称列,查看NLB域名。
执行命令
telnet 域名 监听端口
,验证NLB域名连通性。其中监听端口是您部署服务时定义的listener_port;域名为上述步骤查询的DNS域名。
公网NLB:在本地终端中执行命令进行验证。
私网NLB:在专有网络内的终端机器上,执行命令进行验证。
示例结果如下所示:
后续您可以通过NLB域名和端口来调用EAS服务。示例如下,您的调用命令和结果以实际为准。
# 示例命令
curl http://<NLB域名>:<监听端口>/api/predict/<service_name> -H 'Authorization:<service_token>' -d '[{"浙江的省会城市是 哪里?"}]'
# 示例结果
{"response":"浙江的省会城市是杭州。","history":[["[{\"浙江的省会城市是哪里?\"}]","浙江的省会城市是杭州。"]]}
其中:
http://<NLB域名>:<监听端口>/api/predict/<service_name>
:是服务访问地址,您可以在模型在线服务(EAS)页面,单击目标服务名称,然后在基本信息区域单击查看调用信息进行查看。您需要将访问地址中的共享网关域名地址替换为<NLB域名>:<监听端口>
,其中:<NLB域名>:替换为上述步骤查询的DNS名称。
<监听端口>:替换为部署服务时设置的listener_port。
<service_token>:查询方法同上。