LELexEdge词汇锋面
DevOps专业术语

CDK

AWS Cloud Development Kit

CDK · 用 TypeScript 写基础设施而不是 YAML

IaC云平台
CDK
定义
CDKAWS Cloud Development KitDevOps领域的专业术语CDK 让你用熟悉的编程语言(TypeScript、Python、Go 等)定义 AWS 基础设施,享受 IDE 补全、类型检查和代码复用,最终编译为 CloudFormation 模板。

最后更新:2026-03-18

什么是CDK?

CDK 让你用熟悉的编程语言(TypeScript、Python、Go 等)定义 AWS 基础设施,享受 IDE 补全、类型检查和代码复用,最终编译为 CloudFormation 模板。

  • 用编程语言替代 YAML/HCL 定义基础设施
  • 支持 TypeScript、Python、Go 等语言
  • 编译为 CloudFormation 模板部署

CDK详解

CDK 是 AWS 对「Infrastructure as Code」的另一种回答:与 Terraform 的 HCL 不同,CDK 使用通用编程语言,可以利用循环、条件、抽象等编程能力。CDK Construct 是可复用的基础设施组件,L1(低级)直接映射 CloudFormation 资源,L2(高级)提供合理默认值,L3(Pattern)封装完整架构模式。CDK 的局限是只支持 AWS。

CDK的应用场景

正式定义

用通用编程语言定义 AWS 基础设施的开源 IaC 框架

应用场景

  • AWS 基础设施的代码化管理
  • 可复用基础设施组件的封装
  • 多环境的参数化部署

常见误区

  • CDK 不是 Terraform 的替代品,CDK 只支持 AWS
  • CDK 最终生成 CloudFormation,调试时需要理解 CFN
  • CDK 的 Construct 抽象很强大但也可能隐藏复杂性

实际案例

📌 CDK Construct Hub

Construct Hub 上有数千个社区贡献的 CDK Construct,从 VPC 到完整的微服务架构都能找到可复用的组件。

CDK的参考来源

关于CDK的常见问题

CDK 和 Terraform 有什么区别
CDK 用编程语言(TS/Python/Java)定义基础设施,Terraform 用 HCL;CDK 只支持 AWS,Terraform 支持多云。
CDK 和 CloudFormation 是什么关系
CDK 最终生成 CloudFormation 模板,是 CloudFormation 的高级抽象层,用编程语言替代 YAML/JSON。