将 Lambda 与基础设施即代码(IaC)结合使用
Lambda 函数很少单独运行。相反,它们通常与数据库、队列和存储等其他资源一起都是无服务器应用程序的组成部分。借助基础设施即代码(IaC)
适用于 Lambda 的 IaC 工具
- Amazon CloudFormation
-
CloudFormation 是来自 Amazon 的基础 IaC 服务。可以使用 YAML 或 JSON 模板,对整个 Amazon 基础设施(包括 Lambda 函数)进行建模和预置。CloudFormation 可以处理创建、更新和删除 Amazon 资源的复杂工作。
- Amazon Serverless Application Model (Amazon SAM)
-
Amazon SAM 是一个开源框架,构建在 CloudFormation 之上。它提供了用于定义无服务器应用程序的简化语法。使用 Amazon SAM 模板,只需几行 YAML 即可快速预置 Lambda 函数、API、数据库和事件源。
- Amazon Cloud Development Kit (Amazon CDK)
-
CDK 是 IaC 的代码优先方法。可以使用 TypeScript、JavaScript、Python、Java、C#/Net 或 Go 来定义基于 Lambda 的架构。选择首选语言,并使用参数、条件、循环、组合和继承等编程元素来定义基础设施的预期结果。然后,CDK 会生成底层 CloudFormation 模板用于部署。有关如何配合使用 Lambda 和 CDK 的示例,请参阅 使用 Amazon CDK 部署 Lambda 函数。

Amazon 还提供了一项名为 Amazon 基础设施编辑器 的服务,可使用简单图形界面开发 IaC 模板。凭借基础设施编辑器,可以通过在可视画布中拖动、分组和连接 Amazon Web Services 服务来设计应用程序架构。然后,基础设施编辑器会根据您的设计创建 Amazon SAM 模板或 Amazon CloudFormation 模板,供您用于部署应用程序。
在以下 在 Amazon SAM 和基础设施编辑器中使用 Lambda 函数 部分中,您将使用基础设施编辑器,根据现有 Lambda 函数为无服务器应用程序开发模板。