本文介绍与Serverless应用引擎SAE(Serverless App Engine)网络相关的概念与能力。
概念和能力索引
视频教程
阿里云网络基础概念

- 专有网络(VPC):基于阿里云创建的自定义私有网络,不同的专有网络之间逻辑上彻底隔离。说明 私有网络默认不可访问公网。
- 交换机(vSwitch):交换机是组成专有网络的基础网络设备,对应实体物理机房。在VPC内创建云资源时,必须指定云资源所连接的交换机。
- 弹性公网IP(EIP):只能和一个资源(ECS、SAE实例等)绑定,绑定的资源具备出、入公网的能力。
- NAT网关(NAT Gateway):支持VPC内的资源访问公网(SNAT)。区别于EIP的核心功能,公网NAT网关可用于VPC内的所有资源,而EIP只能用于VPC内的一个资源。
SAE网络访问主要场景与方式

SAE应用之间的内网互相访问(非微服务)
Serverless模式下,每次部署都会产生新的内网IP,但不支持直接基于实例的IP来互相访问应用。您可以通过以下方式实现。
- SAE Service(CLB):基于阿里云负载均衡产品(私网CLB)实现的SAE服务来访问。更多信息,请参见基于CLB配置应用服务访问。
- SAE ServiceName:基于SAE的K8s底座,实现的基于域名的应用访问。每个SAE的应用会有一个SAE环境中可供访问的域名。更多信息,请参见基于K8s ServiceName配置应用服务访问。
- SAE Ingress(ALB/CLB):基于阿里云负载均衡产品(私网ALB/CLB)实现的网关路由,可以根据不同的域名、路径路由到不同的SAE应用。更多信息,请参见基于ALB/CLB配置网关路由(Ingress)访问。
SAE应用需要被公网访问(入口流量)
您可以通过以下方式实现。
- SAE Service(CLB):基于阿里云负载均衡产品(公网CLB)实现的SAE服务访问。更多信息,请参见基于CLB配置应用服务访问。
- SAE Ingress(ALB/CLB):基于阿里云负载均衡产品(公网CLB/ALB)实现的网关路由,可以根据不同的域名、路径路由到不同的SAE应用。更多信息,请参见基于ALB/CLB配置网关路由(Ingress)访问。
- SAE EIP:为SAE应用的每个实例绑定一个EIP,使该实例能够同时具备出、入公网的能力。更多信息,请参见基于EIP配置SAE实例公网访问和访问公网的能力。
SAE应用需要访问公网(出口流量)
您可以通过以下方式实现。
- NAT网关:为SAE应用关联的VPC或者vSwitch配置NAT网关,则所有相关的SAE应用都具备了访问公网的能力。更多信息,请参见配置NAT网关使SAE应用能访问公网。
- SAE EIP:为SAE应用的每个实例绑定一个EIP,则该实例会同时具备出、入公网的能力。更多信息,请参见基于EIP配置SAE实例公网访问和访问公网的能力。
SAE需要访问VPC内的ECS、RDS、Redis等
- SAE基于阿里云VPC网络,因此无需额外配置,可以直接访问VPC内的资源(ECS、RDS、Redis等)。
- 需要确认安全组、产品白名单是否放开。如果遇到问题,请参考常见问题的步骤进行排查。
微服务应用访问注册中心以及实例互相访问
更多信息,请参见SAE微服务相关概念和能力。
[返回顶部]SAE网络访问对比项
SAE中ServiceName和网关路由(Ingress)的区别

基于CLB实现的服务和基于域名(ServiceName)实现的服务的区别
对比项 | CLB | Domain(ClusterIP) |
---|---|---|
费用 | CLB计费 | 免费 |
运维 | CLB作为一个独立的阿里云产品,支持配置相关的监控、告警以及收集访问日志到SLS,提供细粒度的问题排查能力。 | 未提供独立的监控、告警、访问日志等能力,需要应用侧本身配置告警和日志。 |
基于ALB实现的网关路由和CLB网关路由的区别
ALB(Application Load Balancer)是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务。针对网关路由场景,建议您优先考虑使用ALB。更多信息,请参见负载均衡SLB产品家族介绍。
[返回顶部]基于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可以通过配置NAT网关使SAE应用能访问公网或者基于EIP配置SAE实例公网访问和访问公网的能力两种模式访问公网,优先推荐基于NAT的访问模式。两种模式的区别,请参见基于NAT访问公网和EIP访问公网的区别。
[返回顶部]SAE应用如何被公网访问?

优先推荐基于ALB/CLB配置网关路由(Ingress)访问提供公网访问。如果网关路由方式无法满足您的需求,您可以参考基于CLB配置应用服务访问或者基于EIP配置SAE实例公网访问和访问公网的能力提供访问。主要区别如下。
对比项 | 网关路由(ALB/CLB) | 服务(CLB) | 弹性公网IP(EIP) |
---|---|---|---|
是否具备路由能力 | 具备。可以根据域名/路径 ,路由到不同的应用。 | 不具备。只能访问该端口背后的一个应用。 | 不具备。一般需要获取EIP列表,并自行控制访问策略。 |
是否支持7层协议 | 支持 | 支持 | 支持 |
是否支持4层协议 | 不支持 | 支持 | 支持 |
是否支持跨域/Rewrite等特性 | 支持 | 不支持。需要应用自行实现。 | 不支持。需要应用自行实现。 |
是否固定访问IP | 是 | 是 | 否 |
费用 | CLB计费 | EIP计费 |
SAE应用如何和公网域名绑定?
SAE本身并不处理和域名相关的操作,您可以在SAE配置ALB或CLB后,获取相关的公网IP或者域名,再到域名DNS服务进行绑定。
[返回顶部]SAE应用无法访问短信服务API怎么办?
参考短信服务接入点,大部分地域只提供公网的接入方式。请先确认SAE应用是否已配置公网访问能力。更多信息,请参见SAE应用如何访问公网?。
[返回顶部]SAE应用无法访问ECS怎么办?
- 确认SAE和ECS服务器都在同一个VPC内,并检查安全组配置是否放开相关的端口。
- 在容器内执行ping、telnet服务地址的命令检测连通性。如果没有这些命令,请先安装常见命令再执行。
访问公网ECS地址的具体操作,请参见SAE应用如何访问公网?。
[返回顶部]SAE应用无法访问RDS、Redis等怎么办?
请先确认SAE应用访问的RDS或者Redis地址,属于公网地址还是内网地址。内网地址的网络质量和时延都优于公网,因此同一个VPC内优先推荐内网地址。网络的费用与创建的资源类型有关,更多信息,请参见产品计费。如果属于不同VPC,在条件允许的情况下,推荐您使用云企业网CEN(Cloud Enterprise Network)打通,再采用内网地址。确认地址类型后,请按照以下步骤排查。
- 确认是否已配置白名单。说明 内网访问需添加VPC/vSwitch网段白名单,公网访问需添加公网EIP白名单。如果未配置,请参见以下文档进行配置:
- 在容器内执行ping、telnet服务地址的命令。如果没有这些命令,请先安装再执行。具体操作,请参见如何安装常见命令?。
- 如果ping、telnet命令都正常,还可以考虑直接安装MySQL(操作步骤)或者Redis客户端(操作步骤),测试是否能联通。如果能联通,则可以排除SAE网络环境问题,需要您检查程序设置。