將 Lambda 搭配基礎設施即程式碼 (IaC)
Lambda 函數很少單獨執行。相反,它們通常是具有其他資源 (例如資料庫、佇列和儲存體) 的無伺服器應用程式的一部分。使用 基礎設施即程式碼 (IaC)
用於 Lambda 的 IaC 工具
- CloudFormation
-
CloudFormation 是來自 AWS 的基礎 IaC 服務。可以使用 YAML 或 JSON 範本來建模和佈建整個 AWS 基礎設施,包括 Lambda 函數。CloudFormation 可處理建立、更新和刪除 AWS 資源的複雜性。
- AWS Serverless Application Model (AWS SAM)
-
AWS SAM 是在 CloudFormation 上建置的開放原始碼架構。它提供可定義無伺服器應用程式的簡化語法。使用 AWS SAM 範本,只需幾行 YAML 即可快速佈建 Lambda 函數、API、資料庫和事件來源。
- AWS Cloud Development Kit (AWS CDK)
-
CDK 是 IaC 的程式碼優先方法。可以使用 TypeScript、JavaScript、Python、Java、C#、.Net 或 Go 來定義基於 Lambda 的架構。選擇您偏好的語言,並使用程式設計元素,例如參數、條件、迴圈、合成和繼承,來定義基礎設施的所需結果。然後,CDK 會產生基礎 CloudFormation 範本以進行部署。如需搭配使用 Lambda 與 CDK 的範例,請參閱 使用 AWS CDK 部署 Lambda 函式。
AWS 還提供了一種稱為 AWS Infrastructure Composer、使用簡單的圖形介面開發 IaC 範本的服務。使用 Infrastructure Composer,您可以透過在視覺化畫布中拖曳、分組和連線 AWS 服務來設計應用程式架構。然後,Infrastructure Composer 會從您的設計中建立 AWS SAM 範本或 CloudFormation 範本,供您用來部署應用程式。
在下面的 在 AWS SAM 與 Infrastructure Composer 中使用 Lambda 函式 章節中,您可以使用 Infrastructure Composer,根據現有的 Lambda 函數為無伺服器應用程式開發範本。