这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
了解核心 AWS CDK 概念
了解 AWS Cloud Development Kit (AWS CDK) 相关核心概念。
AWS CDK 和 IaC
AWS CDK 是一个开源框架,可用于通过代码管理 AWS 基础设施。这种方法被称为基础设施即代码(IaC)。通过将基础设施作为代码进行管理和预置,您可以像对待代码一样对待基础设施。这具有许多好处,例如版本控制和可扩展性。要了解有关 IaC 的更多信息,请参阅什么是基础设施即代码?
AWS CDK 和 AWS CloudFormation
AWS CDK 与 AWS CloudFormation 紧密集成。AWS CloudFormation 是一项完全托管的服务,可用于管理和预置 AWS 上的基础设施。通过 AWS CloudFormation,您可以在模板中定义基础设施并将其部署到 AWS CloudFormation。然后,AWS CloudFormation 服务会根据模板上定义的配置来配置基础设施。
AWS CloudFormation 模板是声明性的,这意味着其中声明了基础设施的所需状态或结果。借助 JSON 或 YAML,您可以通过定义 AWS 资源和属性声明 AWS 基础设施。资源代表 AWS 上的许多服务,属性代表所需的这些服务的配置。将模板部署到 AWS CloudFormation 时,您的资源及其配置的属性将按照模板中的描述进行预置。
借助 AWS CDK,您可以使用通用编程语言强制管理基础设施。您可以定义达到所需状态所需的逻辑或序列,而不仅仅是以声明方式定义所需的状态。例如,您可以使用 if
语句或条件循环确定如何使基础设施达到所需的最终状态。
使用 AWS CDK 创建的基础设施最终会被转换,或者合成到 AWS CloudFormation 模板中,然后使用 AWS CloudFormation 服务进行部署。因此,尽管 AWS CDK 提供了另一种创建基础设施的方法,您仍然可以获得 AWS CloudFormation 的好处,例如广泛的 AWS 资源配置支持和可靠的部署流程。
要了解有关 AWS CloudFormation 的更多信息,请参阅《AWS CloudFormation 用户指南》中的什么是 AWS CloudFormation?。
AWS CDK 和抽象
使用 AWS CloudFormation 时,您必须定义资源配置方式的每一个细节。这样做的好处是可以完全控制基础设施。但是,这需要您学习、理解和创建强大的模板,其中包含资源配置详细信息以及资源之间的关系,例如权限和事件驱动的交互。
使用 AWS CDK 时,您可以同样控制自己的资源配置。但是,AWS CDK 还提供了强大的抽象,可以加快和简化基础设施开发过程。例如,AWS CDK 包含提供合理默认配置的构造和为您生成样板代码的助手方法。AWS CDK 还提供供您执行基础设施管理操作的工具,例如 AWS CDK 命令行界面(AWS CDK CLI)。
了解有关核心 AWS CDK 概念的更多信息
与 AWS CDK 交互
使用 AWS CDK 时,您将主要与 AWS 构造库和 AWS CDK CLI 交互。
使用 AWS CDK 进行开发
AWS CDK 可采用受支持的任何编程语言进行编写。您可以先从 CDK 项目开始,该项目包含文件夹和文件(包括资产)的结构。在项目中,您可以创建 CDK 应用程序。在应用程序中,您可以定义堆栈,该堆栈直接代表 CloudFormation 堆栈。在堆栈中,您可以使用构造定义 AWS 资源和属性。
使用 AWS CDK 进行部署
将 CDK 应用程序部署到 AWS 环境中。在部署之前,您必须执行一次性引导以准备您的环境。
了解更多
要了解有关 AWS CDK 核心概念的更多信息,请参阅本节的主题。