EAS访问公网或内网资源

EAS服务需要调用公网API、从公网下载文件、连接 RDS 数据库或访问其他外部服务时,需为其配置专有网络(VPC)以实现网络连通。

工作原理

EAS服务配置VPC后,系统会为服务的每个实例创建一个弹性网卡(ENI),并占用指定交换机的一个私网IP地址,使服务实例获得VPC内的网络身份,从而实现与VPC内其他资源的网络互通,或通过VPC内的NAT网关访问公网。

计费说明

EAS服务配置VPC本身不产生费用,但用于访问公网的NAT网关弹性公网IP (EIP)均为付费产品,计费详情请参见NAT 网关计费EIP计费概述

开始之前:网络规划与准备

请在配置前规划网络连接方式,并准备好所需的VPC、交换机和安全组。如需创建,请参见创建专有网络与交换机使用安全组

  • 所有EAS服务的出流量均受安全组规则限制。请确保安全组的出方向规则允许EAS服务访问目标服务。

  • 为实现私网互通,最直接的方式是将EAS服务与目标服务部署在同一VPC内。若目标服务位于不同VPC,则还需要通过VPC对等连接云企业网等产品打通网络。

操作步骤

步骤1:为EAS服务配置专有网络

EAS服务配置专有网络是实现内网互通或公网访问的基础。EAS支持在服务级别和资源组级别配置VPC:

  • 服务级别:为单个服务指定VPC,优先级最高。

  • 资源组级别:为使用专属资源组部署的服务设置默认VPC。若服务级别和资源组级别同时配置,以服务级别为准

服务级别配置

通过控制台配置

创建或更新服务时,在网络信息区域,进行专有网络配置。下拉选择专有网络之后,再配置交换机和安全组。

image

通过eascmd客户端工具配置

  1. 在服务的JSON配置文件中添加或修改cloud.networking字段,填入VPC、交换机和安全组ID。专有网络相关的字段示例如下:

    {
        "cloud": {
            "networking": {
                "vpc_id": "your-vpc-id",
                "vswitch_id": "your-switch-id",
                "security_group_id": "your-security-group-id"
            }
        }
    }

    可以在专有网络VPC控制台的专有网络、交换机列表页和ECS控制台-安全组页面分别找到对应的ID。

  2. 参见命令使用说明,使用create 或 modify 命令创建服务或修改服务配置。

资源组级别配置

  • 控制台:在资源组页面,对整个资源组统一配置VPC信息。选择目标资源组,单击操作列的开启VPC配置image

  • 使用eascmd工具:请参见配置资源组专有网络

步骤2:配置公网NAT网关与SNAT条目(仅适用于公网访问)

如果EAS服务需要访问互联网,需借助NAT网关和EIP。详情请参见使用公网NAT网关SNAT功能访问互联网

  1. 创建公网NAT网关并绑定EIP:前往NAT 网关 - 公网 NAT 网关购买页,选择EAS服务所在的地域和VPC,并为其绑定一个EIP。此EIP将作为EAS服务访问公网的统一出口IP。

  2. 配置SNAT条目:在已创建的NAT网关中,创建一条SNAT条目。将SNAT条目粒度选择为VPC粒度。这样,该VPC内发往公网的流量将通过此NAT网关发出。

步骤3:配置白名单(可选)

如果目标服务(无论是内网还是公网)开启了IP或安全组白名单限制,需要将EAS服务的IP地址段或者安全组ID添加到目标服务的白名单中。下文说明如何获取EAS服务的内网和公网IP地址。

获取内网IP地址

重要

EAS的实例是动态调度的,重启或更新后可能会在新的物理节点上创建新实例,并从交换机地址池中获取一个新的私网IP地址。因此,依赖IP的访问控制策略应使用交换机网段,而不是写死单个实例的IP。

登录专有网络VPC控制台,在交换机页面查询到对应IPv4网段。

内网白名单

获取公网IP地址

登录专有网络VPC控制台,在NAT网关 > 公网NAT网关页面找到为EAS配置的网关,在弹性公网IP列可看到绑定的EIP地址。

image

生产应用建议

  • IP地址规划:为EAS服务规划独立的、IP数量充足的交换机。所需IP数至少应为 稳定运行实例数 + 滚动更新时额外实例数 + 预留缓冲IP。IP不足将导致服务创建或扩容失败。

  • 安全组隔离:为不同服务或不同环境(开发、测试、生产)使用独立的安全组,并遵循最小权限原则,仅开放必要的端口和访问源。

  • 成本优化:若EAS服务需要访问公网下载模型或文件,最佳方案是将资源上传至同地域的OSS,在部署时挂载OSS。这样可以避免使用公网产生费用。

常见问题

Q:为什么EAS默认无法访问公网?

EAS 服务默认限制公网访问,主要是出于安全性和稳定性考虑。公网出口带宽在共享环境中容易被滥用,且带宽资源存在不确定性与波动,这会直接影响服务的性能表现和可用性。如有需要时可自行配置专有网络的公网访问。

Q:如何快速验证服务能否访问公网?

可以在服务配置的运行命令中添加网络测试指令,如curl -I --connect-timeout 5 https://www.aliyun.com

部署后查看实例的实时日志,如果看到 200 等状态码,则表示公网已连通。

Q: 配置了VPC后,为何仍无法内网访问 VPC 内的云产品?

请按以下顺序排查:

  1. VPC配置:确认 EAS 服务与目标服务处于同一个 VPC 内。

  2. 安全组规则:确认EAS服务配置的安全组出方向规则允许其访问目标服务。

  3. 目标云产品的访问限制:如果目标云产品通过IP白名单或者安全组限制外部访问,请确认已正确添加EAS服务所在的交换机网段或安全组。

Q:配置了 NAT 网关,为何服务仍无法访问公网?

请按以下顺序排查:

  1. SNAT 规则:确认 SNAT 条目中的交换机与部署 EAS 服务时指定的交换机一致。image

  2. VPC 路由表:在 VPC 控制台检查路由条目列表,确认存在一条目标网段为 0.0.0.0/0、下一跳指向 NAT 网关的路由。

  3. 安全组出方向规则:确认 EAS 服务所在安全组的出方向规则允许所有公网访问(默认为 0.0.0.0/0 允许)。