如果您需要使用函数计算(Function Compute,简称FC)处理应用型负载均衡ALB的访问请求,您可以为ALB实例添加函数计算类型的服务器组。通过ALB和函数计算的配置,实现ALB转发请求至函数计算并调用函数,函数在运行完成后,函数计算将运行结果作为响应返回给请求方。
背景信息
阿里云函数计算是事件驱动的全托管计算服务。使用函数计算,您无需购买和管理服务器等基础设施,便可运行函数代码。创建完函数后,您可以通过ALB服务器组和监听的配置,将函数作为ALB的后端服务器。当接收到HTTP访问请求时,ALB会将请求内容转发给函数计算并触发函数调用,函数运行完成后,函数计算将运行结果作为响应返回给请求方。关于函数计算的更多信息,请参见什么是函数计算。
使用限制
-
ALB实例和函数计算服务属于同一个地域。
-
函数计算作为ALB后端服务器的使用限制:
-
仅支持创建处理HTTP请求的函数。
-
函数计算要求客户端在访问函数时,HTTP请求头中包含Date头域。Date头域表示消息发送的时间。
-
-
ALB使用函数计算的使用限制:ALB仅支持添加一个函数计算作为后端服务器。
前提条件
您已开通函数计算服务。具体操作,请参见开通函数计算服务。
配置流程
步骤一:创建函数计算服务
登录函数计算控制台。
-
在左侧导航栏,单击服务及函数。
-
在顶部菜单栏,选择所属地域。本文选择华东1(杭州)。
-
在服务列表页面,单击创建服务。
-
在创建服务面板,部分配置可参考以下信息,其余参数可保持默认,然后单击确定。
参数
说明
名称
输入函数计算服务名称。
长度为1~128个字符,只能包含字母、数字、下划线(_)和中划线(-),不能以数字、中划线(-)开头。
描述
输入函数计算服务描述。
日志功能
是否启用阿里云日志服务。本文选择启用。
-
启用:启用后,函数计算会自动为您在日志服务创建对应的Project(日志项目)和Logstore(日志仓库),并自动把函数日志投递到相应的Logstore。
此时,函数计算为您的服务授予基于最小权限原则创建的
AliyunFCDefaultRole
,以访问日志服务。关于服务角色的更多信息,请参见授予函数计算访问其他云服务的权限。 -
禁用:函数的执行日志将无法通过日志服务存储和查询。
说明
请确保您已开通日志服务。否则,无法启用日志功能。具体操作,请参见开通日志服务。
链路追踪功能
是否启用阿里云链路追踪功能。本文选择禁用。
-
启用:启用后,您可以使用分布式追踪系统Jaeger上传链路信息,使您能够跟踪函数的执行,帮助您快速分析和诊断Serverless架构下的性能瓶颈。更多信息,请参见链路追踪简介。
-
禁用:不启用链路追踪功能。
-
步骤二:创建函数
-
在服务列表页面,在目标服务操作列单击函数管理。
-
在函数管理页面,单击创建函数。
-
在创建函数页面,按需选择创建函数的方式。
本文选择使用内置运行时创建。
-
在基本设置、函数代码和触发器配置区域,配置以下参数信息,然后单击创建。
此处仅列出和本文强相关的配置项,其余未列出的参数保持默认值。
参数
操作
基本设置
函数名称
填写自定义的函数名称。
请求处理程序类型
选择请求处理程序类型。本文选择处理 HTTP 请求。
请求处理程序类型:用于处理HTTP请求或Websocket请求的函数。
说明
负载均衡ALB仅支持通过HTTP请求触发函数。
函数代码
运行环境
选择运行环境。本文选择Node.js 14。
关于函数计算支持的运行环境,请参见管理函数。
代码上传方式
选择上传函数代码到函数计算的方式。
本文选择使用示例代码。
触发器配置
触发器类型
显示当前选择的触发器类型:HTTP触发。
触发器是触发函数执行的方式。
名称
输入触发器的名称。
请求方法
选择触发该HTTP触发器的方法。本文选择GET和POST。
认证方式
本文选择签名认证。更多信息,请参见签名认证。
-
在函数代码页签,在代码编辑器中修改代码。
代码修改示例如下。
varparams={ path : req.path, queries : req.queries, headers : req.headers, method : req.method, requestURI : req.url, clientIP : req.clientIP, log : ("Hello World.This is FC!"), }
-
在函数代码页签,在左上角单击部署代码,然后单击测试函数。
执行完成后,您可以在返回结果区域查看函数运行结果。更多操作,请参见使用控制台创建函数。
步骤三:创建函数计算类型的服务器组
- 登录应用型负载均衡ALB控制台。
-
在顶部菜单栏选择所属地域。本文选择华东1(杭州)。
-
在左侧导航栏,选择应用型负载均衡(ALB) > 服务器组。
-
在服务器组页面,单击创建服务器组,完成以下配置,然后单击创建。
参数
说明
服务器组类型
选择服务器组类型。本文选择函数计算类型。
服务器组名称
输入服务器组名称。
配置健康检查
开启健康检查
开启或关闭健康检查。本文保持默认配置,即关闭健康检查。
-
在服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器。
-
在后端服务器页签,单击设置函数计算。
-
在添加后端服务器面板,选择以下任意一种方式完成参数配置,然后单击确定。
-
通过选择资源
参数
描述
配置方式
在下拉列表中选择通过选择资源。
服务
选择步骤一中创建的函数计算服务。
版本
选择LATEST。新创建的服务,默认只有一个LATEST版本。
函数
在下拉列表中选择您已创建的函数。如果没有可用的函数,请单击创建新函数,然后按照页面提示新建函数。具体操作,请参见管理函数。
描述
输入描述信息。
-
通过ARN配置
参数
描述
配置方式
在下拉列表中选择通过ARN配置。
ARN
输入目标函数的ARN。
您可以在函数计算控制台的函数详情页面,复制函数ARN。具体操作, 请参见获取函数ARN。
描述
输入描述信息。
-
步骤四:创建ALB实例并配置监听
- 登录应用型负载均衡ALB控制台。
-
在顶部菜单栏选择所属地域。本文选择华东1(杭州)。
-
在实例页面,单击创建应用型负载均衡。
-
在应用型负载均衡(按量付费)购买页面,完成参数配置。
此处仅列出和本文强相关的配置项。关于其余参数的配置,请参见创建应用型负载均衡。
-
地域:本文选择华东1(杭州)。
-
实例网络类型:本文选择公网。
-
-
在实例页面,找到已创建的ALB实例,在目标实例操作列下单击创建监听,然后打开监听配置向导。
-
在配置监听配置向导,完成以下配置,然后单击下一步。
监听配置
说明
选择负载均衡协议
选择监听的协议类型。 本文选择HTTP。
监听端口
输入用来接收请求并向后端服务器进行请求转发的监听端口,端口范围为1~65535。本文输入80。
监听名称
自定义监听的名称。
高级配置
本文使用默认配置。
-
在选择服务器组配置向导,在选择服务器组的下拉框选择函数计算类型,并选择步骤三创建的后端服务器组,然后单击下一步。
-
在配置审核配置向导,确认配置信息,单击提交。
步骤五:连通性测试
完成上述操作后,ALB和函数计算已经建立了连接,您可以通过以下操作,测试ALB和函数计算的连通性。
-
打开命令行窗口,执行curl – v命令获取Date头域。
函数计算要求HTTP访问请求头中包含Date头域。
curl -v
执行curl – H命令,尝试访问ALB实例的域名。
curl -H "Date头域"
如下图所示,收到如下所示的回复报文,则表示ALB可以将请求转发至函数计算并调用函数。
更多操作
函数计算更多操作:
-
关于更新函数,请参见管理函数。
-
关于删除函数,请参见管理函数。
-
关于更新函数计算服务,请参见更新服务。
-
关于删除函数计算服务,请参见管理服务。
ALB更多操作:
-
关于释放ALB实例,请参见释放实例。
-
关于删除ALB服务器组,请参见删除服务器组。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/169461.html