将 Lambda 与基础设施即代码(IaC)结合使用
Lambda 函数很少单独运行。相反,它们通常与数据库、队列和存储等其他资源一起都是无服务器应用程序的组成部分。借助基础设施即代码(IaC)
适用于 Lambda 的 IaC 工具
- AWS 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 基础设施编辑器 的服务,可使用简单图形界面开发 IaC 模板。凭借基础设施编辑器,可以通过在可视画布中拖动、分组和连接 AWS 服务来设计应用程序架构。然后,基础设施编辑器会根据您的设计创建 AWS SAM 模板或 AWS CloudFormation 模板,供您用于部署应用程序。
在以下 在 AWS SAM 和基础设施编辑器中使用 Lambda 函数 部分中,您将使用基础设施编辑器,根据现有 Lambda 函数为无服务器应用程序开发模板。