什麼是 AWS Lambda? - AWS Lambda

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

什麼是 AWS Lambda?

您可以使用 執行程式碼 AWS Lambda ,而無需佈建或管理伺服器。Lambda 在高可用性運算基礎設施上執行程式碼,並管理所有運算資源,包括伺服器和作業系統維護、容量佈建、自動擴展和記錄。您可以將您的程式碼組織為 Lambda 函數。Lambda 服務只有在需要時才會執行您的函數,並會自動擴展。如需定價資訊,請參閱AWS Lambda 定價以取得詳細資訊。

使用 Lambda 時,您只需負責程式碼的相關操作。Lambda 會管理提供記憶體、CPU、網路和其他資源平衡的運算機群,以執行您的程式碼。由於 Lambda 管理這些資源,因此您無法登入運算執行個體或在提供的執行時間自訂作業系統。

使用 Lambda 的時機

Lambda 是理想的運算服務,適用於需要快速縱向擴展的應用程式案例,並在不需要時縮減規模至零。例如,您可將 Lambda 用於:

  • 串流處理:使用 Lambda 和 Amazon Kinesis 處理即時串流資料,以進行應用程式活動追蹤、交易訂單處理、點選流分析、資料清理、日誌篩選、索引編制、社交媒體分析、物聯網 (IoT) 裝置資料遙測以及計量。

  • Web 應用程式:將 Lambda 與其他 AWS 服務結合,以建置功能強大的 Web 應用程式,自動擴展和縮減規模,並在多個資料中心的高可用性組態中執行。若要使用 AWS 服務建置 Web 應用程式,開發人員可以使用基礎設施做為程式碼 (IaC) 和協同運作工具,例如 AWS CloudFormationAWS Cloud Development Kit (AWS CDK)AWS Serverless Application Model或使用 協調複雜的工作流程AWS Step Functions

  • 行動後端:使用 Lambda 和 Amazon API Gateway 建置後端,用於驗證和處理 API 請求。使用 AWS Amplify 輕鬆與您的 iOS、Android、Web 和 React Native 前端整合。

  • IoT 後端使用 Lambda 建置無伺服器後端來處理 Web、行動裝置、IoT 和第三方 API 請求。

  • 檔案處理:使用 Amazon Simple Storage Service (Amazon S3),在上傳之後即時觸發 Lambda 資料處理程序。

  • 資料庫操作與整合:使用 Lambda 以被動和主動的方式處理資料庫互動,包括處理 Amazon RDS 操作的佇列訊息,例如使用者註冊和訂單提交,以及回應稽核記錄、資料複寫和自動化工作流程的 DynamoDB 變更。

  • 排程和定期任務:使用 Lambda 搭配 EventBridge 規則來執行以時間為基礎的操作,例如資料庫維護、資料封存、報告產生,以及使用類似 Cron 表達式的其他排程業務流程。

Lambda 的運作方式

由於 Lambda 是無伺服器、事件驅動的運算服務,因此使用與傳統 Web 應用程式不同的程式設計範例。下列模型說明 Lambda 基本上如何運作:

  1. 您可以在 Lambda 函數中編寫和組織程式碼,這是用來建立 Lambda 應用程式的基本建置區塊。

  2. 您可以透過 Lambda 許可控制安全性和存取權,使用執行角色來管理函數可以與哪些 AWS 服務互動,以及哪些資源政策可以與程式碼互動。

  3. 事件來源 AWS 和服務會觸發 Lambda 函數,以 JSON 格式傳遞事件資料,您的函數會處理 (包括事件來源映射)。

  4. Lambda 會使用語言特定的執行時間 (例如 Node.js 和 Python),在封裝執行時間、層和延伸的執行環境中執行程式碼。

提示

若要了解如何建置無伺服器解決方案,請參閱無伺服器開發人員指南

主要功能

設定、控制和部署安全應用程式:

  • 環境變數 在沒有新程式碼部署的情況下修改應用程式行為。

  • 版本 安全地測試新功能,同時維持穩定的生產環境。

  • Lambda 層 透過跨多個函數共用常見元件來最佳化程式碼重複使用和維護。

  • 程式碼簽署 確保只有核准的程式碼到達生產系統,以強制執行安全合規。

縮放並可靠地執行:

  • 並行和擴展控制可在流量激增期間精確管理應用程式回應和資源使用率。

  • Lambda SnapStart 可大幅縮短冷啟動時間。Lambda SnapStart 可提供低至一秒的啟動效能,通常不會變更函數程式碼。

  • 回應串流 透過逐步交付大型承載以進行即時處理來最佳化函數效能。

  • 容器映像 套件函數具有使用容器工作流程的複雜相依性。

無縫連線和整合:

  • VPC 網路可保護敏感資源和內部服務的安全。

  • 檔案系統 整合,可共用持久性資料並跨函數叫用管理具狀態的操作。

  • 函數 URL 建立面向公有APIs 和端點,無需其他服務。

  • Lambda 延伸 使用監控、安全和操作工具來增強 函數。

相關資訊