觀點 · 資訊分享

AWS Lambda Web Functions 登場:Express、Next.js 不改寫直接上 Lambda,一個環境接 128 個請求

AWS 推出 Lambda Web Functions,讓本來就會「聽連接埠」的 Node.js 網站伺服器原封不動部署到 Lambda,一行指令拿到 HTTPS 網址,還能一鍵多區域部署。計費改成只算 CPU 實際運算時間,等資料庫回應的時間幾乎不花錢。

發布
2026-10-13
篇幅
約 4 分鐘 · 1,819 字
結構
7 節 + 3 題常見問題
標籤
#AWS#AWS Lambda#Serverless#Node.js#Next.js
AWS Lambda Web Functions 登場:Express、Next.js 不改寫直接上 Lambda,一個環境接 128 個請求

一句話看懂:AWS 推出 Lambda Web Functions,本機怎麼跑的 Node.js 網站伺服器,就能原封不動部署到 Lambda,一個環境同時接最多 128 個請求,等資料庫的時間幾乎不計 CPU 費用。

Lambda Web Functions 重點資訊圖卡:本機怎麼跑就怎麼部署,等資料庫的時間幾乎不計費,還能一鍵多區域

先用白話講:Lambda 和這次的差別是什麼?

Lambda 是 AWS 的「無伺服器」服務:你只交出程式碼,不用自己管主機,有請求進來 AWS 才幫你開機器執行,沒人用就不收運算費。

但傳統 Lambda 有個門檻:程式要寫成「收到一個事件、回傳一個結果」的函式格式。我們平常用 Express、Next.js 寫的網站,是一台會一直「聽某個連接埠」的伺服器,要上 Lambda 就得加轉接層或改寫。

這次的 Web Functions 就是把這道門拆掉:網站伺服器本來長什麼樣,就直接放上去。

發生什麼事

AWS 在 10 月 12 日宣布 AWS Lambda Web Functions,Lambda 從此有三種型態:

型態 適合 特色
Event Functions(原本的 Lambda) 事件處理、佇列 一次一個請求,依經過時間計費
Web Functions(新) 網站、API、伺服器端渲染 監聽連接埠,多請求同時處理
MicroVMs 執行使用者上傳的程式碼 隔離、有狀態的沙盒

Web Functions 的重點:

  • 多請求同時處理:每個執行環境最多同時處理 128 個請求,流量突然暴增時可以共用已經熱好的環境
  • 計費方式:CPU 只算程式實際運算的時間,等資料庫、等外部 API 的時間幾乎不耗 CPU;記憶體則在執行環境存在期間計費
  • 一行部署:CLI 會打包程式、建立函式、發布版本並回傳 HTTPS 網址,官方示範不到一分鐘
  • 多區域:重新部署時指定多個區域,就會自動複製並依延遲導流,共用一個全球網址

搭配 CloudFront

同一天 AWS 也宣布 CloudFront 可以把 Web Functions 當成來源:靜態檔案走快取,動態請求才進函式。搭配來源存取控制(OAC),函式只接受來自 CloudFront 的請求,還能加上 AWS WAF,這項整合不另外收費。

給開發者的技術細節

程式唯一要配合的,是監聽 Lambda 指定的位址:

# Lambda 會設定 AWS_LAMBDA_HTTP_ENDPOINT,本機測試時自己設
AWS_LAMBDA_HTTP_ENDPOINT=127.0.0.1:3000 node index.js

# 部署
aws lambda-web deploy --name my-web-app --code ./my-app
  • 版本與分流:每次部署產生不可變的版本,可用 API 設定例如 90% 流量給舊版、10% 給新版
  • 限制:首發只支援 Node.js 24(nodejs24.x)與 Arm64,支援 VPC 連線
  • 區域:美東(維吉尼亞、俄亥俄)、美西(奧勒岡)、亞太(東京)、歐洲(愛爾蘭)
  • 價格:公告文章沒有列出單價,請看 Lambda 定價頁

我的看法

做 Nuxt、Next.js 這類有 SSR 的專案,常遇到的難題是「想用無伺服器省錢,但框架的 SSR 伺服器不好塞進 Lambda」。Web Functions 的方向正好解決這件事:只要你的程式能聽連接埠,就有機會直接上去。I/O 多、CPU 少的網站(大部分接案做的企業網站、API 都是這樣),新的計費方式可能更划算。

不過現在還是首發版本:只有 Node.js 24、只有 Arm64,亞洲只開東京。台灣客戶的網站要上線,我會先拿非正式環境試跑,確認原生套件在 Arm64 正常、冷啟動時間可以接受,再比較跟現有主機的月費。

名詞小辭典

  • 無伺服器(Serverless):不用自己管主機,依實際使用量付費的雲端服務型態。
  • SSR(伺服器端渲染):網頁在伺服器先組好 HTML 再送給瀏覽器,對 SEO 與首次載入速度有幫助。
  • 金絲雀發布:新版本先給一小部分使用者用,確認沒問題再全面切換。
  • CloudFront:AWS 的內容傳遞網路(CDN),把內容快取在離使用者近的節點。

資料來源

常見問題

Web Functions 跟原本的 Lambda 差在哪?
原本的 Lambda 現在叫 Event Functions,一次處理一個事件、依實際經過時間計費,程式要寫成事件處理函式。Web Functions 則直接跑會監聽連接埠的 HTTP 伺服器,一個環境同時處理多個請求,CPU 只算實際運算的時間。
我的 Express 程式要改什麼?
官方示範只需要讓伺服器監聽 Lambda 提供的 AWS_LAMBDA_HTTP_ENDPOINT 環境變數所指定的位址與連接埠,不需要額外的轉接套件。本機測試時自己設定這個環境變數即可。
費用怎麼算?比較便宜嗎?
官方說 CPU 依實際使用時間計費,等資料庫或外部 API 回應的時間幾乎不耗 CPU,所以 I/O 多的網站可能比較省;記憶體則在執行環境存在期間持續計費。詳細單價要看 Lambda 定價頁,公告文章沒有列出。
LINE