Serverless 应用引擎( SAE )是阿里云上以应用实例为中心的免运维 PaaS 产品,充分释放云计算的规模化运营的红利提供给客户,以开发测试环境 2Core 4GiB 的应用运行一天( 按 8 小时计算)为例,SAE 应用单实例成本的费用不到 3元/天,SAE最近推出了 HTTP 网关产品结合阿里云 SLB 的产品能力,可以非常方便的将 HTTP/HTTPS 流量根据 URL 路径(ContextPath)转发至不同应用的 Web 端口。
基本概念
SAE 网关的模型非常简单,用户只需要关心规则,规则由域名、路径与应用共同构成。对于单个网关实例,用户可以创建多条规则,每条规则的流量可以向指定应用的实例进行转发。如下图所示。
准备工作
1、购买 SLB 产品实例。对于用于 VPC 内的内网网关需求,可以选择购买同 VPC 内的 SLB 实例,对于公网网关需求,需要购买公网类型的 SLB 实例。SLB 产品的收费细则请参见产品定价,由于技术原因,不支持性能共享型实例。
2、准备应用。根据业务实际情况,准备1个或者多个可以响应不同 url 路径请求的 SAE 应用,目前不支持其他产品的应用接入。
快速接入
SAE 接入方式非常简单。相比传统的 Nginx 服务器配置冗长的 nginx.conf 文件,SAE 主需要在可视化的界面上,选择匹配的 url 路径或域名想要到达的应用端口即可。
1、进入命名空间管理页面。
2、点击开始新建一条网关路由规则
3、按照业务实际情况配置规则
SAE 网关支持用户配置 HTTP 或 HTTPS 协议的规则,并按照访问请求的域名以及 url 路径将请求向应用实例端口进行转发。如下图所示:
简单两步,不需要编写复杂的 Nginx 配置,不需要花费精力运维 Nginx 服务器,一个简单的 SAE 网关就实现了。
问题诊断
一般来说,SAE 提供的网关不需要用户运维,能够帮助用户自动上下线实例并恢复配置。但是一些极端的情况,例如 SLB 实例被释放、SLB 实例到期等, SAE 无法帮助用户恢复。这个时候可以查看网关关联的事件,对发生的问题进行初步的诊断。如果需要 SAE 产品的支持,可以随时提交工单进行询问。
较为复杂的诊断,可以通过服务器端抓包进行判断。SAE 同样提供了 Webshell 能力,支持在网页上对实例进行查看,详见文章如何利用 Webshell 诊断应用:
https://help.aliyun.com/document_detail/123414.html?spm=a2c4g.11186623.6.646.56587e42nZOLUI
成本核算
单个网关每日参考价格是 0.48 元(按 SLB 独享简约型,按量付费模式,国内 region ),目前已支持 HTTP/HTTPS 协议接入。自建 Nginx 网关方案和 SAE&SLB 具体的成本分析如下:
从上面的分析对比可以看出, SAEHttp 网关相比自建 Nginx 网关有显著的成本优势,同时还降低了网关的运维复杂度,推荐客户使用。
作者信息:落语,阿里云分布式应用服务开发工程师。