什么是阿里云网络以及SAE网络的选型

2025-05-19 15:30:15 4188

通过本文,您可以了解与Serverless 应用引擎 SAE(Serverless App Engine)网络相关的概念,以及面对不同的网络访问需求时如何选择适配的网络类型。

概念和能力索引一级分类

二级分类

阿里云网络基础概念

SAE网络访问主要场景与方式

SAE应用之间的内网互相访问(非微服务)

SAE应用需要被公网访问(入口流量)

SAE应用需要访问公网(出口流量)

SAE需要访问VPC内的ECS、云数据库RDS和云数据库 Tair(兼容 Redis)等

微服务应用访问注册中心以及实例互相访问

SAE网络访问对比项

SAE中网关路由(Ingress)和应用服务(Service)的区别

基于CLB和基于K8s Service实现的应用服务(Service)的区别

基于NAT访问公网和EIP访问公网的区别

常见问题

SAE应用如何访问公网?

SAE应用如何被公网访问?

SAE应用如何和公网域名绑定?

SAE应用无法访问ECS怎么办?

SAE应用无法访问云数据库RDS和云数据库 Tair(兼容 Redis)等怎么办?

阿里云网络基础概念

专有网络(VPC):基于阿里云创建的自定义私有网络,不同的专有网络之间在逻辑上彻底隔离。

说明 私有网络默认不可访问公网。

交换机(vSwitch):交换机是组成专有网络的基础网络设备,它模拟了物理交换机的功能。在VPC内创建云资源时,必须指定云资源所连接的交换机。

弹性公网IP(EIP):只能和一个资源(ECS、SAE实例等)绑定,绑定的资源具备出、入公网的能力。

NAT网关(NAT Gateway):使用SNAT(支持VPC内的资源访问公网)访问公网资源。区别于EIP的核心功能,公网NAT网关可用于VPC内的所有资源,而EIP只能用于VPC内的一个资源。

[返回顶部]

SAE网络访问主要场景与方式将应用部署到SAE后,您可能会遇到以下网络访问需求。概念图如下所示。

SAE应用之间的内网互相访问(非微服务)Serverless模式下,每次部署都会产生新的内网IP,但不支持直接基于实例的IP来互相访问应用。您可以通过以下方式实现。

SAE Service(CLB):基于阿里云负载均衡产品(私网CLB)实现的SAE服务来访问。更多信息,请参见基于CLB配置应用服务访问。

SAE Ingress(ALB/CLB):基于阿里云负载均衡产品(私网ALB/CLB等)实现的网关路由,可以根据不同的域名、路径路由到不同的SAE应用。更多信息,请参见基于ALB/MSE/API网关配置网关路由(Ingress)访问。

[返回顶部]

SAE应用需要被公网访问(入口流量)您可以通过以下方式实现。

SAE Service(CLB):基于阿里云负载均衡产品(公网CLB)实现的SAE服务访问。更多信息,请参见基于CLB配置应用服务访问。

SAE Ingress(ALB等):基于阿里云负载均衡产品(公网ALB等)实现的网关路由,可以根据不同的域名、路径路由到不同的SAE应用。更多信息,请参见基于ALB/MSE/API网关配置网关路由(Ingress)访问。

SAE EIP:为SAE应用的每个实例绑定一个EIP,使该实例能够同时具备出、入公网的能力。更多信息,请参见基于EIP配置SAE实例公网访问和访问公网的能力。

[返回顶部]

SAE应用需要访问公网(出口流量)您可以通过以下方式实现。

NAT网关:为SAE应用关联的VPC配置NAT网关,则所有相关的SAE应用都具备了访问公网的能力。更多信息,请参见配置NAT网关使SAE应用能访问公网。

SAE EIP:为SAE应用的每个实例绑定一个EIP,则该实例会同时具备出、入公网的能力。更多信息,请参见基于EIP配置SAE实例公网访问和访问公网的能力。

[返回顶部]

SAE需要访问VPC内的ECS、云数据库RDS和云数据库 Tair(兼容 Redis)等SAE基于阿里云VPC网络,因此无需额外配置,可以直接访问同一VPC内的资源,ECS、云数据库RDS和云数据库 Tair(兼容 Redis)等。反之,同一VPC内的阿里云资源也可以访问SAE。

需要确认安全组、产品白名单是否放开。如果遇到问题,请参考常见问题的步骤进行排查。

[返回顶部]

微服务应用访问注册中心以及实例互相访问更多信息,请参见服务注册与发现。

[返回顶部]

SAE网络访问对比项SAE中网关路由(Ingress)和应用服务(Service)的区别基于ALB/MSE/API网关配置网关路由(Ingress)具备根据域名、路径路由到不同应用的能力(如下图),而应用服务(Service)不具备该能力。因此,在满足需求的前提下,建议您优先考虑使用网关路由(Ingress)。在无法通过域名访问(直接通过IP地址访问)等场景下,您可以考虑使用应用服务(Service)。

[返回顶部]

基于CLB和基于K8s Service实现的应用服务(Service)的区别应用服务(Service)有两种模式,一种是基于CLB,另一种是基于K8s Service。两者的主要区别如下。

对比项

CLB

K8s Service

费用

CLB计费

免费

应用场景

