全部產品
Search
文件中心

Edge Security Acceleration:通過控制台使用邊緣函數

更新時間:May 01, 2025

本文介紹從開通邊緣函數服務到使用邊緣函數的全流程,便於您快速上手邊緣函數。

重要

阿里雲全站加速DCDN計劃於北京時間2025年5月8日 00:00 ~ 5月13日 23:00逐步停止新使用者開通邊緣函數功能(已開通服務的使用者不受影響)。

如果您有該功能的需求,建議您升級到ESA邊緣安全加速服務,使用邊緣安全加速 ESA邊緣函數功能。

流程概覽

當您初次使用邊緣函數時,需要先開通DCDN產品,具體步驟如下圖所示:

說明

邊緣函數目前是Beta功能,僅面向部分客戶開放。如果您的DCDN日常頻寬峰值大於500 Mbps,可以提交工單申請。申請通過後,邊緣函數菜單入口才可見。

開通邊緣函數服務

  1. 登入DCDN控制台

  2. 在左側導覽列,單擊邊緣函數

  3. 單擊開通邊緣函數 > 立即開通,開通邊緣函數服務。

建立和配置函數

  1. 登入DCDN控制台

  2. 在左側導覽列,單擊邊緣函數

  3. 如果您是第一次使用邊緣函數,請先設定子域。

    1. 邊緣函數頁面,單擊设置子域

      image.png

    2. 创建子域對話方塊中,輸入子網域名稱稱。

      說明
      • 子域相當於一個倉庫,您建立的邊緣函數均放在該倉庫下,子網域設定後無法修改。

      • 子域是每個使用者的唯一識別碼,子域也將用作函數ID的一部分。

      • 子網域設定後無法更改,支援小寫英文字母、數字和中劃線,名稱長度不能小於2個字元,例如subdomain-name。

    3. 單擊確定

  4. 邊緣函數頁面,單擊建立函數

    建立程式

    參數

    說明

    函數名稱

    請輸入函數名稱。

    說明

    支援小寫英文、數字和中劃線,名稱長度不能小於2個字元,例如routine-name。函數名建立後無法修改。 

    描述

    (選填)函數的描述資訊。

    规格

    函數代碼單次執行最多使用的CPU時間(不包含等待網路請求響應的I/O時間),RT最大值120秒,可用記憶體128 MB。不同規格的費用不同,預設選擇50 ms規格。更多計費資訊,請參見邊緣函數計費說明

    • 单个请求可用CPU时间片:5ms

    • 单个请求可用CPU时间片:50ms(預設)

    • 单个请求可用CPU时间片:100ms

  5. 函數建立完成後,可單擊操作列的详情,進入函數詳情頁進行配置。各個環境的配置相互獨立,您可以按需分別修改生產環境、測試環境和灰階環境(選配)的配置。

    參數

    說明

    函數規格

    函數代碼單次執行最多使用的CPU時間(不包含等待網路請求響應的I/O時間),RT最大值120秒,可用記憶體128 MB,預設選擇50 ms規格。

    • 单个请求可用CPU时间片:5ms

    • 单个请求可用CPU时间片:50ms(預設)

    • 单个请求可用CPU时间片:100ms

    網域名稱白名單

    • 允許關聯該函數的網域名稱。

    • 支援填寫泛網域名稱。

    • 網域名稱白名單預設為空白,表示任意網域名稱都可關聯該函數。

    說明

    例如您設定了example.com,則表示只有example.com的請求可以觸發該函數執行,其他網域名稱的請求將被該函數拒絕。

網域名稱關聯函數

函數需要網域名稱作為入口供用戶端訪問,網域名稱可使用CDN或DCDN加速網域名稱。函數建立並配置完畢後,您需要將DCDN的網域名稱關聯該邊緣函數,用戶端通過訪問網域名稱觸發函數執行。具體以您網域名稱所在的產品進入對應控制台為準。

  1. 登入DCDN控制台

  2. 在左側導覽列,單擊域名管理

  3. 域名管理頁面,單擊目標網域名稱對應的配置

  4. 在指定網域名稱的左側導覽列,單擊邊緣函數

  5. 邊緣函數頁面,開啟並配置邊緣函數ID

    邊緣程式

    參數

    說明

    邊緣函數ID

    邊緣函數ID是每個函數的唯一識別碼。組成方式:函數名稱.子域。

    說明

    在DCDN控制台左側,單擊邊緣函數,在函數頁面您可以看到對應函數的ID。

    image.png

    触发模式

    訪問DCDN網域名稱的請求將觸發邊緣函數執行,執行方式有兩種:

    • 重定向DCDN網域名稱的請求將被邊緣函數完全接管。邊緣函數內的代碼邏輯由您自行開發,可直接返回結果給用戶端、通過CacheAPI讀取緩衝、通過fetch請求回源等。

    • 旁路DCDN網域名稱的請求僅觸發邊緣函數執行,隨後繼續執行DCDN配置並回源,適合於一些鑒權校正或日誌打點的情境。

    执行异常时是否回源

    • :當邊緣函數執行異常,邊緣節點將以用戶端URL的形式請求DCDN標題來源站,您可以在來源站點實現兜底和容災機制。

    • :當邊緣函數執行異常,直接返回5xx狀態代碼給用戶端。

      說明
      • 首次使用邊緣函數建議您將該參數設定為否,通過返回5xx狀態代碼可排查使用中遇到的問題。

      • 執行異常時,回源的請求將按請求數計費。該部分異常的回源請求一般情況下佔比極低,可忽略。

開發並調試函數

  1. 登入DCDN控制台

  2. 在左側導覽列,單擊邊緣函數

  3. 選擇您建立的函數,單擊详情

  4. 详情頁面,選擇代码頁簽,即可開始使用JavaScript開發邊緣函數(預設是HelloWorld範例程式碼)。代碼

  5. 編寫完代碼後,單擊发布到测试环境。您可以選擇頁面上提供的任一測試環境IP進行Host綁定測試,調試函數代碼。

    說明

    綁定Host的方式是修改測試機本地Host檔案,加入測試IP和網域名稱。例如添加10.10.10.10 example.com(IP替換為上圖提供的任一IP,網域名稱替換為您關聯該函數的DCDN網域名稱)。

產生正式版本

代碼調試完畢後,在代码頁簽,單擊生成正式版本測試

發布

  1. 详情頁面,選擇版本和发布頁簽,選擇一個版本ID單擊操作列的发布

  2. 選擇需要發布的環境(测试环境生产环境灰度环境)。

    說明

    建議的發布順序:先逐個發布到各個灰階環境,所有灰階環境全部發完後,再發布至生產環境。

  3. 單擊確定,所有生產環境的節點都將部署該版本的函數代碼。

日常迭代

以上是HelloWorld樣本函數的配置和發布。

  • 日常的函數代碼更新迭代您可以參考:開發並調試函數、產生正式版本、發布三個環節。

  • 如果您需要調整函數規格、網域名稱白名單等函數的配置,可參考:建立和配置函數。

  • 如果您希望關閉DCDN網域名稱的邊緣函數功能,刪除網域名稱關聯函數中的邊緣函數配置即可。

常見問題