本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Lambda 受管執行個體
Lambda 受管執行個體可讓您在目前世代的 Amazon EC2 執行個體上執行 Lambda 函數,包括 Graviton4、網路最佳化執行個體和其他特殊運算選項,而無需管理執行個體生命週期、作業系統和語言執行時間修補、路由、負載平衡或擴展政策。使用 Lambda 受管執行個體,您可以受益於 EC2 定價優勢,包括 EC2 Savings Plans 和預留執行個體。
如需支援的執行個體類型清單,請前往 AWS Lambda 定價
關鍵功能
Lambda 受管執行個體提供下列功能:
-
選擇合適的執行個體 - 根據效能和成本需求選擇適當的執行個體
,包括存取最新的 CPUs,例如 Graviton4、可設定的記憶體 CPU 比率和高頻寬聯網。 -
自動佈建 - AWS 自動佈建適當的執行個體,並啟動函數執行環境。
-
動態擴展 - 執行個體會根據函數流量模式動態擴展。
-
全受管體驗 - AWS 使用您熟悉的相同廣泛事件來源整合來處理基礎設施管理、擴展、修補和路由。
何時使用 Lambda 受管執行個體
針對下列使用案例考慮 Lambda 受管執行個體:
-
高磁碟區可預測工作負載 - 最適合穩定狀態的工作負載,而不會發生意外流量尖峰。Lambda 受管執行個體預設會在五分鐘內擴展以處理加倍的流量。
-
效能關鍵型應用程式 - 存取最新的 CPUs、不同的記憶體 CPU 比率和高網路輸送量
-
法規要求 - 精細的控管需求,可控制 VPC 和執行個體放置
-
各種應用程式 - 事件驅動型應用程式、媒體/資料處理、Web 應用程式和舊版工作負載遷移至無伺服器
運作方式
Lambda 受管執行個體使用容量提供者做為執行函數的基礎:
-
建立容量提供者 - 透過指定 VPC 組態和選用的執行個體需求和擴展組態,定義函數執行的位置
-
建立函數 - 照常建立 Lambda 函數,並將其連接至容量提供者
-
發佈函數版本 - 發佈後,函數版本會在容量提供者執行個體上變成作用中
當您使用容量提供者發佈函數版本時,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 的彈性、定價計劃和硬體選項時,大量可預測流量函數 |