AWS Lambda 是一種無伺服器運算服務,可執行程式碼以回應事件,並自動為您管理基礎運算資源。您可以使用 AWS Lambda 透過自訂邏輯來擴展其他 AWS 服務,或者自己建立以 AWS 的擴展性、效能和安全性執行的後端服務。AWS Lambda 可自動執行程式碼以回應多個事件,例如透過 Amazon API Gateway 發出的 HTTP 請求、Amazon S3 儲存貯體中的物件修改、Amazon DynamoDB 中的表格更新,以及 AWS Step Functions 中的狀態轉換。

Lambda 會在高可用性運算基礎設施上執行程式碼,並執行運算資源的所有管理作業,包括伺服器與作業系統維護、容量佈建與自動擴展、程式碼與安全性修補程式部署以及監控和記錄程式碼。您唯一需要做的就是提供程式碼。

AWS Lambda 現在已正式上市

免費試用 AWS Lambda

AWS 免費方案包含透過 AWS Lambda 享有 1 百萬則免費要求,以及每個月多達 320 萬秒的運算時間。

查看 AWS 免費方案詳細資訊 »

需要有 Adobe Flash 播放程式或最新的瀏覽器才能觀賞這個網站的影片。

ha_ed_webinar_video_380x186
AWS Lambda 入門
DevOps_lambda

您在 AWS Lambda 上執行的程式碼稱為「Lambda 函數」。建立 Lambda 函數後,僅需完成觸發即可隨時加以執行,這與試算表中的公式相似。每個函數都包含您的程式碼以及一些相關的設定資訊,像是函數名稱和資源需求。Lambda 函數為「無狀態」,與基礎設施之間不具親和性,使 Lambda 能夠視需要迅速啟動函數複本,藉以順應連入事件的發生頻率。

將程式碼上傳到 AWS Lambda 之後,您就可以將函數與特定 AWS 資源 (例如特定的 Amazon S3 儲存貯體、Amazon DynamoDB 資料表、Amazon Kinesis 串流或 Amazon SNS 通知) 建立關聯。而當資源有所變動時,Lambda 也會視需要執行函數並管理運算資源,以便跟上連入要求的進展。

100x100_benefit_ingergration

AWS Lambda 可讓您將自訂邏輯新增到 Amazon S3 儲存貯體和 Amazon DynamoDB 表這類的 AWS 資源中,在資料進入雲端或在雲端移動資料時,可輕鬆將運算應用於資料。

AWS Lambda 的使用非常簡單。首先,上傳程式碼 (或在 Lambda 主控台中建立程式碼) 與選擇記憶體、逾時期間和 AWS Identity and Access Management (IAM) 角色以建立函數。然後,您指定 AWS 資源以觸發該函數,而資源可以是特定的 Amazon S3 儲存貯體、Amazon DynamoDB 表或 Amazon Kinesis 串流。當資源有所變動時,Lambda 也會視需要執行函數並啟動和管理運算資源,以便跟上內送要求的腳步。

100x100_benefit_layers

您可以使用 Amazon API Gateway 建置的 Lambda API 或自訂 API 終端節點,透過 AWS Lambda 為隨需觸發的應用程式建立新的後端服務。藉由使用 Lambda 處理自訂事件,而不是在用戶端對其提供服務,可避免用戶端平台變化、減少電池耗電情況並啟用更簡單的更新。

100x100_benefit_ccontainers

AWS Lambda 負責管理所有基礎設施,讓您的程式碼可在具有高度可用性的容錯型基礎設施上執行,使您能夠專注於建構與眾不同的後端服務。有了 Lambda,您就不必在修補程式發行時更新基礎作業系統,也不必擔心需要隨著使用量的增加而調整大小或增加新伺服器。AWS Lambda 可以順暢地部署您的程式碼、執行所有的管理、維護和安全性修補程式,並透過 Amazon CloudWatch 提供內建的記錄和監控。

100x100_benefit_durable

Lambda 具有內建的容錯能力。AWS Lambda 可在各區域中跨多個可用區域維護運算容量,以保護您的程式碼不受個別機器或資料中心設施故障的影響。AWS Lambda 及該服務上執行的函數都提供可預測且可靠的執行效能。AWS Lambda 的設計旨在為服務本身及其執行的函數均提供高可用性。沒有維護時段或計劃停機時間。

100x100_benefit_increase-upward1

AWS Lambda 只在需要時叫用您的程式碼,並能自動擴展以支援內送要求的速率,您無須設定任何內容。您的程式碼可處理的要求數目無任何限制。AWS Lambda 通常會在事件發生後的幾毫秒內開始執行您的程式碼,而且因為 Lambda 可自動擴展,隨著事件發生頻率的提高,會一直保持高效能。由於您的程式碼是無狀態的,Lambda 可在需要時盡可能啟動許多執行個體,而不會有冗長的部署和組態延遲的情況。

100x100_benefit_migration

使用 Lambda@Edge,AWS Lambda 可在全球各個 AWS 位置執行程式碼以回應 Amazon CloudFront 事件,像是透過原始伺服器和檢視者發出或接收的內容請求。這可讓您以低延遲的方式更輕鬆地交付更豐富、更個人化的內容給最終使用者。進一步了解 »

100x100_benefit_secure

AWS Lambda 可讓您的程式碼透過其內建的 AWS 開發套件以及與 AWS Identity and Access Management (IAM) 的整合來安全地存取其他 AWS 服務。AWS Lambda 預設會在 VPC 內執行您的程式碼。您也可以選擇設定 AWS Lambda 來存取自己 VPC 幕後的資源,讓您利用自訂安全群組和網路存取控制清單,以提供 Lambda 函數來存取 VPC 內的資源。

100x100_benefit_code

您不需學習任何新語言、工具或架構,即可採用 AWS Lambda。您可以使用任何第三方程式庫,甚至是原生程式庫。AWS Lambda 支援 Java、Node.js、C# 和 Python 程式碼,未來也將支援其他語言。

100x100_benefit_lowcost-affordable

透過使用 AWS Lambda,您只需支付處理的請求數及執行程式碼所需的運算時間。計費方式是以 100 毫秒作為增額單位,因此得以使用經濟實惠的手段輕鬆地將請求數量從每天數則自動擴充到每秒數千則。

100x100_benefit_flexible

您負責選擇要分配給函數中的記憶體數量,AWS Lambda 便會按比例分配 CPU 功率、網路頻寬和磁碟 I/O。