將 Lambda 搭配基礎設施即程式碼 (IaC) - AWS Lambda

將 Lambda 搭配基礎設施即程式碼 (IaC)

Lambda 函數很少單獨執行。相反,它們通常是具有其他資源 (例如資料庫、佇列和儲存體) 的無伺服器應用程式的一部分。使用 基礎設施即程式碼 (IaC),您可以自動化部署程序,以快速且重複地部署並更新涉及許多不同 AWS 資源的整個無伺服器應用程式。這種方法可加快您的開發週期,使組態管理更加輕鬆,並確保您的資源每次都以相同的方式部署。

用於 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 SAM 和 AWS CDK 如何使用 CloudFormation 來部署 AWS 資源和程式碼的圖表

AWS 還提供了一種稱為 AWS Infrastructure Composer、使用簡單的圖形介面開發 IaC 範本的服務。使用 Infrastructure Composer,您可以透過在視覺化畫布中拖曳、分組和連線 AWS 服務來設計應用程式架構。然後,Infrastructure Composer 會從您的設計中建立 AWS SAM 範本或 CloudFormation 範本,供您用來部署應用程式。

在下面的 在 AWS SAM 與 Infrastructure Composer 中使用 Lambda 函式 章節中,您可以使用 Infrastructure Composer,根據現有的 Lambda 函數為無伺服器應用程式開發範本。