全部产品
Search
文档中心

人工智能平台 PAI:通过公网访问实例中的服务

更新时间:Jul 01, 2026

DSW支持将实例内的服务(如模型API、WebUI)暴露到公网,方便在浏览器中直接访问或分享给协作者测试。该功能通过NAT网关和弹性公网IP实现,主要用于开发测试阶段。

重要提醒

  • 会产生额外费用:配置公网访问需使用NAT网关弹性公网IP(EIP),两者均独立计费。

  • 支持两种类型实例:支持公共资源组实例(资源规格非ecs.ebm开头)及灵骏智算实例,每个实例最多可配置5个自定义服务

  • DSW 停止则服务中断:DSW实例停止时,其内部服务及公网访问能力也将不可用。

  • 生产环境推荐 EAS:如需稳定、高可用、支持弹性伸缩的生产环境服务,建议将模型部署至PAI-EAS

实现原理

为了让 DSW 实例内的服务(如运行在9000端口的 API)能从公网访问,需要以下资源协同工作:

  1. 弹性公网 IP (EIP):提供一个固定的公网 IP 地址 (121.40.**.**)。这是公网访问的入口。

  2. NAT 网关:位于您的 VPC 内,负责将公网请求 (EIP:端口) 映射到私网 DSW 实例 (私有IP:端口)。

  3. 安全组:相当于 DSW 实例的防火墙。您必须显式添加规则,允许公网流量访问您服务监听的特定端口(如 9000)。这是访问成功的关键一步。

核心流程公网用户 (浏览器/工具) -> EIP:端口 -> NAT网关 -> 交换机(vSwith) -> 安全组规则检查 -> DSW 实例私有IP:端口 -> 您的服务

计费说明

  • NAT 网关和 EIP 从创建起即开始计费

  • 即使 DSW 实例已停止,只要 NAT 网关和 EIP 未删除仍会持续产生费用

  • DSW 实例本身按运行状态计费(后付费实例停止后不计费)。

如何配置公网访问

