AWS 最近宣布 Lambda 的自我管理程式碼儲存空間,讓函式與層可以直接參考客戶自有 S3 儲存貯體中的部署套件,而非 Lambda 管理的儲存空間。這項變更移除了每個區域的程式碼儲存配額——過去大型函式機隊的團隊必須透過支援票證才能提高——並將 Lambda 管理儲存空間的預設值從 75 GB 提高到 300 GB。AWS 公告與後續社群反應的說法容易造成誤解。
AWS 無伺服器首席開發者倡導者 Julian Wood 在 LinkedIn 上總結這項變更,表示「沒有儲存限制:可依儲存貯體容量儲存任意數量的函式與層程式碼」,並在客戶自己的帳戶中保留單一來源,且可透過現有 S3 指標與生命週期規則取得完整能見度。
這樣的措辭引發伺服器團隊真正關心的問題。有一位留言者詢問這是否意味著現在可以把更大的模型封裝在函式套件中。另一位開發者的回答直截了當:
不是,同樣的限制依然適用。現在 AWS 也可以向你收取儲存與擷取費用。
這項區別很重要,因為自我管理儲存空間改變了部署套件存放的位置,也移除了帳戶總量上限。但它並未改變每個函式的套件限制:基於 zip 的函式仍維持 50 MB(壓縮)與 250 MB(解壓縮),容器映像則維持 10 GB。遇到個別函式大小瓶頸的團隊,處境與之前完全相同。
運作上真正改變的是複製步驟。AWS Serverless Hero Darryl Ruggles 在 X 上指出,Lambda 不再建立套件的中繼副本:
透過這項變更,你可以直接從自己的儲存貯體參考原始碼,Lambda 也不再建立中繼副本。這能加速建立或更新後的函式啟用。
Ruggles 補充說明,除了標準 S3 儲存費用與跨區域傳輸費用之外,不再有額外的 Lambda 收費,這讓儲存成本從原本隱藏在 Lambda 端的配額,轉變為客戶 S3 帳單上的可見明細。
部署工作流程本身並未改變。在 Reddit,有一位使用者詢問:既然替換 S3 物件後仍需呼叫 UpdateFunctionCode,那麼這項變更有什麼好處?答案是,參考是在更新時解析,而非持續解析,因此指向儲存貯體並不會讓該儲存貯體變成即時的程式碼來源。另一位留言者直接點出價值:
這是一個原生選項,能克服受管儲存空間限制,而大多數團隊永遠不會達到這個限制。
基礎架構即程式碼(IaC)的支援仍在追趕:7 月 15 日提交的 Terraform 提供者功能請求,要求在 aws_lambda_function 上新增 s3_object_storage_mode 屬性,目前仍處於開放狀態,尚未實作。使用 Terraform 的團隊需要等待,或改用 CLI 與 SDK(這些工具已提供該參數)。
自我管理程式碼儲存空間已在所有商業 AWS 區域推出,不額外收取 Lambda 費用。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.