EAS服务默认在安全隔离的网络环境中运行,无法直接访问公网或您VPC内的其他云服务。当您的EAS服务需要调用公网API、从公网下载文件、拉取公网镜像,或访问VPC内的数据库(如RDS、Redis)时,请参考本文配置。
场景一:让EAS服务访问公网
要实现EAS服务对公网的访问,核心是为您的EAS服务关联一个具备公网访问能力的VPC。这通常通过VPC与NAT网关的组合实现。配置过程分为两步:
1. 为VPC开通公网访问能力
开始前,请确保您已有可用的VPC、交换机和安全组。如需创建,请参见创建专有网络与交换机、创建安全组。
开通NAT网关:进入NAT网关控制台,在您的VPC所在地域创建一个公网NAT网关,并为其绑定一个弹性公网IP(EIP)。此操作为您的VPC网络提供了统一的公网出口。
配置SNAT条目:在创建好的NAT网关中,配置SNAT规则。将源交换机指定为您计划给EAS服务使用的交换机,确保来自该交换机的所有流量都会通过NAT网关访问公网。详情请参见使用公网NAT网关SNAT功能访问互联网。
NAT网关会产生费用。如果服务仅在启动时需要下载依赖,可以在服务启动成功后,暂停或删除NAT网关的相关配置以节省成本。
2. EAS服务关联VPC
通过控制台配置
使用ARM相关的机型(包括Yitian计算型和Yitian通用型)创建的专属资源组需使用以下方式配置专有网络(VPC):
方式一:在资源组页签,单击操作列的开启VPC配置,按控制台操作指引完成开通。
方式二:在资源组页签,单击目标资源组名称,在页面右上方单击
,按控制台操作指引完成开通。
通过eascmd客户端工具配置
准备JSON配置文件,包含以下关键参数:
参数
描述
vswitch_id
用户端的交换机ID,会在该vSwitch中创建ENI,需保证该vSwitch中空闲IP充足,否则会导致EAS的实例无法创建。
security_group_id
用户端ECS节点所归属的安全组ID。
vpc_id
用户端的专有网络ID。
JSON配置示例如下:
{ "metadata": { "name": "service_name", "instance": 1, "enable_webservice": true }, "cloud": { "computing": { "instance_type": "ml.gu7i.c16m60.1-gu30", "instances": null }, "networking": { "vswitch_id": "vsw-bp17jg7wr6s3pzbfe****", "security_group_id": "sg-bp14zqduxqm04qg7****", "vpc_id": "vpc-bp1s37ltnbvxgcqfc****" } }, "containers": [ { "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/chat-llm-webui:2.0", "script": "python webui/webui_server.py --port=8000 --model-path=meta-llama/Llama-2-7b-chat-hf", "port": 8000 } ] }
打开终端工具,在JSON文件所在目录,执行以下命令。
以Windows 64版本为例:
新建服务
# <service.json>需要替换为您创建的JSON配置文件名称。 eascmdwin64.exe create <service.json>
更新服务
# <service_name>需替换为要更新的EAS服务名称;<service.json>需替换为您要更新的JSON配置文件名称。 eascmdwin64.exe modify <service_name> -s <service.json>
为使用ARM相关的机型创建的专属资源组配置专有网络。
场景二:让EAS服务访问VPC内网资源
如果EAS服务仅需访问同一VPC内的其他云资源(如RDS、Redis),无需配置NAT网关,只需参见EAS服务关联到VPC,正确选择目标资源所在的VPC和交换机即可。
确保EAS服务与目标资源位于同一个VPC内,并且它们之间的安全组规则允许互相通信。
建议通过内网访问VPC内资源,更加安全高效,显著提升访问性能。
获取EAS服务的IP地址
在一些场景(如访问有访问限制的云产品),需获取EAS服务的公网或私网IP来设置访问权限。
例如向量检索服务Elasticsearch、Milvus、OpenSearch等,需要将EAS服务的公网或私网IP地址添加至其白名单中。
1. 查询公网IP地址
确保已为EAS服务关联的专有网络(VPC)配置互联网访问能力,参见场景一:让EAS服务访问公网。
登录专有网络VPC控制台,按照下图操作指引查询。
EAS服务的公网IP为服务关联的VPC其公网NAT网关绑定的弹性公网IP地址。
常见问题
配置了VPC后,为什么还是无法访问其他云产品?
请按以下步骤检查:
VPC是否配置正确。确认EAS服务与目标资源处于同一VPC。
目标资源是否有访问限制。如目标资源通过IP白名单控制访问,请参见获取EAS服务的IP地址,将EAS服务的IP添加到访问白名单中。
安全组规则是否允许互相通信。参见安全组规则。
如何快速验证公网是否连通?
可以在服务配置的运行命令中,加入简单的网络测试指令,如
sudo apt-get install iputils-ping -y; ping -c 3 www.aliyun.com;
。部署后,通过查看实例的实时日志,即可判断公网是否连通。