可以用于从公网或私网访问应用。

仅用于相同VPC下SAE应用间互相访问。

运维

CLB作为一个独立的阿里云产品,支持配置相关的监控、告警以及收集访问日志到SLS,提供细粒度的问题排查能力。

未提供独立的监控、告警、访问日志等能力,需要应用侧本身配置告警和日志。

[返回顶部]

基于NAT访问公网和EIP访问公网的区别EIP访问公网的示例图如下,每个实例都会绑定一个EIP。如果EIP不足,则会创建失败,导致实例无法对外提供服务。

NAT和EIP两种模式的主要差异如下。

对比项

NAT

EIP

生效范围

NAT可以控制在VPC或者vSwitch级别,为VPC或者vSwitch内所有无公网IP的实例提供访问公网的代理服务。一个VPC或者vSwitch只需要配置一个NAT,其所有实例将具备出公网的能力。

EIP为实例级别,例如10个实例就需要10个EIP。一个实例绑定EIP后,将同时具备出网和入网的能力。

是否固定公网IP

是。

否。新的实例成功绑定EIP后,SAE才会销毁原先的实例并解绑原来的EIP。因此,需保证EIP数量至少为实例数量加一。EIP是变化的,是一个IP池。

典型场景

应用会自动弹性扩缩,新的实例默认需要出公网的能力,且需要固定IP(95%的用户都适合该场景)。

可接受EIP可变,需要直连实例的场景(例如在线会议),另外还需要自行精细化地控制每个实例的生命周期。

费用

计费详情,请参见NAT网关计费。

计费详情,请参见EIP计费。实例数不超过20个时,EIP成本更优。

[返回顶部]

常见问题SAE应用如何访问公网?首先参照下图,明确您的需求是“出”公网还是“入”公网。如果是“出”流量,则参考本小节;如果是“入”流量,请参见SAE应用如何被公网访问?。

SAE可以通过配置NAT网关使SAE应用能访问公网或者基于EIP配置SAE实例公网访问和访问公网的能力两种模式访问公网,优先推荐基于NAT的访问模式。两种模式的区别,请参见基于NAT访问公网和EIP访问公网的区别。

[返回顶部]

SAE应用如何被公网访问?首先参照下图,明确您的需求是“出”公网还是“入”公网。如果是“入”流量,则参考本篇文章;如果是“出”流量,请参见SAE应用如何访问公网?。

优先推荐基于ALB/MSE/API网关配置网关路由(Ingress)提供公网访问。如果网关路由方式无法满足您的需求,您可以参考基于CLB配置应用服务访问或者基于EIP配置SAE实例公网访问和访问公网的能力提供访问。主要区别如下。

对比项

网关路由(ALB/MSE云原生网关/云原生API网关)

服务(CLB)

弹性公网IP(EIP)

是否具备路由能力

具备。可以根据域名/路径,路由到不同的应用。

不具备。只能访问一个应用。

不具备。一般需要获取EIP列表,并自行控制访问策略。

是否支持7层协议(HTTP/HTTPS/Websocket/gRPC等)

支持

支持

支持

是否支持4层协议(TCP/UDP)

不支持

支持

支持

是否支持跨域/Rewrite等特性

支持

不支持。需要应用自行实现。

不支持。需要应用自行实现。

是否固定访问地址

费用

ALB计费

MSE云原生网关计费

云原生API网关计费

CLB计费

EIP计费

[返回顶部]

SAE应用如何和公网域名绑定?SAE本身并不处理和域名相关的操作,您可以在SAE配置ALB或CLB后,获取相关的公网IP或者域名,再到域名DNS服务进行绑定。

[返回顶部]

SAE应用无法访问ECS怎么办?请按照以下步骤排查。

确认SAE和ECS服务器都在同一个VPC内,并检查安全组配置是否放开相关的端口。

在容器内执行ping、telnet服务地址的命令检测连通性。如果没有这些命令,请先安装常见命令(操作步骤)再执行。

访问公网ECS地址的具体操作,请参见SAE应用如何访问公网?。

[返回顶部]

SAE应用无法访问云数据库RDS和云数据库 Tair(兼容 Redis)等怎么办?请先确认SAE应用访问的云数据库RDS或者云数据库 Tair(兼容 Redis)地址,属于公网地址还是内网地址。内网地址的网络质量和时延都优于公网,因此同一个VPC内优先推荐内网地址。网络的费用与创建的资源类型有关,更多信息,请参见产品计费。如果属于不同VPC,在条件允许的情况下,推荐您使用云企业网CEN(Cloud Enterprise Network)打通,再采用内网地址。确认地址类型后,请按照以下步骤排查。

确认是否已配置白名单。

说明 内网访问需添加VPC/vSwitch网段白名单,公网访问需要添加公网EIP白名单。

如果未配置,请参考应用访问阿里云数据库进行配置。

在容器内执行ping、telnet命令,测试是否可以访问云数据库的地址。如果没有这些命令,请在制作镜像时安装这些命令,再部署应用。

如果ping、telnet命令都正常,还可以考虑直接在镜像中安装MySQL或者Redis客户端,测试是否能联通。如果能联通,则可以排除SAE网络环境问题,需要您检查程序设置。

[返回顶部]