创建 DSW 实例时配置公网访问

  1. 创建DSW实例,配置如下关键网络参数。

    • 网络信息区域选择您的专有网络和安全组。您可以参考以下操作步骤创建,详细内容参见创建专有网络与交换机,及管理安全组注意专有网络和安全组必须与DSW实例在相同地域

      创建专有网络、交换机、和安全组

      1. 单击DSW配置页面的创建专有网络。

        image配置VPC名称、IPv4网段和交换机信息,其他参数保持默认,然后单击确定创建VPC和交换机。

        image

      2. 返回DSW配置页面,专有网络配置选择刚刚创建的专有网络VPC。

      3. 单击创建安全组,参数默认即可,单击确定创建。然后返回DSW配置页面,安全组 ID配置为刚刚创建的安全组。

        image

        请确保安全组入方向允许访问22端口。

        image

    • 找到服务访问与端口配置单击添加,输入服务名称监听端口(如 9000),勾选公网访问,设置公网访问端口(如 9000)。单击DNAT+EIP,然后选择您的NAT网关弹性公网IP。您可参考以下内容创建NAT网关和弹性公网IP。注意NAT网关和EIP必须与DSW实例在相同地域

      创建NAT网关及弹性公网IP

      1. 单击创建NAT网关

        image

        在NAT网关创建页面配置参数或使用默认值,然后单击创建弹性公网IP

        image

      2. 在弹性公网IP创建页面配置参数或使用默认值,然后单击立即购买

      3. 返回NAT网关创建页面,弹性公网IP实例选择刚刚创建的实例,然后单击立即购买创建NAT网关。

      此外,您也可以选择NLB方式,创建NLB时实例网络类型选择公网类型,VPC选择与当前DSW实例相同的VPC,详细操作参见NLB快速实现IPv4服务的负载均衡

      说明

      如果多台DSW实例共用相同的DNAT和EIP(或NLB),请使用不同的公网访问端口。

  2. 为上述已选安全组配置监听端口的入方向规则。关键参数如下,具体操作参见创建安全组

    • 授权策略:允许

    • 协议类型:根据服务选择(如 TCP

    • 端口范围:填写您配置的监听端口(如 9000/9000

    • 授权对象0.0.0.0/0 (允许所有公网IP访问,测试用) 或按需限制 IP。生产环境建议严格限制来源 IP。

      配置完成后,安全组入方向规则列表中将显示一条规则:协议为自定义 TCP,端口范围为 9000/9000,访问来源为 0.0.0.0/0

为已有 DSW 实例配置公网访问

对于已有的DSW实例,可通过以下两种方式修改公网访问配置。

注意:如果需要添加或变更VPC、NAT网关等,还是需要通过变更配置再重启实例的方式完成。

在实例详情页配置

在DSW实例列表页,单击实例名称进入详情页面,修改公网访问配置。

在实例详情页的访问配置区域,找到自定义服务行,单击其对应的修改配置按钮配置公网访问。配置时如需放通端口,可在网络配置区域获取安全组 ID(如 sg-bp1g37d4lmajq...),前往安全组添加相应规则。

在DSW实例内配置

在DSW开发环境内,单击页面上方的变更配置可以修改自定义服务。

在左侧导航栏单击访问配置,在自定义服务区域可查看已配置的服务(如服务名称 gradio、监听端口 9000)及其公网访问地址和配置状态。单击修改配置进入自定义服务编辑。

在左侧菜单中单击网络,在右侧网络配置信息中找到安全组ID(如 sg-bp1g37d4lmajugsicmz2)并记录,用于后续安全组规则配置。

测试连通性

  1. 在DSW的Terminal中执行以下命令,启动Python内置的HTTP服务。

    # 创建一个包含测试内容的 HTML 文件
    echo 'Hello, World!' > index.html
    # 启动 Python 内置 HTTP 服务(监听 9000 端口)
    python -m http.server 9000 --bind 0.0.0.0

  2. 在实例详情页查看访问配置获取访问地址。

    访问配置区域的表格中包含VPC内访问公网访问两列地址信息,当配置状态就绪时即可获取对应访问地址。

    以公网访问为例,复制公网访问地址121.40.**.**:9000并在浏览器中访问。返回Hello, World!即表示配置成功。

生产环境应用建议

  • 仅用于开发测试:DSW公网访问功能主要用于临时测试和协作调试

  • 通过 EAS 部署生产环境:对于正式发布的推理服务,请部署到 PAI-EAS。EAS 提供:

    • 高可用性和负载均衡。

    • 自动弹性伸缩应对流量波动。

    • 完善的监控告警、版本管理、灰度发布。

    • 更优化的公网访问与计费模式。详情参见将模型部署为在线服务

  • 节省成本

    • DSW 实例停止后:DSW 本身(后付费)停止计费但是,NAT 网关和 EIP 只要存在就会继续计费

    • 长期不使用公网访问:若确定不再需要,务必删除 NAT 网关和 EIP 以停止相关费用。可在 VPC 控制台EIP 控制台操作。

常见问题

Q:配置了公网访问,但浏览器访问/外网连接失败 (无法访问此网站/Connection refused/Timeout)?

  • 第一步:检查安全组规则!(最常见原因)

    • 确认安全组已添加 入方向 规则。

    • 规则 端口范围 是否包含您配置的端口(如 9000

    • 规则 授权对象 是否包含您的公网 IP 或 0.0.0.0/0

    • 规则 协议类型 (TCP/UDP) 是否正确

  • 第二步:确认服务在运行且监听正确端口

    • 在 DSW 实例的 Terminal 内,使用 netstat -tunlp | grep <端口号> (如 netstat -tunlp | grep 9000) 查看端口是否被监听。

    • 确保应用服务进程已启动并在监听配置的端口。

  • 第三步:检查 NAT 网关和 EIP 状态

  • 第四步:本地测试:在 DSW 实例内部,尝试用 curl http://localhost:<端口号>curl http://<实例私有IP>:<端口号> 看服务是否响应。

  • 第五步:使用网络诊断工具

    • 阿里云 VPC 提供网络智能服务NIS可辅助排查路径问题 (需开通)。

    • 在 DSW 实例内使用 telnet <EIP> <端口> 测试端口连通性(需先安装 telnet)。

Q:停止 DSW 后,公网访问配置还会收费吗?

会,DSW实例停止后本身(后付费)不计费。但是,关联的 NAT 网关EIP 只要未删除,会持续独立计费。务必手动删除以节省费用。

Q:一个 EIP 能映射多个端口吗?

可以。 同一个 DSW 实例配置的多个服务端口(最多5个),都通过同一个 EIP 和 NAT 网关进行映射访问。访问时使用 EIP:不同端口 即可。

Q:为什么在下拉列表中找不到我创建的VPC或NAT网关?

  • 最常见的原因是地域不一致。在DSW页面左上角查看当前所在地域是否与VPC或NAT网关的地域一致。DSW只能配置相同地域下的VPC和NAT网关。

  • 下拉列表未更新。如果是新建的VPC或NAT网关,请等待资源创建完毕后,在DSW配置页面单击刷新按钮image,重新加载列表。