将 Lambda 与基础设施即代码(IaC)结合使用 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Lambda 与基础设施即代码(IaC)结合使用

Lambda 函数很少单独运行。相反,它们通常与数据库、队列和存储等其他资源一起都是无服务器应用程序的组成部分。借助基础设施即代码(IaC),可以自动执行部署流程,从而快速、可重复地部署和更新整个无服务器应用程序,涵盖许多独立的 Amazon 资源。这种方法可以加快开发周期,简化配置管理,并确保每次都以相同的方式部署资源。

适用于 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 SAM 和 Amazon CDK 如何使用 Amazon CloudFormation 部署 Amazon 资源和代码

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

在以下 在 Amazon SAM 和基础设施编辑器中使用 Lambda 函数 部分中,您将使用基础设施编辑器,根据现有 Lambda 函数为无服务器应用程序开发模板。