ALB添加函數(shù)計算FC作為后端服務
如果您使用阿里云函數(shù)計算(Function Compute,簡稱FC),并需要將函數(shù)計算作為ALB后端服務來處理請求,您可以為ALB實例添加函數(shù)計算類型的服務器組。通過ALB和函數(shù)計算的配置,實現(xiàn)ALB轉(zhuǎn)發(fā)請求至函數(shù)計算并調(diào)用函數(shù),函數(shù)在運行完成后,函數(shù)計算將運行結果作為響應返回給請求方。
當前ALB函數(shù)計算類型服務器組僅支持函數(shù)計算2.0版本,暫不支持函數(shù)計算3.0版本。
本文所有涉及函數(shù)計算的描述,均指代函數(shù)計算2.0版本。
背景信息
阿里云函數(shù)計算是事件驅(qū)動的全托管計算服務。通過函數(shù)計算,您無需管理服務器等基礎設施,只需編寫代碼并上傳。函數(shù)計算會為您準備好計算資源,以彈性、可靠的方式運行您的代碼,并提供日志查詢、性能監(jiān)控、報警等功能。函數(shù)計算是Serverless架構的一種形態(tài),面向函數(shù)編程,基于事件驅(qū)動提供阿里云云服務之間端到端的解決方案。借助函數(shù)計算,您可以快速構建任何類型的應用和服務,并且只需為任務實際消耗的資源付費。
創(chuàng)建完函數(shù)后,您可以通過ALB服務器組和監(jiān)聽的配置,將函數(shù)作為ALB的后端服務器。當接收到訪問請求時,ALB會將請求內(nèi)容轉(zhuǎn)發(fā)給函數(shù)計算并觸發(fā)函數(shù)調(diào)用,函數(shù)運行完成后,函數(shù)計算將運行結果作為響應返回給請求方。
使用函數(shù)計算服務前需要先開通函數(shù)計算服務。
使用限制
ALB實例和函數(shù)屬于同一個地域。
函數(shù)計算作為ALB后端服務器時的使用限制:
僅支持創(chuàng)建處理HTTP請求的函數(shù)。
函數(shù)計算要求客戶端在訪問函數(shù)時,HTTP請求頭中包含Date頭域。Date頭域表示消息發(fā)送的時間。
ALB使用函數(shù)計算時的使用限制:一個ALB函數(shù)計算類型服務器組僅支持添加一個函數(shù)作為后端服務器。
步驟一:創(chuàng)建函數(shù)計算服務
登錄函數(shù)計算控制臺。
重要如果您的控制臺當前處于函數(shù)計算3.0版本頁面,您可單擊右上角返回函數(shù)計算2.0,返回函數(shù)計算2.0頁面進行操作。
在左側導航欄,單擊服務及函數(shù)。
在頂部菜單欄,選擇所屬地域。本文選擇華東1(杭州)。
在服務列表頁面,單擊創(chuàng)建服務。
在創(chuàng)建服務面板,部分配置可參考以下信息,其余參數(shù)可保持默認,然后單擊確定。
參數(shù)
說明
名稱
輸入函數(shù)計算服務名稱。
長度為1~128個字符,只能包含字母、數(shù)字、下劃線(_)和中劃線(-),不能以數(shù)字、中劃線(-)開頭。
描述
輸入函數(shù)計算服務描述。
日志功能
是否啟用阿里云日志服務。本文選擇啟用。
啟用:啟用后,函數(shù)計算會自動為您在日志服務創(chuàng)建對應的Project(日志項目)和Logstore(日志倉庫),并自動把函數(shù)日志投遞到相應的Logstore。
此時,函數(shù)計算為您的服務授予基于最小權限原則創(chuàng)建的
AliyunFCDefaultRole
,以訪問日志服務。關于服務角色的更多信息,請參見授予函數(shù)計算訪問其他云服務的權限。禁用:函數(shù)的執(zhí)行日志將無法通過日志服務存儲和查詢。
說明請確保您已開通日志服務。否則,無法啟用日志功能。
步驟二:創(chuàng)建函數(shù)
在服務列表頁面,在目標服務操作列單擊函數(shù)管理。
在函數(shù)管理頁面,單擊創(chuàng)建函數(shù)。
在創(chuàng)建函數(shù)頁面,按需選擇創(chuàng)建函數(shù)的方式。
本文選擇使用內(nèi)置運行時創(chuàng)建。
在基本設置、函數(shù)代碼和觸發(fā)器配置區(qū)域,配置以下參數(shù)信息,然后單擊創(chuàng)建。
此處僅列出和本文強相關的配置項,其余未列出的參數(shù)保持默認值。
參數(shù)
操作
基本設置
函數(shù)名稱
填寫自定義的函數(shù)名稱。
請求處理程序類型
選擇請求處理程序類型。本文選擇處理 HTTP 請求。
請求處理程序類型:用于處理HTTP請求或Websocket請求的函數(shù)。
說明負載均衡ALB僅支持通過HTTP請求觸發(fā)函數(shù)。
函數(shù)代碼
運行環(huán)境
選擇運行環(huán)境。本文選擇Node.js 14。
關于函數(shù)計算支持的運行環(huán)境,請參見管理函數(shù)。
代碼上傳方式
選擇上傳函數(shù)代碼到函數(shù)計算的方式。
本文選擇使用示例代碼。
觸發(fā)器配置
觸發(fā)器類型
顯示當前選擇的觸發(fā)器類型:HTTP觸發(fā)器。
觸發(fā)器是觸發(fā)函數(shù)執(zhí)行的方式。
名稱
輸入觸發(fā)器的名稱。
請求方法
選擇觸發(fā)該HTTP觸發(fā)器的方法。本文選擇GET和POST。
認證方式
本文選擇簽名認證。更多信息,請參見簽名認證。
在函數(shù)代碼頁簽,在代碼編輯器中修改代碼。
代碼修改示例如下。
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!"), }
在函數(shù)代碼頁簽,在左上角單擊部署代碼,然后單擊測試函數(shù)。
執(zhí)行完成后,您可以在返回結果區(qū)域查看函數(shù)運行結果。更多操作,請參見快速創(chuàng)建函數(shù)。
步驟三:創(chuàng)建函數(shù)計算類型的服務器組
- 登錄應用型負載均衡ALB控制臺。
在頂部菜單欄選擇所屬地域。本文選擇華東1(杭州)。
在左側導航欄,選擇 。
在服務器組頁面,單擊創(chuàng)建服務器組,完成以下配置,然后單擊創(chuàng)建。
參數(shù)
說明
服務器組類型
選擇服務器組類型。本文選擇函數(shù)計算類型。
服務器組名稱
輸入服務器組名稱。
配置健康檢查
開啟健康檢查
開啟或關閉健康檢查。本文保持默認配置,即關閉健康檢查。
在服務器組頁面,找到目標服務器組,然后在操作列單擊編輯后端服務器。
在后端服務器頁簽,單擊設置函數(shù)計算。
在添加后端服務器面板,選擇以下任意一種方式完成參數(shù)配置,然后單擊確定。
通過選擇資源
參數(shù)
描述
配置方式
在下拉列表中選擇通過選擇資源。
服務
選擇步驟一中創(chuàng)建的函數(shù)計算服務。
版本
選擇LATEST。新創(chuàng)建的服務,默認只有一個LATEST版本。
函數(shù)
在下拉列表中選擇您已創(chuàng)建的函數(shù)。如果沒有可用的函數(shù),請單擊創(chuàng)建新函數(shù),然后按照頁面提示新建函數(shù)。具體操作,請參見管理函數(shù)。
描述
輸入描述信息。
通過ARN配置
參數(shù)
描述
配置方式
在下拉列表中選擇通過ARN配置。
ARN
輸入目標函數(shù)的ARN。
您可以在函數(shù)計算控制臺的函數(shù)詳情頁面,復制函數(shù)ARN。具體操作, 請參見獲取函數(shù)ARN。
描述
輸入描述信息。
步驟四:創(chuàng)建ALB實例并配置監(jiān)聽
- 登錄應用型負載均衡ALB控制臺。
在頂部菜單欄選擇所屬地域。本文選擇華東1(杭州)。
在實例頁面,單擊創(chuàng)建應用型負載均衡。
在應用型負載均衡(按量付費)購買頁面,完成參數(shù)配置。
此處僅列出和本文強相關的配置項。關于其余參數(shù)的配置,請參見創(chuàng)建應用型負載均衡。
地域:本文選擇華東1(杭州)。
實例網(wǎng)絡類型:本文選擇公網(wǎng)。
在實例頁面,找到已創(chuàng)建的ALB實例,在目標實例操作列下單擊創(chuàng)建監(jiān)聽,然后打開監(jiān)聽配置向?qū)А?/span>
在配置監(jiān)聽配置向?qū)В瓿梢韵屡渲茫缓髥螕?b data-tag="uicontrol" id="uicontrol-faz-lu6-js6" class="uicontrol">下一步。
監(jiān)聽配置
說明
選擇監(jiān)聽協(xié)議
選擇監(jiān)聽的協(xié)議類型。 本文選擇HTTP。
監(jiān)聽端口
輸入用來接收請求并向后端服務器進行請求轉(zhuǎn)發(fā)的監(jiān)聽端口,端口范圍為1~65535。本文輸入80。
監(jiān)聽名稱
自定義監(jiān)聽的名稱。
高級配置
本文使用默認配置。
在選擇服務器組配置向?qū)В?b id="uicontrol-dzs-m4n-w57" data-tag="uicontrol" data-isbold="true" class="uicontrol">選擇服務器組的下拉框選擇函數(shù)計算類型,并選擇步驟三創(chuàng)建的后端服務器組,然后單擊下一步。
在配置審核配置向?qū)В_認配置信息,單擊提交。
步驟五:連通性測試
完成上述操作后,ALB和函數(shù)計算已經(jīng)建立了連接,您可以通過以下操作,測試ALB和函數(shù)計算的連通性。
打開命令行窗口,執(zhí)行
curl -v <ALB實例域名>
命令獲取Date頭域。函數(shù)計算要求HTTP訪問請求頭中包含Date頭域。
執(zhí)行
curl -H "Date頭域" <ALB實例域名>
命令,嘗試訪問ALB實例的域名。如下圖所示,收到如下所示的回復報文,則表示ALB可以將請求轉(zhuǎn)發(fā)至函數(shù)計算并調(diào)用函數(shù)。
相關文檔
函數(shù)計算2.0相關:
關于函數(shù)計算的更多信息,請參見什么是函數(shù)計算。
關于更新函數(shù),請參見管理函數(shù)。
關于刪除函數(shù),請參見管理函數(shù)。
關于更新函數(shù)計算服務,請參見更新服務。
關于刪除函數(shù)計算服務,請參見管理服務。