Lambda 受管執行個體 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Lambda 受管執行個體

Lambda 受管執行個體可讓您在目前世代的 Amazon EC2 執行個體上執行 Lambda 函數,包括 Graviton4、網路最佳化執行個體和其他特殊運算選項,而無需管理執行個體生命週期、作業系統和語言執行時間修補、路由、負載平衡或擴展政策。使用 Lambda 受管執行個體,您可以受益於 EC2 定價優勢,包括 EC2 Savings Plans 和預留執行個體。

如需支援的執行個體類型清單,請前往 AWS Lambda 定價頁面,然後選取您的 AWS 區域。

關鍵功能

Lambda 受管執行個體提供下列功能:

  • 選擇合適的執行個體 - 根據效能和成本需求選擇適當的執行個體,包括存取最新的 CPUs,例如 Graviton4、可設定的記憶體 CPU 比率和高頻寬聯網。

  • 自動佈建 - AWS 自動佈建適當的執行個體,並啟動函數執行環境。

  • 動態擴展 - 執行個體會根據函數流量模式動態擴展。

  • 全受管體驗 - AWS 使用您熟悉的相同廣泛事件來源整合來處理基礎設施管理、擴展、修補和路由。

何時使用 Lambda 受管執行個體

針對下列使用案例考慮 Lambda 受管執行個體:

  • 高磁碟區可預測工作負載 - 最適合穩定狀態的工作負載,而不會發生意外流量尖峰。Lambda 受管執行個體預設會在五分鐘內擴展以處理加倍的流量。

  • 效能關鍵型應用程式 - 存取最新的 CPUs、不同的記憶體 CPU 比率和高網路輸送量

  • 法規要求 - 精細的控管需求,可控制 VPC 和執行個體放置

  • 各種應用程式 - 事件驅動型應用程式、媒體/資料處理、Web 應用程式和舊版工作負載遷移至無伺服器

運作方式

Lambda 受管執行個體使用容量提供者做為執行函數的基礎:

  1. 建立容量提供者 - 透過指定 VPC 組態和選用的執行個體需求和擴展組態,定義函數執行的位置

  2. 建立函數 - 照常建立 Lambda 函數,並將其連接至容量提供者

  3. 發佈函數版本 - 發佈後,函數版本會在容量提供者執行個體上變成作用中

當您使用容量提供者發佈函數版本時,Lambda 會在您的帳戶中啟動受管執行個體。根據預設,它會針對 AZ 彈性啟動三個執行個體,並在標記函數版本 ACTIVE 之前啟動三個執行環境。如果您將函數連接至已執行其他函數的現有容量提供者,且可用執行個體已有容納新函數執行環境的容量,則 Lambda 可能無法啟動新執行個體。

並行模型

Lambda 受管執行個體支援多並行調用,其中一個執行環境可以同時處理多個調用。這與 Lambda (預設) 運算類型不同,它提供單一並行模型,其中一個執行環境一次最多可以執行一個調用。多並行可提高基礎 EC2 執行個體的使用率,對 Web 服務或批次任務等 IO 密集型應用程式特別有益。此執行模型變更表示執行緒安全性、狀態管理和內容隔離必須根據執行時間以不同方式處理。

租用和隔離

Lambda (預設) 運算類型是多租戶,利用 Firecracker microVM 技術在共用 Lambda 機群上執行的執行環境之間提供隔離。Lambda 受管執行個體會在您的帳戶中執行,提供最新的 EC2 硬體和定價選項。受管執行個體使用 EC2 Nitro 執行個體上執行的容器來提供隔離,而不是 Firecracker。容量提供者可做為 Lambda 函數的安全界限。函數會在執行個體內的容器中執行。

了解受管執行個體

Lambda 受管執行個體函數會在您帳戶中的 EC2 受管執行個體上執行。這些執行個體完全由 Lambda 管理,這表示相較於標準 EC2 執行個體,您對這些執行個體具有有限的許可。您可以透過以下方式識別帳戶中的 Lambda 受管執行個體:

  • EC2 DescribeInstances輸出中 Operator 欄位的存在

  • 執行個體上的aws:lambda:capacity-provider標籤

您無法直接在這些執行個體上執行標準 EC2 操作,例如手動終止它們。若要銷毀受管執行個體,請刪除相關聯的容量提供者。然後,Lambda 會在容量提供者刪除程序中終止執行個體。

定價

Lambda 受管執行個體使用以 EC2-based定價,除了 EC2 執行個體成本之外,還需支付 15% 的管理費。此定價模式支援 EC2 Savings Plans、預留執行個體,以及套用至 EC2 用量的任何其他定價折扣。如需其他詳細資訊,請參閱定價頁面:https://https://aws.amazon.com/lambda/pricing/

重要:EC2 定價折扣僅適用於基礎 EC2 運算,不適用於管理費。

Lambda 受管執行個體與 Lambda (預設) 運算類型有何不同

相較於 Lambda (預設),Lambda 受管執行個體會變更 Lambda 處理請求的方式。

主要差異:

Lambda (預設) Lambda 受管執行個體
並行模型 單一並行模型,其中一個執行環境一次最多可支援一個調用 多並行調用,其中一個執行環境可以同時處理多個調用,提高輸送量,特別是對於 IO 密集型應用程式
租用和隔離 多租戶,使用 Firecracker microVM 技術在共用 Lambda 機群上執行的執行環境之間提供隔離 在您的帳戶中執行 ,使用 EC2 Nitro 提供隔離。容量提供者做為安全界限,在執行個體內的容器中執行 函數
定價方式 每個請求持續時間定價 使用 EC2 定價模型的執行個體型定價,包括隨需執行個體和預留執行個體,以及 Compute Savings Plans 等節省選項
擴展行為 當沒有免費的執行環境來處理傳入呼叫 (冷啟動) 時擴展。無流量擴展至零 僅根據 CPU 資源使用率以非同步方式擴展,無需冷啟動。擴展到沒有流量設定的最小執行環境
最適合 具有高載流量的函數,可以處理一些冷啟動時間,或沒有持續負載的應用程式,受益於擴展到零 當您想要 EC2 的彈性、定價計劃和硬體選項時,大量可預測流量函數

後續步驟